]> git.ipfire.org Git - thirdparty/squid.git/commit
Crypto-NG: initial GnuTLS support for encrypted server connections
authorAmos Jeffries <squid3@treenet.co.nz>
Sun, 5 Feb 2017 05:57:32 +0000 (18:57 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 5 Feb 2017 05:57:32 +0000 (18:57 +1300)
commit3f5b28fe18637452647d7000a0ac21103f8b660e
tree55ec96fd577d80a2ad0c95cbe8c36fe7620c220e
parent4a5d9ea503e0760dbc9b93221a85ddcd22d0332e
parentdfe70a1b18a237a6a619d44470cc042d2b94fced
Crypto-NG: initial GnuTLS support for encrypted server connections

Make significant changes to how the options= config settings are
handled internally since GnuTLS does not expose the priority_t
implementation details like OpenSSL. They are also applied to the
session object instead of to the context.

The Security::SessionPointer is converted to std::shared_ptr. This is
required because GnuTLS does not expose the locking like OpenSSL. Since
we store the SessionPointer to fde::Table::ssl we can always access it
from there one way or another and there is actually no need for OpenSSL
locking sessions now.

Most of the remaining session lifecycle logic is moved to
security/Session.* and given a generic API. Only some client-connection
and SSL-Bump related setup remains in ssl/.

A fair amount more debug is added along with some text changes doing
s/SSL/TLS/ in code comments and debug outputs.
src/Makefile.am
src/cf.data.pre
src/client_side.cc
src/comm.cc
src/ssl/bio.cc
src/ssl/bio.h
src/ssl/support.cc