socket_wrapper: make it possible to bind to '::'
authorStefan Metzmacher <metze@samba.org>
Tue, 3 Mar 2009 18:40:57 +0000 (19:40 +0100)
committerStefan Metzmacher <metze@samba.org>
Sun, 8 Mar 2009 14:18:05 +0000 (15:18 +0100)
metze

socket_wrapper/socket_wrapper.c

index 8ad9e1d93eaa31df6cea9870e94cc89644c2afc9..1f56a8358e3e0de36cdbee922c9648e632769132 100644 (file)
@@ -510,7 +510,9 @@ static int convert_in_un_alloc(struct socket_info *si, const struct sockaddr *in
 
                cmp = in->sin6_addr;
                cmp.s6_addr[15] = 0;
-               if (IN6_ARE_ADDR_EQUAL(&swrap_ipv6, &cmp)) {
+               if (IN6_IS_ADDR_UNSPECIFIED(&in->sin6_addr)) {
+                       iface = socket_wrapper_default_iface();
+               } else if (IN6_ARE_ADDR_EQUAL(&swrap_ipv6, &cmp)) {
                        iface = in->sin6_addr.s6_addr[15];
                } else {
                        errno = EADDRNOTAVAIL;