dhcp/dhcp-bindtodevice-inet6.patch
2013-09-18 08:46:59 +02:00

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