[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnurl] 378/411: vquic/ngtcp2.h: define local_addr as sockaddr_storage
From: |
gnunet |
Subject: |
[gnurl] 378/411: vquic/ngtcp2.h: define local_addr as sockaddr_storage |
Date: |
Wed, 13 Jan 2021 01:23:13 +0100 |
This is an automated email from the git hooks/post-receive script.
nikita pushed a commit to branch master
in repository gnurl.
commit 0cbd5d5c4f150be7f802ec8898a37445d258cb45
Author: Daiki Ueno <dueno@redhat.com>
AuthorDate: Thu Nov 26 09:37:03 2020 +0100
vquic/ngtcp2.h: define local_addr as sockaddr_storage
This field needs to be wide enough to hold sockaddr_in6 when
connecting via IPv6. Otherwise, ngtcp2_conn_read_pkt will drop the
packets because of the address mismatch:
I00000022 [...] con ignore packet from unknown path
We can safely assume that struct sockaddr_storage is available, as it
is used in the public interface of ngtcp2.
Closes #6250
---
lib/vquic/ngtcp2.c | 7 ++++---
lib/vquic/ngtcp2.h | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/lib/vquic/ngtcp2.c b/lib/vquic/ngtcp2.c
index c75df6310..696a5c2a5 100644
--- a/lib/vquic/ngtcp2.c
+++ b/lib/vquic/ngtcp2.c
@@ -828,7 +828,8 @@ CURLcode Curl_quic_connect(struct connectdata *conn,
if(rv == -1)
return CURLE_QUIC_CONNECT_ERROR;
- ngtcp2_addr_init(&path.local, &qs->local_addr, qs->local_addrlen, NULL);
+ ngtcp2_addr_init(&path.local, (struct sockaddr *)&qs->local_addr,
+ qs->local_addrlen, NULL);
ngtcp2_addr_init(&path.remote, addr, addrlen, NULL);
rc = ngtcp2_conn_client_new(&qs->qconn, &qs->dcid, &qs->scid, &path,
@@ -1745,7 +1746,7 @@ static CURLcode ng_process_ingress(struct connectdata
*conn,
return CURLE_RECV_ERROR;
}
- ngtcp2_addr_init(&path.local, &qs->local_addr,
+ ngtcp2_addr_init(&path.local, (struct sockaddr *)&qs->local_addr,
qs->local_addrlen, NULL);
ngtcp2_addr_init(&path.remote, (struct sockaddr *)&remote_addr,
remote_addrlen, NULL);
@@ -1779,7 +1780,7 @@ static CURLcode ng_flush_egress(struct connectdata *conn,
int sockfd,
nghttp3_vec vec[16];
ssize_t ndatalen;
- switch(qs->local_addr.sa_family) {
+ switch(qs->local_addr.ss_family) {
case AF_INET:
pktlen = NGTCP2_MAX_PKTLEN_IPV4;
break;
diff --git a/lib/vquic/ngtcp2.h b/lib/vquic/ngtcp2.h
index ce1bbef62..c6d4d12e6 100644
--- a/lib/vquic/ngtcp2.h
+++ b/lib/vquic/ngtcp2.h
@@ -58,7 +58,7 @@ struct quicsocket {
struct quic_handshake crypto_data[3];
/* the last TLS alert description generated by the local endpoint */
uint8_t tls_alert;
- struct sockaddr local_addr;
+ struct sockaddr_storage local_addr;
socklen_t local_addrlen;
nghttp3_conn *h3conn;
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnurl] 188/411: pause: only trigger a reread if the unpause sticks, (continued)
- [gnurl] 188/411: pause: only trigger a reread if the unpause sticks, gnunet, 2021/01/12
- [gnurl] 251/411: Makefile.m32: add support for HTTP/3 via ngtcp2+nghttp3, gnunet, 2021/01/12
- [gnurl] 198/411: ECH: renamed from ESNI in docs and configure, gnunet, 2021/01/12
- [gnurl] 244/411: strerror: use 'const' as the string should never be modified, gnunet, 2021/01/12
- [gnurl] 223/411: scripts/release-notes.pl: don't "embed" $ in format string for printf(), gnunet, 2021/01/12
- [gnurl] 231/411: windows: fix comparison of mismatched types warning, gnunet, 2021/01/12
- [gnurl] 348/411: KNOWN_BUGS: cmake: generated .pc file contains strange entries, gnunet, 2021/01/12
- [gnurl] 318/411: hsts: remove debug code leftovers, gnunet, 2021/01/12
- [gnurl] 331/411: RELEASE-NOTES: synced, gnunet, 2021/01/12
- [gnurl] 374/411: runtests: make 'c-ares' a "feature" to depend on, gnunet, 2021/01/12
- [gnurl] 378/411: vquic/ngtcp2.h: define local_addr as sockaddr_storage,
gnunet <=
- [gnurl] 200/411: HISTORY: add some 2020 events, gnunet, 2021/01/12
- [gnurl] 247/411: libcurl.pc: make it relocatable, gnunet, 2021/01/12
- [gnurl] 254/411: CURLOPT_TCP_NODELAY.3: fix comment in example code, gnunet, 2021/01/12
- [gnurl] 255/411: CURLOPT_URL.3: clarify SCP/SFTP URLs are for uploads as well, gnunet, 2021/01/12
- [gnurl] 216/411: checksrc: warn on space after exclamation mark, gnunet, 2021/01/12
- [gnurl] 225/411: curl: make sure setopt CURLOPT_IPRESOLVE passes on a long, gnunet, 2021/01/12
- [gnurl] 239/411: RELEASE-NOTES: synced, gnunet, 2021/01/12
- [gnurl] 214/411: runtests: allow generating a binary sequence from hex, gnunet, 2021/01/12
- [gnurl] 238/411: THANKS: from 7.73.0 and .mailmap fixes, gnunet, 2021/01/12
- [gnurl] 340/411: release-notes.pl: detect #[number] better for Ref: etc, gnunet, 2021/01/12