]> granicus.if.org Git - apache/commitdiff
ssl_util.c: add a couple explanatory comments
authorJacob Champion <jchampion@apache.org>
Tue, 18 Apr 2017 00:19:30 +0000 (00:19 +0000)
committerJacob Champion <jchampion@apache.org>
Tue, 18 Apr 2017 00:19:30 +0000 (00:19 +0000)
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

index 1a85f8bb07c5228e1d173c1434662af1c0749d18..45e8411a103ae2be3b70da4e49f117762e6a8942 100644 (file)
@@ -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);