The configuration of https_port when intercepting traffic currently requires both the ssl-bump and one of intercept or tproxy options to be explicitly configured.

This alters the situation slightly to make intercept/tproxy imply ssl-bump option and remove a likely self_destruct() call. The reverse case cannot be done and is left as a FATAL event due to being unable to determine which of intercept and tproxy is the right option to configure.

Amos

=== modified file 'src/cache_cf.cc'
--- src/cache_cf.cc     2013-06-05 15:02:11 +0000
+++ src/cache_cf.cc     2013-06-07 14:38:34 +0000
@@ -3840,15 +3840,16 @@
 
 #if USE_SSL
     if (strcmp(protocol, "https") == 0) {
-        /* ssl-bump on https_port configuration requires either tproxy or 
intercept, and vice versa */
+        /* ssl-bump on https_port configuration requires either tproxy or 
intercept to indicate, and vice versa */
         const bool hijacked = s->flags.isIntercepted();
         if (s->flags.tunnelSslBumping && !hijacked) {
             debugs(3, DBG_CRITICAL, "FATAL: ssl-bump on https_port requires 
tproxy/intercept which is missing.");
             self_destruct();
         }
+        /* intercept and tproxy on https_port require and imply ssl-bump to be 
enabled. */
         if (hijacked && !s->flags.tunnelSslBumping) {
-            debugs(3, DBG_CRITICAL, "FATAL: tproxy/intercept on https_port 
requires ssl-bump which is missing.");
-            self_destruct();
+            debugs(3, 2, "NOTICE: tproxy/intercept on https_port requires 
ssl-bump which is missing. Enabling ssl-bump.");
+            s->flags.tunnelSslBumping = true;
         }
     }
 #endif

Reply via email to