summaryrefslogtreecommitdiff
blob: 77254c32e2b0236a493dd69181c388416f3001eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
https://bugs.gentoo.org/471142

snipped from fedora

# dhclient -6: bind socket to interface (#1001742)
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #34784])

diff -up dhcp-4.2.5/common/socket.c.bindtodevice_inet6 dhcp-4.2.5/common/socket.c
--- dhcp-4.2.5/common/socket.c.bindtodevice_inet6	2013-09-17 16:47:05.000000000 +0200
+++ dhcp-4.2.5/common/socket.c	2013-09-17 16:48:18.975997842 +0200
@@ -245,7 +245,7 @@ if_register_socket(struct interface_info
 
 #if defined(SO_BINDTODEVICE)
 	/* Bind this socket to this interface. */
-	if ((local_family != AF_INET6) && (info->ifp != NULL) &&
+	if (((do_multicast == 0)||(*do_multicast == 0)) && (info->ifp != NULL) &&
 	    setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE,
 			(char *)(info -> ifp), sizeof(*(info -> ifp))) < 0) {
 		log_fatal("setsockopt: SO_BINDTODEVICE: %m");