<div dir="ltr"><div><div><div><div><div>I have a working implementation of Squid 3.5.5 with ssl-bump. When 3.5.5 is started with ssl-bump enabled all the squid and ssl_crtd processes start and Squid functions as intended when bumping ssl sites. However, when I bump Squid to 3.5.6 squid seems to start but ssl_crtd does not and Squid 3.5.6 cannot successfully bump ssl.<br><br></div>These are the config options I use for both 3.5.5 and 3.5.6.<br><br><div style="margin-left:40px">--enable-storeio="diskd,ufs,aufs" --enable-linux-netfilter \<br>--enable-removal-policies="heap,lru" --enable-delay-pools --libdir=/usr/lib/ \<br>--localstatedir=/var --with-dl --with-openssl --enable-http-violations \<br>--with-large-files --with-libcap --disable-ipv6 --with-swapdir=/var/spool/squid \<br> --enable-ssl-crtd --enable-follow-x-forwarded-for<br></div><br></div>This is the squid.conf file used for both versions.<br><br><div style="margin-left:40px">visible_hostname smoothwallu3<br><br># Uncomment the following to send debug info to /var/log/squid/cache.log<br>debug_options ALL,1 33,2 28,9<br><br># ACCESS CONTROLS<br># ----------------------------------------------------------------<br>acl localhostgreen src 10.20.20.1<br>acl localnetgreen src <a href="http://10.20.20.0/24">10.20.20.0/24</a><br><br>acl SSL_ports port 445 443 441 563<br>acl Safe_ports port 80            # http<br>acl Safe_ports port 81            # smoothwall http<br>acl Safe_ports port 21            # ftp <br>acl Safe_ports port 445 443 441 563    # https, snews<br>acl Safe_ports port 70             # gopher<br>acl Safe_ports port 210               # wais  <br>acl Safe_ports port 1025-65535        # unregistered ports<br>acl Safe_ports port 280               # http-mgmt<br>acl Safe_ports port 488               # gss-http <br>acl Safe_ports port 591               # filemaker<br>acl Safe_ports port 777               # multiling http<br><br>acl CONNECT method CONNECT<br><br># TAG: http_access<br># ----------------------------------------------------------------<br><br><br><br>http_access allow localhost<br>http_access deny !Safe_ports<br>http_access deny CONNECT !SSL_ports<br><br>http_access allow localnetgreen<br>http_access allow CONNECT localnetgreen<br><br>http_access allow localhostgreen<br>http_access allow CONNECT localhostgreen<br><br># http_port and https_port<br>#----------------------------------------------------------------------------<br><br># For forward-proxy port. Squid uses this port to serve error pages, ftp icons and communication with other proxies.<br>#----------------------------------------------------------------------------<br>http_port 3127<br><br>http_port <a href="http://10.20.20.1:800">10.20.20.1:800</a> intercept<br>https_port <a href="http://10.20.20.1:808">10.20.20.1:808</a> intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/var/smoothwall/mods/proxy/ssl_cert/squidCA.pem<br><br><br>http_port <a href="http://127.0.0.1:800">127.0.0.1:800</a> intercept<br><br>sslproxy_cert_error allow all<br>sslproxy_flags DONT_VERIFY_PEER<br>sslproxy_session_cache_size 4 MB<br><br>ssl_bump none localhostgreen<br><br>acl step1 at_step SslBump1<br>acl step2 at_step SslBump2<br>ssl_bump peek step1<br>ssl_bump bump all<br><br>sslcrtd_program /var/smoothwall/mods/proxy/libexec/ssl_crtd -s /var/smoothwall/mods/proxy/lib/ssl_db -M 4MB<br>sslcrtd_children 5<br><br>http_access deny all<br><br>cache_replacement_policy heap GDSF<br>memory_replacement_policy heap GDSF<br><br># CACHE OPTIONS<br># ----------------------------------------------------------------------------<br>cache_effective_user squid<br>cache_effective_group squid<br><br>cache_swap_high 100<br>cache_swap_low 80<br><br>cache_access_log stdio:/var/log/squid/access.log<br>cache_log /var/log/squid/cache.log<br>cache_mem 64 MB<br><br>cache_dir diskd /var/spool/squid/cache 1024 16 256<br><br>maximum_object_size 33 MB<br><br>minimum_object_size 0 KB<br><br><br>request_body_max_size 0 KB<br><br># OTHER OPTIONS<br># ----------------------------------------------------------------------------<br>#via off<br>forwarded_for off<br><br>pid_filename /var/run/squid.pid<br><br>shutdown_lifetime 30 seconds<br>icp_port 3130<br><br>half_closed_clients off<br>icap_enable on<br>icap_send_client_ip on<br>icap_send_client_username on<br>icap_client_username_encode off<br>icap_client_username_header X-Authenticated-User<br>icap_preview_enable on<br>icap_preview_size 1024<br>icap_service service_avi_req reqmod_precache icap://localhost:1344/squidclamav bypass=off<br>adaptation_access service_avi_req allow all<br>icap_service service_avi_resp respmod_precache icap://localhost:1344/squidclamav bypass=on<br>adaptation_access service_avi_resp allow all<br><br>umask 022<br><br>logfile_rotate 0<br><br>strip_query_terms off<br><br>redirect_program /usr/sbin/squidGuard<br>url_rewrite_children 5<br><br></div>And the cache.log file when starting 3.5.6 with debug options on in squid.conf<br><br><div style="margin-left:40px"><i>2015/07/24 17:15:06.230| Acl.cc(380) ~ACL: freeing ACL adaptation_access<br>2015/07/24 17:15:06.230| Acl.cc(380) ~ACL: freeing ACL adaptation_access<br>2015/07/24 17:15:06.230| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.230| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.231| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06.232| Acl.cc(380) ~ACL: freeing ACL <br>2015/07/24 17:15:06 kid1| Current Directory is /<br>2015/07/24 17:15:06 kid1| Starting Squid Cache version 3.5.6 for i586-pc-linux-gnu...<br>2015/07/24 17:15:06 kid1| Service Name: squid<br>2015/07/24 17:15:06 kid1| Process ID 2907<br>2015/07/24 17:15:06 kid1| Process Roles: worker<br>2015/07/24 17:15:06 kid1| With 1024 file descriptors available<br>2015/07/24 17:15:06 kid1| Initializing IP Cache...<br>2015/07/24 17:15:06 kid1| DNS Socket created at 0.0.0.0, FD 8<br>2015/07/24 17:15:06 kid1| Adding nameserver 127.0.0.1 from /etc/resolv.conf<br>2015/07/24 17:15:06 kid1| helperOpenServers: Starting 0/5 'squidGuard' processes<br>2015/07/24 17:15:06 kid1| helperOpenServers: No 'squidGuard' processes needed.<br>2015/07/24 17:15:06 kid1| Logfile: opening log stdio:/var/log/squid/access.log<br>2015/07/24 17:15:06 kid1| Unlinkd pipe opened on FD 15<br>2015/07/24 17:15:06 kid1| Store logging disabled<br>2015/07/24 17:15:06 kid1| Swap maxSize 1048576 + 65536 KB, estimated 85700 objects<br>2015/07/24 17:15:06 kid1| Target number of buckets: 4285<br>2015/07/24 17:15:06 kid1| Using 8192 Store buckets<br>2015/07/24 17:15:06 kid1| Max Mem  size: 65536 KB<br>2015/07/24 17:15:06 kid1| Max Swap size: 1048576 KB<br>2015/07/24 17:15:06 kid1| Rebuilding storage in /var/spool/squid/cache (dirty log)<br>2015/07/24 17:15:06 kid1| Using Least Load store dir selection<br>2015/07/24 17:15:06 kid1| Current Directory is /<br>2015/07/24 17:15:06 kid1| Finished loading MIME types and icons.<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(26) AsyncCall: The AsyncCall clientListenerConnectionOpened constructed, this=0x946d218 [call5]<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(93) ScheduleCall: StartListening.cc(59) will call clientListenerConnectionOpened(local=<a href="http://0.0.0.0:3127">0.0.0.0:3127</a> remote=[::] FD 20 flags=9, err=0, HTTP Socket port=0x946d24c) [call5]<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(26) AsyncCall: The AsyncCall clientListenerConnectionOpened constructed, this=0x946d3a8 [call7]<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(93) ScheduleCall: StartListening.cc(59) will call clientListenerConnectionOpened(local=<a href="http://10.20.20.1:800">10.20.20.1:800</a> remote=[::] FD 21 flags=41, err=0, HTTP Socket port=0x946d3dc) [call7]<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(26) AsyncCall: The AsyncCall clientListenerConnectionOpened constructed, this=0x946d510 [call9]<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(93) ScheduleCall: StartListening.cc(59) will call clientListenerConnectionOpened(local=<a href="http://127.0.0.1:800">127.0.0.1:800</a> remote=[::] FD 22 flags=41, err=0, HTTP Socket port=0x946d544) [call9]<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(26) AsyncCall: The AsyncCall clientListenerConnectionOpened constructed, this=0x946d6b0 [call11]<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(93) ScheduleCall: StartListening.cc(59) will call clientListenerConnectionOpened(local=<a href="http://10.20.20.1:808">10.20.20.1:808</a> remote=[::] FD 23 flags=41, err=0, HTTPS Socket port=0x946d6e4) [call11]<br>2015/07/24 17:15:06.578 kid1| HTCP Disabled.<br>2015/07/24 17:15:06.578 kid1| Squid plugin modules loaded: 0<br>2015/07/24 17:15:06.578 kid1| Adaptation support is on<br>2015/07/24 17:15:06.578 kid1| AsyncCallQueue.cc(55) fireNext: entering clientListenerConnectionOpened(local=<a href="http://0.0.0.0:3127">0.0.0.0:3127</a> remote=[::] FD 20 flags=9, err=0, HTTP Socket port=0x946d24c)<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(38) make: make call clientListenerConnectionOpened [call5]<br>2015/07/24 17:15:06.578 kid1| Accepting HTTP Socket connections at local=<a href="http://0.0.0.0:3127">0.0.0.0:3127</a> remote=[::] FD 20 flags=9<br>2015/07/24 17:15:06.578 kid1| AsyncCallQueue.cc(57) fireNext: leaving clientListenerConnectionOpened(local=<a href="http://0.0.0.0:3127">0.0.0.0:3127</a> remote=[::] FD 20 flags=9, err=0, HTTP Socket port=0x946d24c)<br>2015/07/24 17:15:06.578 kid1| AsyncCallQueue.cc(55) fireNext: entering clientListenerConnectionOpened(local=<a href="http://10.20.20.1:800">10.20.20.1:800</a> remote=[::] FD 21 flags=41, err=0, HTTP Socket port=0x946d3dc)<br>2015/07/24 17:15:06.578 kid1| AsyncCall.cc(38) make: make call clientListenerConnectionOpened [call7]<br>2015/07/24 17:15:06.578 kid1| Accepting NAT intercepted HTTP Socket connections at local=<a href="http://10.20.20.1:800">10.20.20.1:800</a> remote=[::] FD 21 flags=41<br>2015/07/24 17:15:06.578 kid1| AsyncCallQueue.cc(57) fireNext: leaving clientListenerConnectionOpened(local=<a href="http://10.20.20.1:800">10.20.20.1:800</a> remote=[::] FD 21 flags=41, err=0, HTTP Socket port=0x946d3dc)<br>2015/07/24 17:15:06.579 kid1| AsyncCallQueue.cc(55) fireNext: entering clientListenerConnectionOpened(local=<a href="http://127.0.0.1:800">127.0.0.1:800</a> remote=[::] FD 22 flags=41, err=0, HTTP Socket port=0x946d544)<br>2015/07/24 17:15:06.579 kid1| AsyncCall.cc(38) make: make call clientListenerConnectionOpened [call9]<br>2015/07/24 17:15:06.579 kid1| Accepting NAT intercepted HTTP Socket connections at local=<a href="http://127.0.0.1:800">127.0.0.1:800</a> remote=[::] FD 22 flags=41<br>2015/07/24 17:15:06.579 kid1| AsyncCallQueue.cc(57) fireNext: leaving clientListenerConnectionOpened(local=<a href="http://127.0.0.1:800">127.0.0.1:800</a> remote=[::] FD 22 flags=41, err=0, HTTP Socket port=0x946d544)<br>2015/07/24 17:15:06.579 kid1| AsyncCallQueue.cc(55) fireNext: entering clientListenerConnectionOpened(local=<a href="http://10.20.20.1:808">10.20.20.1:808</a> remote=[::] FD 23 flags=41, err=0, HTTPS Socket port=0x946d6e4)<br>2015/07/24 17:15:06.579 kid1| AsyncCall.cc(38) make: make call clientListenerConnectionOpened [call11]<br>2015/07/24 17:15:06.579 kid1| Accepting NAT intercepted SSL bumped HTTPS Socket connections at local=<a href="http://10.20.20.1:808">10.20.20.1:808</a> remote=[::] FD 23 flags=41<br>2015/07/24 17:15:06.579 kid1| AsyncCallQueue.cc(57) fireNext: leaving clientListenerConnectionOpened(local=<a href="http://10.20.20.1:808">10.20.20.1:808</a> remote=[::] FD 23 flags=41, err=0, HTTPS Socket port=0x946d6e4)<br>2015/07/24 17:15:06.579 kid1| Accepting ICP messages on <a href="http://0.0.0.0:3130">0.0.0.0:3130</a><br>2015/07/24 17:15:06.579 kid1| Sending ICP messages from <a href="http://0.0.0.0:3130">0.0.0.0:3130</a><br>2015/07/24 17:15:06.579 kid1| Done reading /var/spool/squid/cache swaplog (12 entries)<br>2015/07/24 17:15:06.579 kid1| Finished rebuilding storage from disk.<br>2015/07/24 17:15:06.579 kid1|        12 Entries scanned<br>2015/07/24 17:15:06.579 kid1|         0 Invalid entries.<br>2015/07/24 17:15:06.579 kid1|         0 With invalid flags.<br>2015/07/24 17:15:06.579 kid1|        12 Objects loaded.<br>2015/07/24 17:15:06.579 kid1|         0 Objects expired.<br>2015/07/24 17:15:06.579 kid1|         0 Objects cancelled.<br>2015/07/24 17:15:06.579 kid1|         0 Duplicate URLs purged.<br>2015/07/24 17:15:06.579 kid1|         0 Swapfile clashes avoided.<br>2015/07/24 17:15:06.579 kid1|   Took 0.06 seconds (210.47 objects/sec).<br>2015/07/24 17:15:06.579 kid1| Beginning Validation Procedure<br>2015/07/24 17:15:06.579 kid1|   Completed Validation Procedure<br>2015/07/24 17:15:06.579 kid1|   Validated 12 Entries<br>2015/07/24 17:15:06.579 kid1|   store_swap_size = 1444.00 KB<br>2015/07/24 17:15:07 kid1| storeLateRelease: released 0 objects<br></i></div><br></div>Any help or suggestions greatly appreciated.<br><br></div>Regards<br><br></div>Stan<br><div><div><div><div><br></div></div></div></div></div>