]> git.ipfire.org Git - thirdparty/curl.git/commit
vtls: localization of state data in filters
authorStefan Eissing <stefan@eissing.org>
Tue, 22 Nov 2022 08:55:41 +0000 (09:55 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 22 Nov 2022 13:25:50 +0000 (14:25 +0100)
commitaf22c2a546ab862ab577c8d9d3609af0de178974
treef1a0c2d3c57d45da66809894997a50db840ac9e6
parenta28a80d59e8f111fa5a23bfb76c8ff148333edb0
vtls: localization of state data in filters

 - almost all backend calls pass the Curl_cfilter intance instead of
   connectdata+sockindex
 - ssl_connect_data is remove from struct connectdata and made internal
   to vtls
 - ssl_connect_data is allocated in the added filter, kept at cf->ctx

 - added function to let a ssl filter access its ssl_primary_config and
   ssl_config_data this selects the propert subfields in conn and data,
   for filters added as plain or proxy
 - adjusted all backends to use the changed api
 - adjusted all backends to access config data via the exposed
   functions, no longer using conn or data directly

cfilter renames for clear purpose:

 - methods `Curl_conn_*(data, conn, sockindex)` work on the complete
   filter chain at `sockindex` and connection `conn`.
 - methods `Curl_cf_*(cf, ...)` work on a specific Curl_cfilter
   instance.
 - methods `Curl_conn_cf()` work on/with filter instances at a
   connection.
 - rebased and resolved some naming conflicts
 - hostname validation (und session lookup) on SECONDARY use the same
   name as on FIRST (again).

new debug macros and removing connectdata from function signatures where not
needed.

adapting schannel for new Curl_read_plain paramter.

Closes #9919
48 files changed:
lib/cfilters.c
lib/cfilters.h
lib/connect.c
lib/connect.h
lib/curl_sasl.c
lib/ftp.c
lib/gopher.c
lib/http.c
lib/http2.c
lib/http_proxy.c
lib/http_proxy.h
lib/imap.c
lib/multi.c
lib/openldap.c
lib/pingpong.c
lib/pop3.c
lib/rtsp.c
lib/sendf.c
lib/smb.c
lib/smtp.c
lib/socks.c
lib/socks.h
lib/transfer.c
lib/url.c
lib/urldata.h
lib/vquic/ngtcp2.c
lib/vquic/quiche.c
lib/vssh/libssh.c
lib/vssh/libssh2.c
lib/vssh/wolfssh.c
lib/vtls/bearssl.c
lib/vtls/gskit.c
lib/vtls/gtls.c
lib/vtls/gtls.h
lib/vtls/mbedtls.c
lib/vtls/nss.c
lib/vtls/openssl.c
lib/vtls/rustls.c
lib/vtls/schannel.c
lib/vtls/schannel.h
lib/vtls/schannel_verify.c
lib/vtls/sectransp.c
lib/vtls/vtls.c
lib/vtls/vtls.h
lib/vtls/vtls_int.h
lib/vtls/wolfssl.c
lib/vtls/x509asn1.c
lib/vtls/x509asn1.h