1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 16:18:48 -05:00

openssl: make build with 1.1.0 again

synced with OpenSSL git master commit cc06906707
This commit is contained in:
Daniel Stenberg 2016-08-25 12:27:31 +02:00
parent a032a6f2bb
commit 9cb851e371

View File

@ -115,6 +115,13 @@
#define HAVE_X509_GET0_EXTENSIONS 1 /* added in 1.1.0 -pre1 */ #define HAVE_X509_GET0_EXTENSIONS 1 /* added in 1.1.0 -pre1 */
#define HAVE_OPAQUE_EVP_PKEY 1 /* since 1.1.0 -pre3 */ #define HAVE_OPAQUE_EVP_PKEY 1 /* since 1.1.0 -pre3 */
#define HAVE_OPAQUE_RSA_DSA_DH 1 /* since 1.1.0 -pre5 */ #define HAVE_OPAQUE_RSA_DSA_DH 1 /* since 1.1.0 -pre5 */
#define CONST_EXTS const
#define CONST_ASN1_BIT_STRING const
#else
/* For OpenSSL before 1.1.0 */
#define ASN1_STRING_get0_data(x) ASN1_STRING_data(x)
#define CONST_EXTS /* nope */
#define CONST_ASN1_BIT_STRING /* nope */
#endif #endif
#if (OPENSSL_VERSION_NUMBER >= 0x1000200fL) && /* 1.0.2 or later */ \ #if (OPENSSL_VERSION_NUMBER >= 0x1000200fL) && /* 1.0.2 or later */ \
@ -1124,7 +1131,7 @@ static CURLcode verifyhost(struct connectdata *conn, X509 *server_cert)
/* only check alternatives of the same type the target is */ /* only check alternatives of the same type the target is */
if(check->type == target) { if(check->type == target) {
/* get data and length */ /* get data and length */
const char *altptr = (char *)ASN1_STRING_data(check->d.ia5); const char *altptr = (char *)ASN1_STRING_get0_data(check->d.ia5);
size_t altlen = (size_t) ASN1_STRING_length(check->d.ia5); size_t altlen = (size_t) ASN1_STRING_length(check->d.ia5);
switch(target) { switch(target) {
@ -1212,7 +1219,7 @@ static CURLcode verifyhost(struct connectdata *conn, X509 *server_cert)
if(j >= 0) { if(j >= 0) {
peer_CN = malloc(j+1); peer_CN = malloc(j+1);
if(peer_CN) { if(peer_CN) {
memcpy(peer_CN, ASN1_STRING_data(tmp), j); memcpy(peer_CN, ASN1_STRING_get0_data(tmp), j);
peer_CN[j] = '\0'; peer_CN[j] = '\0';
} }
} }
@ -2306,7 +2313,7 @@ do { \
static int X509V3_ext(struct Curl_easy *data, static int X509V3_ext(struct Curl_easy *data,
int certnum, int certnum,
STACK_OF(X509_EXTENSION) *exts) CONST_EXTS STACK_OF(X509_EXTENSION) *exts)
{ {
int i; int i;
size_t j; size_t j;
@ -2388,7 +2395,7 @@ static CURLcode get_cert_chain(struct connectdata *conn,
EVP_PKEY *pubkey=NULL; EVP_PKEY *pubkey=NULL;
int j; int j;
char *ptr; char *ptr;
ASN1_BIT_STRING *psig = NULL; CONST_ASN1_BIT_STRING ASN1_BIT_STRING *psig = NULL;
X509_NAME_print_ex(mem, X509_get_subject_name(x), 0, XN_FLAG_ONELINE); X509_NAME_print_ex(mem, X509_get_subject_name(x), 0, XN_FLAG_ONELINE);
push_certinfo("Subject", i); push_certinfo("Subject", i);
@ -2408,7 +2415,7 @@ static CURLcode get_cert_chain(struct connectdata *conn,
#if defined(HAVE_X509_GET0_SIGNATURE) && defined(HAVE_X509_GET0_EXTENSIONS) #if defined(HAVE_X509_GET0_SIGNATURE) && defined(HAVE_X509_GET0_EXTENSIONS)
{ {
X509_ALGOR *palg = NULL; const X509_ALGOR *palg = NULL;
ASN1_STRING *a = ASN1_STRING_new(); ASN1_STRING *a = ASN1_STRING_new();
if(a) { if(a) {
X509_get0_signature(&psig, &palg, x); X509_get0_signature(&psig, &palg, x);