Change #266356
| Category | None |
| Changed by | Stefan Eissing <stefan@eissing.org> |
| Changed at | Tue 05 May 2026 16:22:11 |
| Repository | https://api.github.com/repos/curl/curl |
| Project | curl/curl |
| Branch | master |
| Revision | bc40e09f63889a8bc14fa8f7221921eb5b4a559e |
Comments
lib: introduce Curl_peer `struct Curl_peer` keeps information about a communication endpoint together. It will replace `conn->host` and `conn->conn_to_host` and proxyinfo host. It will also become part of `struct ssl_peer`. It has a reference counter, so an instance can be shared between connections and filters. Elminiates `conn->host` and `conn->connect_to_host`, used in the proxyinfo structures. Passed to DNS resolution and socks filters, etc. Pass peer to http proxy and socks tunnel filters. Use peer in dns filter and resolving. Make `Curl_peer` a member in the `struct ssl_peer`. Add `docs/internals/PEERS.md` for documentation. Closes #21472
Changed files
- docs/Makefile.am
- docs/internals/PEERS.md
- lib/Makefile.inc
- lib/cf-dns.c
- lib/cf-dns.h
- lib/cf-h1-proxy.c
- lib/cf-h1-proxy.h
- lib/cf-h2-proxy.c
- lib/cf-h2-proxy.h
- lib/cf-haproxy.c
- lib/cf-ip-happy.c
- lib/cf-socket.c
- lib/cfilters.c
- lib/cfilters.h
- lib/connect.c
- lib/connect.h
- lib/curl_addrinfo.c
- lib/curl_addrinfo.h
- lib/curl_sasl.c
- lib/ftp.c
- lib/hostip.c
- lib/hostip.h
- lib/hsts.c
- lib/hsts.h
- lib/http.c
- lib/http2.c
- lib/http_aws_sigv4.c
- lib/http_negotiate.c
- lib/http_ntlm.c
- lib/http_proxy.c
- lib/http_proxy.h
- lib/httpsrr.c
- lib/idn.c
- lib/idn.h
- lib/ldap.c
- lib/openldap.c
- lib/peer.c
- lib/peer.h
- lib/protocol.c
- lib/protocol.h
- lib/rtsp.c
- lib/smb.c
- lib/socks.c
- lib/socks.h
- lib/socks_gssapi.c
- lib/socks_sspi.c
- lib/url.c
- lib/url.h
- lib/urldata.h
- lib/vauth/digest.c
- lib/vauth/digest_sspi.c
- lib/vauth/vauth.c
- lib/vquic/vquic-tls.c
- lib/vssh/libssh.c
- lib/vssh/libssh2.c
- lib/vtls/apple.c
- lib/vtls/gtls.c
- lib/vtls/mbedtls.c
- lib/vtls/openssl.c
- lib/vtls/rustls.c
- lib/vtls/schannel.c
- lib/vtls/schannel_verify.c
- lib/vtls/vtls.c
- lib/vtls/vtls.h
- lib/vtls/vtls_scache.c
- lib/vtls/wolfssl.c
- scripts/schemetable.c