mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-05 02:37:17 +08:00
115 lines
4.5 KiB
Diff
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);
|
|
}
|