APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2004/01/12 14:37:47 $]
+Last modified at [$Date: 2004/01/12 14:44:46 $]
Release:
32/64 bit type mismatches in the file size.
server/core.c r1.255, r1.256
+1: bnicholes, nd
-
- * mod_ssl: Fix ssl_var_lookup for non-SSL requests, and logging of SSL
- variables from non-SSL connections.
- http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_vars.c?r1=1.24&r2=1.25
- http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_vars.c?r1=1.26&r2=1.28
- PR: 22741, 20852 (<= not 23956 as the commit message says)
- +1: jorton, nd, trawick
* mod_ssl: Determine library version string at run-time rather than compile-time.
http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/ssl/ssl_engine_vars.c?r1=1.25&r2=1.26
return;
}
+/* This function must remain safe to use for a non-SSL connection. */
char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, char *var)
{
- SSLConnRec *sslconn;
SSLModConfigRec *mc = myModConfig(s);
char *result;
BOOL resdup;
* Connection stuff
*/
if (result == NULL && c != NULL) {
- sslconn = myConnConfig(c);
+ SSLConnRec *sslconn = myConnConfig(c);
if (strcEQ(var, "REMOTE_ADDR"))
result = c->remote_ip;
else if (strcEQ(var, "REMOTE_USER"))
result = r->user;
else if (strcEQ(var, "AUTH_TYPE"))
result = r->ap_auth_type;
- else if (strlen(var) > 4 && strcEQn(var, "SSL_", 4))
+ else if (strlen(var) > 4 && strcEQn(var, "SSL_", 4)
+ && sslconn && sslconn->ssl)
result = ssl_var_lookup_ssl(p, c, var+4);
else if (strcEQ(var, "HTTPS")) {
- if (sslconn->ssl != NULL)
+ if (sslconn && sslconn->ssl)
result = "on";
else
result = "off";
SSLConnRec *sslconn = myConnConfig(r->connection);
char *result;
- if (sslconn->ssl == NULL)
+ if (sslconn == NULL || sslconn->ssl == NULL)
return NULL;
result = NULL;
if (strEQ(a, "version"))
*/
static const char *ssl_var_log_handler_x(request_rec *r, char *a)
{
- SSLConnRec *sslconn = myConnConfig(r->connection);
char *result;
- result = NULL;
- if (sslconn && sslconn->ssl)
- result = ssl_var_lookup(r->pool, r->server, r->connection, r, a);
+ result = ssl_var_lookup(r->pool, r->server, r->connection, r, a);
if (result != NULL && result[0] == NUL)
result = NULL;
return result;