mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
AppleM1: Update openssl to v1.1.1l
This commit is contained in:
parent
1fe12b8e8c
commit
b787656eea
990 changed files with 13406 additions and 18710 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
@ -24,12 +24,12 @@
|
|||
#include <openssl/store.h>
|
||||
#include <openssl/ui.h>
|
||||
#include <openssl/x509.h> /* For the PKCS8 stuff o.O */
|
||||
#include "internal/asn1_int.h"
|
||||
#include "internal/ctype.h"
|
||||
#include "crypto/asn1.h"
|
||||
#include "crypto/ctype.h"
|
||||
#include "internal/o_dir.h"
|
||||
#include "internal/cryptlib.h"
|
||||
#include "internal/store_int.h"
|
||||
#include "store_locl.h"
|
||||
#include "crypto/store.h"
|
||||
#include "store_local.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
# define stat _stat
|
||||
|
@ -172,7 +172,7 @@ typedef OSSL_STORE_INFO *(*file_try_decode_fn)(const char *pem_name,
|
|||
typedef int (*file_eof_fn)(void *handler_ctx);
|
||||
/*
|
||||
* The destroy_ctx function is used to destroy the handler_ctx that was
|
||||
* intiated by a repeatable try_decode fuction. This is only used when
|
||||
* initiated by a repeatable try_decode function. This is only used when
|
||||
* the handler is marked repeatable.
|
||||
*/
|
||||
typedef void (*file_destroy_ctx_fn)(void **handler_ctx);
|
||||
|
@ -370,6 +370,7 @@ static OSSL_STORE_INFO *try_decode_PKCS8Encrypted(const char *pem_name,
|
|||
mem->data = (char *)new_data;
|
||||
mem->max = mem->length = (size_t)new_data_len;
|
||||
X509_SIG_free(p8);
|
||||
p8 = NULL;
|
||||
|
||||
store_info = ossl_store_info_new_EMBEDDED(PEM_STRING_PKCS8INF, mem);
|
||||
if (store_info == NULL) {
|
||||
|
@ -429,6 +430,42 @@ static OSSL_STORE_INFO *try_decode_PrivateKey(const char *pem_name,
|
|||
}
|
||||
} else {
|
||||
int i;
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
ENGINE *curengine = ENGINE_get_first();
|
||||
|
||||
while (curengine != NULL) {
|
||||
ENGINE_PKEY_ASN1_METHS_PTR asn1meths =
|
||||
ENGINE_get_pkey_asn1_meths(curengine);
|
||||
|
||||
if (asn1meths != NULL) {
|
||||
const int *nids = NULL;
|
||||
int nids_n = asn1meths(curengine, NULL, &nids, 0);
|
||||
|
||||
for (i = 0; i < nids_n; i++) {
|
||||
EVP_PKEY_ASN1_METHOD *ameth2 = NULL;
|
||||
EVP_PKEY *tmp_pkey = NULL;
|
||||
const unsigned char *tmp_blob = blob;
|
||||
|
||||
if (!asn1meths(curengine, &ameth2, NULL, nids[i]))
|
||||
continue;
|
||||
if (ameth2 == NULL
|
||||
|| ameth2->pkey_flags & ASN1_PKEY_ALIAS)
|
||||
continue;
|
||||
|
||||
tmp_pkey = d2i_PrivateKey(ameth2->pkey_id, NULL,
|
||||
&tmp_blob, len);
|
||||
if (tmp_pkey != NULL) {
|
||||
if (pkey != NULL)
|
||||
EVP_PKEY_free(tmp_pkey);
|
||||
else
|
||||
pkey = tmp_pkey;
|
||||
(*matchcount)++;
|
||||
}
|
||||
}
|
||||
}
|
||||
curengine = ENGINE_get_next(curengine);
|
||||
}
|
||||
#endif
|
||||
|
||||
for (i = 0; i < EVP_PKEY_asn1_get_count(); i++) {
|
||||
EVP_PKEY *tmp_pkey = NULL;
|
||||
|
@ -470,7 +507,7 @@ static FILE_HANDLER PrivateKey_handler = {
|
|||
};
|
||||
|
||||
/*
|
||||
* Public key decoder. Only supports SubjectPublicKeyInfo formated keys.
|
||||
* Public key decoder. Only supports SubjectPublicKeyInfo formatted keys.
|
||||
*/
|
||||
static OSSL_STORE_INFO *try_decode_PUBKEY(const char *pem_name,
|
||||
const char *pem_header,
|
||||
|
@ -860,10 +897,10 @@ static OSSL_STORE_LOADER_CTX *file_open(const OSSL_STORE_LOADER *loader,
|
|||
if (ctx->_.dir.last_entry == NULL) {
|
||||
if (ctx->_.dir.last_errno != 0) {
|
||||
char errbuf[256];
|
||||
errno = ctx->_.dir.last_errno;
|
||||
openssl_strerror_r(errno, errbuf, sizeof(errbuf));
|
||||
OSSL_STOREerr(OSSL_STORE_F_FILE_OPEN, ERR_R_SYS_LIB);
|
||||
ERR_add_error_data(1, errbuf);
|
||||
errno = ctx->_.dir.last_errno;
|
||||
if (openssl_strerror_r(errno, errbuf, sizeof(errbuf)))
|
||||
ERR_add_error_data(1, errbuf);
|
||||
goto err;
|
||||
}
|
||||
ctx->_.dir.end_reached = 1;
|
||||
|
@ -1260,11 +1297,11 @@ static OSSL_STORE_INFO *file_load(OSSL_STORE_LOADER_CTX *ctx,
|
|||
if (!ctx->_.dir.end_reached) {
|
||||
char errbuf[256];
|
||||
assert(ctx->_.dir.last_errno != 0);
|
||||
OSSL_STOREerr(OSSL_STORE_F_FILE_LOAD, ERR_R_SYS_LIB);
|
||||
errno = ctx->_.dir.last_errno;
|
||||
ctx->errcnt++;
|
||||
openssl_strerror_r(errno, errbuf, sizeof(errbuf));
|
||||
OSSL_STOREerr(OSSL_STORE_F_FILE_LOAD, ERR_R_SYS_LIB);
|
||||
ERR_add_error_data(1, errbuf);
|
||||
if (openssl_strerror_r(errno, errbuf, sizeof(errbuf)))
|
||||
ERR_add_error_data(1, errbuf);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue