]> git.ipfire.org Git - thirdparty/squid.git/commit - src/internal.h
Crypto-NG: Use Security::PeerOptions for listening port TLS settings
authorAmos Jeffries <squid3@treenet.co.nz>
Fri, 10 Jul 2015 13:03:18 +0000 (06:03 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 10 Jul 2015 13:03:18 +0000 (06:03 -0700)
commiteaba9273ca0d18a75d12c1055b7ed12b8eb2e3df
tree835fd86b0944a144c9073ad4d285ca8409f808c0
parent4ae148ef7b7796a7f3b1aff285f22f859035f650
parent2fbb02b13607615621acc006a4b0d06669520f44
Crypto-NG: Use Security::PeerOptions for listening port TLS settings

The bulk of this patch is symbol shuffling to de-duplicate the TLS
settings storage and parsing code.

* Shuffle relevant AnyP::PortCfg settings into a Security::PeerOptions
  member object.
 - removes a lot of duplicate config parsing code.

* Remove the now obsolete and unused Ssl::OpenSSLtoSquidSSLVersion()

The actual logic changes are relatively small:

* Shuffle flags= and options= parsing code from Ssl:: to
  Security::PeerOptions and update to use Tokenizer,
 - fixes performance regression using c_str() on the stored SBuf,
 - fixes performance issue with xstrdup() for option tokens,
 - removes several calls to c-string manipulation.

* Add cachemgr 'config' report dumper of Security::PeerOptions for use
  by all directives using it to dump tls-* parameter names. The old
  parameter names are still accepted, and deprecation will follow in a
  separate patch.
 - fixes bug where cache_peer was not dumping out its SSL/TLS config
  settings at all.

* Change the tls_outgoing_options default value from "disable" to setting
  TLS/1.0 minimum version.
  - fixes squid.conf parsing error on default value "disable".

* Fix tls-min-version=1.N handling not to alter stored options= config
  string. Now updates the binary representation in parsedOptions directly.

* Expose the TLS context creation and configuration to non-OpenSSL builds.
 - fixes bug where context creation by OpenSSL failed silently.
src/Makefile.am
src/adaptation/icap/ServiceRep.cc
src/client_side.cc
src/neighbors.cc
src/ssl/PeerConnector.cc