summaryrefslogtreecommitdiffstats
path: root/package/libupnp/libupnp-1.6.15-no-ipv6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/libupnp/libupnp-1.6.15-no-ipv6.patch')
-rw-r--r--package/libupnp/libupnp-1.6.15-no-ipv6.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/libupnp/libupnp-1.6.15-no-ipv6.patch b/package/libupnp/libupnp-1.6.15-no-ipv6.patch
new file mode 100644
index 000000000..929c309ba
--- /dev/null
+++ b/package/libupnp/libupnp-1.6.15-no-ipv6.patch
@@ -0,0 +1,23 @@
+Fix missing knob to properly disable IPv6 support when headers lack it.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura libupnp-1.6.15/upnp/src/ssdp/ssdp_device.c libupnp-1.6.15-noipv6/upnp/src/ssdp/ssdp_device.c
+--- libupnp-1.6.15/upnp/src/ssdp/ssdp_device.c 2011-11-04 19:33:59.000000000 -0300
++++ libupnp-1.6.15-noipv6/upnp/src/ssdp/ssdp_device.c 2012-03-20 21:00:26.274098343 -0300
+@@ -199,6 +199,7 @@
+ setsockopt(ReplySock, IPPROTO_IP, IP_MULTICAST_TTL,
+ (char *)&ttl, sizeof(int));
+ socklen = sizeof(struct sockaddr_in);
++#ifdef UPNP_ENABLE_IPV6
+ } else if (DestAddr->sa_family == AF_INET6) {
+ inet_ntop(AF_INET6,
+ &((struct sockaddr_in6 *)DestAddr)->sin6_addr,
+@@ -207,6 +208,7 @@
+ (char *)&gIF_INDEX, sizeof(gIF_INDEX));
+ setsockopt(ReplySock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,
+ (char *)&hops, sizeof(hops));
++#endif
+ } else {
+ UpnpPrintf(UPNP_CRITICAL, SSDP, __FILE__, __LINE__,
+ "Invalid destination address specified.");