mirror of
https://github.com/curl/curl.git
synced 2026-08-24 13:03:35 +03:00
cf-socket: keep sockaddr local in the socket filters
- copy `struct Curl_addrinfo` on filter setup into context - remove `struct Curl_addrinfoi *` with `struct Curl_sockaddr_ex *` in connectdata that is set and NULLed by the socket filter - this means we have no reference to the resolver info in connectdata or its filters - trigger the CF_CTRL_CONN_INFO_UPDATE event when the complete filter chain reaches connected status - update easy handle connection information on CF_CTRL_DATA_SETUP event. Closes #10213
This commit is contained in:
parent
436d63fbb1
commit
6a8d7ef981
8 changed files with 174 additions and 140 deletions
|
|
@ -363,7 +363,7 @@ ssize_t Curl_send_plain(struct Curl_easy *data, int num,
|
|||
#if defined(MSG_FASTOPEN) && !defined(TCP_FASTOPEN_CONNECT) /* Linux */
|
||||
if(conn->bits.tcp_fastopen) {
|
||||
bytes_written = sendto(sockfd, mem, len, MSG_FASTOPEN,
|
||||
conn->ip_addr->ai_addr, conn->ip_addr->ai_addrlen);
|
||||
conn->remote_addr.addr, conn->remote_addr.addrlen);
|
||||
conn->bits.tcp_fastopen = FALSE;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue