bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Import commit d9a738 from upstream, to fix a bug with https.


From: Joan Lledó
Subject: [PATCH] Import commit d9a738 from upstream, to fix a bug with https.
Date: Thu, 30 Aug 2018 10:15:40 +0200

sockets: fix lwip_getsockname/lwip_getpeername for dual-stack:
ip_addr_t type "any" (dual) has to be converted to AF_INET6
---
 debian/patches/getpeername_dual | 11 +++++++++++
 debian/patches/series           |  1 +
 2 files changed, 12 insertions(+)
 create mode 100644 debian/patches/getpeername_dual

diff --git a/debian/patches/getpeername_dual b/debian/patches/getpeername_dual
new file mode 100644
index 0000000..37be462
--- /dev/null
+++ b/debian/patches/getpeername_dual
@@ -0,0 +1,11 @@
+--- a/src/api/sockets.c
++++ b/src/api/sockets.c
+@@ -123,7 +123,7 @@
+        ((((name)->sa_family == AF_INET) && 
!(NETCONNTYPE_ISIPV6((sock)->conn->type))) || \
+        (((name)->sa_family == AF_INET6) && 
(NETCONNTYPE_ISIPV6((sock)->conn->type))))
+ #define IPADDR_PORT_TO_SOCKADDR(sockaddr, ipaddr, port) do { \
+-    if (IP_IS_V6(ipaddr)) { \
++    if (((ipaddr) && IP_IS_ANY_TYPE_VAL(*ipaddr)) || IP_IS_V6(ipaddr)) { \
+       IP6ADDR_PORT_TO_SOCKADDR((struct sockaddr_in6*)(void*)(sockaddr), 
ip_2_ip6(ipaddr), port); \
+     } else { \
+       IP4ADDR_PORT_TO_SOCKADDR((struct sockaddr_in*)(void*)(sockaddr), 
ip_2_ip4(ipaddr), port); \
diff --git a/debian/patches/series b/debian/patches/series
index 7d92024..e5ca54e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,5 +3,6 @@ posix
 errno
 autoconf
 bug-36167
+getpeername_dual
 poll
 max_sockets
-- 
2.17.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]