From d06424f11601e0389ed3d0b5d8f841a1a4d50a4f Mon Sep 17 00:00:00 2001 From: Jacob Champion Date: Tue, 18 Apr 2017 00:19:30 +0000 Subject: [PATCH] ssl_util.c: add a couple explanatory comments Mark the things that are busted. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-openssl-threadid@1791731 13f79535-47bb-0310-9956-ffa450edef68 --- modules/ssl/ssl_util.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/ssl/ssl_util.c b/modules/ssl/ssl_util.c index 1a85f8bb07..45e8411a10 100644 --- a/modules/ssl/ssl_util.c +++ b/modules/ssl/ssl_util.c @@ -389,6 +389,10 @@ static unsigned long ssl_util_thr_id_internal(void) static void ssl_util_thr_id(CRYPTO_THREADID *id) { + /* XXX Ideally we would be using the _set_pointer() callback on platforms + * that have a pointer-based thread "identity". But this entire API is + * fraught with problems (see PR60947) and has been removed completely in + * OpenSSL 1.1.0, so I'm not too invested in fixing it right now. */ CRYPTO_THREADID_set_numeric(id, ssl_util_thr_id_internal()); } @@ -404,6 +408,7 @@ static unsigned long ssl_util_thr_id(void) static apr_status_t ssl_util_thr_id_cleanup(void *old) { #if OPENSSL_VERSION_NUMBER >= 0x10000000L + /* XXX This does nothing. The new-style THREADID callback is write-once. */ CRYPTO_THREADID_set_callback(old); #else CRYPTO_set_id_callback(old); -- 2.50.1