13 lines
666 B
Diff
13 lines
666 B
Diff
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");
|