From: Daniel Stenberg Date: Tue, 2 Nov 2021 08:10:12 +0000 (+0100) Subject: Curl_updateconninfo: store addresses for QUIC connections too X-Git-Tag: curl-7_80_0~26 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f5ee9cf5baaaeace5a05475553ea8142d9eca123;p=thirdparty%2Fcurl.git Curl_updateconninfo: store addresses for QUIC connections too So that CURLINFO_PRIMARY_IP etc work for HTTP/3 like for other HTTP versions. Reported-by: Jerome Mao Fixes #7939 Closes #7944 --- diff --git a/lib/connect.c b/lib/connect.c index 94490805ad..af60947314 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -744,17 +744,15 @@ void Curl_conninfo_local(struct Curl_easy *data, curl_socket_t sockfd, void Curl_updateconninfo(struct Curl_easy *data, struct connectdata *conn, curl_socket_t sockfd) { - /* 'local_ip' and 'local_port' get filled with local's numerical - ip address and port number whenever an outgoing connection is - **established** from the primary socket to a remote address. */ + /* 'local_ip' and 'local_port' get filled with local's numerical ip address + and port number whenever an outgoing connection is **established** from + the primary socket to a remote address. */ char local_ip[MAX_IPADR_LEN] = ""; int local_port = -1; - if(conn->transport == TRNSPRT_TCP) { - if(!conn->bits.reuse && !conn->bits.tcp_fastopen) - Curl_conninfo_remote(data, conn, sockfd); - Curl_conninfo_local(data, sockfd, local_ip, &local_port); - } /* end of TCP-only section */ + if(!conn->bits.reuse && !conn->bits.tcp_fastopen) + Curl_conninfo_remote(data, conn, sockfd); + Curl_conninfo_local(data, sockfd, local_ip, &local_port); /* persist connection info in session handle */ Curl_persistconninfo(data, conn, local_ip, local_port);