aboutsummaryrefslogtreecommitdiff
path: root/www/xshttpd-devel/files/patch-src_ssl.c
blob: 2729e75e2df785f5e21a6fcb3d4ce7f844397a85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- src/ssl.c.orig	2015-09-05 20:50:21 UTC
+++ src/ssl.c
@@ -538,7 +538,11 @@ sslverify_callback(int preverify_ok, X509_STORE_CTX *x
 	X509_NAME	*xsname;
 	char		*strname;
 	int		rc, ovector[OVSIZE];
+# if OPENSSL_VERSION_NUMBER < 0x10100005L
 	X509		*xs = x509_ctx->cert;
+# else
+	X509		*xs = X509_STORE_CTX_get0_cert(x509_ctx);
+# endif
 
 	/* match subject */
 	if (cursock->sslpcresdn)
@@ -937,11 +941,12 @@ loadssl(struct socket_config * const lsock, struct ssl
 			unsigned char	sign[EVP_PKEY_size(evpkey)];
 			unsigned int	siglen = 0;
 
-			EVP_MD_CTX mdctx;
-			EVP_MD_CTX_init(&mdctx);
-			EVP_SignInit(&mdctx, EVP_sha384());
-			EVP_SignUpdate(&mdctx, ticketkey, strlen(ticketkey));
-			EVP_SignFinal(&mdctx, sign, &siglen, evpkey);
+			EVP_MD_CTX *mdctx;
+			mdctx = EVP_MD_CTX_create();
+			EVP_SignInit(mdctx, EVP_sha384());
+			EVP_SignUpdate(mdctx, ticketkey, strlen(ticketkey));
+			EVP_SignFinal(mdctx, sign, &siglen, evpkey);
+			EVP_MD_CTX_destroy(mdctx);
 
 			/* The first 48 bytes are used:
 			 * - 16 bytes ticket key name