]> granicus.if.org Git - apache/commitdiff
avoid a couple of calls to ssl_util_vhostid() and apr_psprintf()
authorDoug MacEachern <dougm@apache.org>
Thu, 22 Nov 2001 02:44:35 +0000 (02:44 +0000)
committerDoug MacEachern <dougm@apache.org>
Thu, 22 Nov 2001 02:44:35 +0000 (02:44 +0000)
unless loglevel >= SSL_LOG_INFO
PR:
Obtained from:
Submitted by:
Reviewed by:

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92122 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/mod_ssl.c
modules/ssl/mod_ssl.h
modules/ssl/ssl_engine_kernel.c

index d494cfa238c98f1f8c52bfd459e6372023c15182..d30871ecaed7d45fe193d9783a93fd4533681765 100644 (file)
@@ -229,6 +229,7 @@ static int ssl_hook_pre_connection(conn_rec *c)
      * Create SSL context
      */
     myConnConfigSet(c, sslconn);
+    sslconn->log_level = sc->nLogLevel;
 
     /*
      * Immediately stop processing if SSL is disabled for this connection
index e9be23bde6e6dd501a24c3a8fd13d3e7dd8a6673..9634499049b9d10d8ce658f8479210dc7d6d0753 100644 (file)
@@ -459,8 +459,11 @@ typedef struct {
     const char *verify_info;
     const char *verify_error;
     int verify_depth;
+    int log_level; /* for avoiding expensive logging */
 } SSLConnRec;
 
+#define SSLConnLogApplies(sslconn, level) (sslconn->log_level >= level)
+
 typedef struct {
     apr_pool_t     *pPool;
     BOOL            bFixed;
index 697892bb05c6d1aa29273502e1b4abb2366c3a47..bb8bd104b704c72c337a6c387ca1d8248b219a84 100644 (file)
@@ -146,10 +146,14 @@ apr_status_t ssl_hook_CloseConnection(SSLFilterRec *filter)
     SSL_smart_shutdown(ssl);
 
     /* and finally log the fact that we've closed the connection */
-    ssl_log(conn->base_server, SSL_LOG_INFO,
-            "Connection to child %d closed with %s shutdown (server %s, client %s)",
-            conn->id, cpType, ssl_util_vhostid(conn->pool, conn->base_server),
-            conn->remote_ip != NULL ? conn->remote_ip : "unknown");
+    if (SSLConnLogApplies(sslconn, SSL_LOG_INFO)) {
+        ssl_log(conn->base_server, SSL_LOG_INFO,
+                "Connection to child %d closed with %s shutdown"
+                "(server %s, client %s)",
+                conn->id, cpType,
+                ssl_util_vhostid(conn->pool, conn->base_server),
+                conn->remote_ip != NULL ? conn->remote_ip : "unknown");
+    }
 
     /* deallocate the SSL connection */
     SSL_free(ssl);
@@ -242,7 +246,7 @@ int ssl_hook_Translate(request_rec *r)
     /*
      * Log information about incoming HTTPS requests
      */
-    if (ap_is_initial_req(r))
+    if (ap_is_initial_req(r) && SSLConnLogApplies(sslconn, SSL_LOG_INFO)) {
         ssl_log(r->server, SSL_LOG_INFO,
                 "%s HTTPS request received for child %d (server %s)",
                 r->connection->keepalives <= 0 ?
@@ -251,6 +255,7 @@ int ssl_hook_Translate(request_rec *r)
                                  r->connection->keepalives+1),
                 r->connection->id,
                 ssl_util_vhostid(r->pool, r->server));
+    }
 
     /* SetEnvIf ssl-*-shutdown flags can only be per-server,
      * so they won't change across keepalive requests