|
@@ -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.");
|