From: Jacob Champion Date: Tue, 18 Apr 2017 00:19:30 +0000 (+0000) Subject: ssl_util.c: add a couple explanatory comments X-Git-Tag: 2.5.0-alpha~465^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d06424f11601e0389ed3d0b5d8f841a1a4d50a4f;p=thirdparty%2Fapache%2Fhttpd.git 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 --- diff --git a/modules/ssl/ssl_util.c b/modules/ssl/ssl_util.c index 1a85f8bb07c..45e8411a103 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);