core/virtuoso/openssl-1.0.patch
Jan Mette 7af1af010c
2010-04-06 19:23:26 +00:00

115 lines
4.5 KiB
Diff

diff -up virtuoso-opensource-5.0.11/libsrc/Dk/Dkernel.c.openssl virtuoso-opensource-5.0.11/libsrc/Dk/Dkernel.c
--- virtuoso-opensource-5.0.11/libsrc/Dk/Dkernel.c.openssl 2009-04-17 22:07:28.000000000 +0200
+++ virtuoso-opensource-5.0.11/libsrc/Dk/Dkernel.c 2009-08-26 16:03:23.000000000 +0200
@@ -4798,7 +4798,11 @@ dk_ssl_free (void *old)
static void
ssl_server_init ()
{
+#if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
+ const SSL_METHOD *ssl_server_method = NULL;
+#else
SSL_METHOD *ssl_server_method = NULL;
+#endif
unsigned char tmp[1024];
#ifndef NO_THREAD
char err_buf[1024];
@@ -4888,12 +4892,12 @@ ssl_server_init ()
SSL_CTX_set_session_id_context (ssl_server_ctx, (unsigned char *) &session_id_context, sizeof session_id_context);
skCAList = SSL_CTX_get_client_CA_list (ssl_server_ctx);
- if (sk_num ((STACK *) skCAList) == 0)
+ if (sk_X509_NAME_num (skCAList) == 0)
log_warning ("ODBC X509 Client authentication requested but no CA known for verification");
- for (i = 0; i < sk_num ((STACK *) skCAList); i++)
+ for (i = 0; i < sk_X509_NAME_num (skCAList); i++)
{
char ca_buf[1024];
- X509_NAME *ca_name = (X509_NAME *) sk_value ((STACK *) skCAList, i);
+ X509_NAME *ca_name = (X509_NAME *) sk_X509_NAME_value (skCAList, i);
if (X509_NAME_oneline (ca_name, ca_buf, sizeof (ca_buf)))
log_debug ("ODBC Server Using X509 Client CA %s", ca_buf);
}
@@ -5058,7 +5062,7 @@ ssl_setup:
if (ca && ca[0] != 0)
{
- sk_pop_free ((STACK *) ca_list, (void (*)(void *)) X509_free);
+ sk_X509_pop_free (ca_list, X509_free);
ca_list = NULL;
ca_list = PEM_load_certs (ca, passwd);
}
@@ -5067,30 +5071,30 @@ ssl_setup:
{
X509_free (cert);
EVP_PKEY_free (pkey);
- sk_pop_free ((STACK *) ca_list, (void (*)(void *)) X509_free);
+ sk_X509_pop_free (ca_list, X509_free);
return 0;
}
EVP_PKEY_free (pkey);
if (!SSL_use_certificate (ssl, cert))
{
X509_free (cert);
- sk_pop_free ((STACK *) ca_list, (void (*)(void *)) X509_free);
+ sk_X509_pop_free (ca_list, X509_free);
return 0;
}
X509_free (cert);
if (!SSL_check_private_key (ssl))
{
- sk_pop_free ((STACK *) ca_list, (void (*)(void *)) X509_free);
+ sk_X509_pop_free (ca_list, X509_free);
return 0;
}
- for (i = 0; i < sk_num ((STACK *) ca_list); i++)
+ for (i = 0; i < sk_X509_num (ca_list); i++)
{
- X509 *ca = (X509 *) sk_value ((STACK *) ca_list, i);
+ X509 *ca = sk_X509_value (ca_list, i);
SSL_add_client_CA (ssl, ca);
X509_STORE_add_cert (SSL_CTX_get_cert_store (ssl_ctx), ca);
}
- sk_pop_free ((STACK *) ca_list, (void (*)(void *)) X509_free);
+ sk_X509_pop_free (ca_list, X509_free);
return 1;
}
diff -up virtuoso-opensource-5.0.11/libsrc/Wi/http.c.openssl virtuoso-opensource-5.0.11/libsrc/Wi/http.c
--- virtuoso-opensource-5.0.11/libsrc/Wi/http.c.openssl 2009-04-19 23:48:56.000000000 +0200
+++ virtuoso-opensource-5.0.11/libsrc/Wi/http.c 2009-08-26 16:28:03.000000000 +0200
@@ -7601,13 +7601,13 @@ http_set_ssl_listen (dk_session_t * list
SSL_CTX_set_client_CA_list (ssl_ctx, skCAList);
skCAList = SSL_CTX_get_client_CA_list(ssl_ctx);
- if (sk_num((STACK *) skCAList) == 0)
+ if (sk_X509_NAME_num(skCAList) == 0)
log_warning ("HTTPS Client authentication requested but no CA known for verification");
- for (i = 0; i < sk_num((STACK *) skCAList); i++)
+ for (i = 0; i < sk_X509_NAME_num(skCAList); i++)
{
char ca_buf[1024];
- X509_NAME *ca_name = (X509_NAME *) sk_value ((STACK *) skCAList, i);
+ X509_NAME *ca_name = sk_X509_NAME_value (skCAList, i);
if (X509_NAME_oneline (ca_name, ca_buf, sizeof (ca_buf)))
log_debug ("HTTPS Using X509 Client CA %s", ca_buf);
}
@@ -9697,13 +9697,13 @@ http_init_part_two ()
SSL_CTX_set_client_CA_list (ssl_ctx, skCAList);
skCAList = SSL_CTX_get_client_CA_list (ssl_ctx);
- if (sk_num((STACK *) skCAList) == 0)
+ if (sk_X509_NAME_num(skCAList) == 0)
log_warning ("HTTPS Client authentication requested but no CA known for verification");
- for (i = 0; i < sk_num((STACK *) skCAList); i++)
+ for (i = 0; i < sk_X509_NAME_num(skCAList); i++)
{
char ca_buf[1024];
- X509_NAME *ca_name = (X509_NAME *) sk_value ((STACK *) skCAList, i);
+ X509_NAME *ca_name = sk_X509_NAME_value (skCAList, i);
if (X509_NAME_oneline (ca_name, ca_buf, sizeof (ca_buf)))
log_debug ("HTTPS Using X509 Client CA %s", ca_buf);
}