mirror of
https://github.com/curl/curl.git
synced 2026-08-25 07:23:31 +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
|
|
@ -1010,9 +1010,9 @@ static CURLcode ftp_state_use_port(struct Curl_easy *data,
|
|||
|
||||
if(*addr != '\0') {
|
||||
/* attempt to get the address of the given interface name */
|
||||
switch(Curl_if2ip(conn->ip_addr->ai_family,
|
||||
switch(Curl_if2ip(conn->remote_addr->family,
|
||||
#ifdef ENABLE_IPV6
|
||||
Curl_ipv6_scope(conn->ip_addr->ai_addr),
|
||||
Curl_ipv6_scope(&conn->remote_addr->sa_addr),
|
||||
conn->scope_id,
|
||||
#endif
|
||||
addr, hbuf, sizeof(hbuf))) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue