summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Champion <jchampion@apache.org>2017-04-18 00:19:34 +0000
committerJacob Champion <jchampion@apache.org>2017-04-18 00:19:34 +0000
commite8c348af4a3ba893cbf20231c6e5a29bae170aee (patch)
treecbb834ad600e77f528ada71bf8c6e0bec6efaadd
parent7b2bdcea91c8db88f572bfb495619356ed9a8ed5 (diff)
downloadhttpd-e8c348af4a3ba893cbf20231c6e5a29bae170aee.tar.gz
PR60947: try to warn affected users...
...but at the moment, this won't actually get logged unless you're running in debug mode, due to an unrelated bug (PR60999). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/trunk-openssl-threadid@1791733 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--modules/ssl/ssl_util.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/ssl/ssl_util.c b/modules/ssl/ssl_util.c
index 488df0e102..1ae93acd19 100644
--- a/modules/ssl/ssl_util.c
+++ b/modules/ssl/ssl_util.c
@@ -442,6 +442,16 @@ void ssl_util_thread_id_setup(apr_pool_t *p)
* better not get loaded into a different address during a restart. See
* PR60947. */
CRYPTO_THREADID_set_callback(ssl_util_thr_id);
+
+ if (CRYPTO_THREADID_get_callback() != ssl_util_thr_id) {
+ /* XXX Unfortunately this doesn't seem to get logged unless you're
+ * running in one-process mode, due to PR60999. */
+ ap_log_perror(APLOG_MARK, APLOG_CRIT, 0, p, APLOGNO()
+ "OpenSSL's THREADID callback was already set to another address, "
+ "and the server is probably going to crash. See bug #60947 for "
+ "more details. You may need to recompile or upgrade either OpenSSL "
+ "or httpd.");
+ }
#endif
apr_pool_cleanup_register(p, NULL, ssl_util_thr_id_cleanup,