Looking at the scope of all these static calls, I really believe the
patch is this simple (process->pool survives the entire httpd);
Index: ssl_engine_vars.c
===================================================================
--- ssl_engine_vars.c (revision 574494)
+++ ssl_engine_vars.c (working copy)
@@ -190,7 +190,7 @@
*/
if (result == NULL) {
if (strlen(var) > 12 && strcEQn(var, "SSL_VERSION_", 12))
- result = ssl_var_lookup_ssl_version(p, var+12);
+ result = ssl_var_lookup_ssl_version(s->process->pool, var+12);
else if (strcEQ(var, "SERVER_SOFTWARE"))
result = ap_get_server_banner();
else if (strcEQ(var, "API_VERSION")) {
@@ -262,7 +262,8 @@
ssl = sslconn->ssl;
if (strlen(var) > 8 && strcEQn(var, "VERSION_", 8)) {
- result = ssl_var_lookup_ssl_version(p, var+8);
+ result = ssl_var_lookup_ssl_version(c->base_server->process->pool,
+ var+8);
}
else if (ssl != NULL && strcEQ(var, "PROTOCOL")) {
result = (char *)SSL_get_version(ssl);