Module Name: src Committed By: manu Date: Fri May 15 12:31:04 UTC 2020
Modified Files: src/external/mpl/dhcp/dist/common: bpf.c discover.c lpf.c packet.c raw.c socket.c Log Message: crunchgen fix Make sure local_port is not shared within a crunchgen binary. There is more to do to get full functionnality in crunchgen, but at least this change makes dhcpd listen on the right port again. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/mpl/dhcp/dist/common/bpf.c cvs rdiff -u -r1.2 -r1.3 src/external/mpl/dhcp/dist/common/discover.c \ src/external/mpl/dhcp/dist/common/lpf.c \ src/external/mpl/dhcp/dist/common/packet.c \ src/external/mpl/dhcp/dist/common/raw.c \ src/external/mpl/dhcp/dist/common/socket.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/mpl/dhcp/dist/common/bpf.c diff -u src/external/mpl/dhcp/dist/common/bpf.c:1.3 src/external/mpl/dhcp/dist/common/bpf.c:1.4 --- src/external/mpl/dhcp/dist/common/bpf.c:1.3 Fri Jun 1 00:42:49 2018 +++ src/external/mpl/dhcp/dist/common/bpf.c Fri May 15 12:31:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bpf.c,v 1.3 2018/06/01 00:42:49 christos Exp $ */ +/* $NetBSD: bpf.c,v 1.4 2020/05/15 12:31:03 manu Exp $ */ /* bpf.c @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: bpf.c,v 1.3 2018/06/01 00:42:49 christos Exp $"); +__RCSID("$NetBSD: bpf.c,v 1.4 2020/05/15 12:31:03 manu Exp $"); #include "dhcpd.h" #if defined (USE_BPF_SEND) || defined (USE_BPF_RECEIVE) \ @@ -366,7 +366,7 @@ void if_register_receive (info) dhcp_bpf_relay_filter [10].k = ntohs (relay_port); } #endif - p.bf_insns [8].k = ntohs (local_port); + p.bf_insns [8].k = ntohs (*libdhcp_callbacks.local_port); if (ioctl (info -> rfdesc, BIOCSETF, &p) < 0) log_fatal ("Can't install packet filter program: %m"); Index: src/external/mpl/dhcp/dist/common/discover.c diff -u src/external/mpl/dhcp/dist/common/discover.c:1.2 src/external/mpl/dhcp/dist/common/discover.c:1.3 --- src/external/mpl/dhcp/dist/common/discover.c:1.2 Sat Apr 7 22:37:29 2018 +++ src/external/mpl/dhcp/dist/common/discover.c Fri May 15 12:31:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: discover.c,v 1.2 2018/04/07 22:37:29 christos Exp $ */ +/* $NetBSD: discover.c,v 1.3 2020/05/15 12:31:03 manu Exp $ */ /* discover.c @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: discover.c,v 1.2 2018/04/07 22:37:29 christos Exp $"); +__RCSID("$NetBSD: discover.c,v 1.3 2020/05/15 12:31:03 manu Exp $"); #include "dhcpd.h" @@ -47,8 +47,6 @@ __RCSID("$NetBSD: discover.c,v 1.2 2018/ struct interface_info *interfaces, *dummy_interfaces, *fallback_interface; int interfaces_invalidated; int quiet_interface_discovery; -u_int16_t local_port; -u_int16_t remote_port; u_int16_t relay_port = 0; int dhcpv4_over_dhcpv6 = 0; int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *); Index: src/external/mpl/dhcp/dist/common/lpf.c diff -u src/external/mpl/dhcp/dist/common/lpf.c:1.2 src/external/mpl/dhcp/dist/common/lpf.c:1.3 --- src/external/mpl/dhcp/dist/common/lpf.c:1.2 Sat Apr 7 22:37:29 2018 +++ src/external/mpl/dhcp/dist/common/lpf.c Fri May 15 12:31:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: lpf.c,v 1.2 2018/04/07 22:37:29 christos Exp $ */ +/* $NetBSD: lpf.c,v 1.3 2020/05/15 12:31:03 manu Exp $ */ /* lpf.c @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: lpf.c,v 1.2 2018/04/07 22:37:29 christos Exp $"); +__RCSID("$NetBSD: lpf.c,v 1.3 2020/05/15 12:31:03 manu Exp $"); #include "dhcpd.h" #if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE) @@ -278,7 +278,7 @@ static void lpf_gen_filter_setup (info) dhcp_bpf_relay_filter [10].k = ntohs (relay_port); } #endif - dhcp_bpf_filter [8].k = ntohs (local_port); + dhcp_bpf_filter [8].k = ntohs (*libdhcp_callbacks.local_port); if (setsockopt (info -> rfdesc, SOL_SOCKET, SO_ATTACH_FILTER, &p, sizeof p) < 0) { Index: src/external/mpl/dhcp/dist/common/packet.c diff -u src/external/mpl/dhcp/dist/common/packet.c:1.2 src/external/mpl/dhcp/dist/common/packet.c:1.3 --- src/external/mpl/dhcp/dist/common/packet.c:1.2 Sat Apr 7 22:37:29 2018 +++ src/external/mpl/dhcp/dist/common/packet.c Fri May 15 12:31:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: packet.c,v 1.2 2018/04/07 22:37:29 christos Exp $ */ +/* $NetBSD: packet.c,v 1.3 2020/05/15 12:31:03 manu Exp $ */ /* packet.c @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: packet.c,v 1.2 2018/04/07 22:37:29 christos Exp $"); +__RCSID("$NetBSD: packet.c,v 1.3 2020/05/15 12:31:03 manu Exp $"); #include "dhcpd.h" @@ -308,10 +308,10 @@ decode_udp_ip_header(struct interface_in /* Is it to the port we're serving? */ #if defined(RELAY_PORT) - if ((udp.uh_dport != local_port) && + if ((udp.uh_dport != *libdhcp_callbacks.local_port) && ((relay_port == 0) || (udp.uh_dport != relay_port))) #else - if (udp.uh_dport != local_port) + if (udp.uh_dport != *libdhcp_callbacks.local_port) #endif return -1; #endif /* USERLAND_FILTER */ Index: src/external/mpl/dhcp/dist/common/raw.c diff -u src/external/mpl/dhcp/dist/common/raw.c:1.2 src/external/mpl/dhcp/dist/common/raw.c:1.3 --- src/external/mpl/dhcp/dist/common/raw.c:1.2 Sat Apr 7 22:37:29 2018 +++ src/external/mpl/dhcp/dist/common/raw.c Fri May 15 12:31:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: raw.c,v 1.2 2018/04/07 22:37:29 christos Exp $ */ +/* $NetBSD: raw.c,v 1.3 2020/05/15 12:31:03 manu Exp $ */ /* raw.c @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: raw.c,v 1.2 2018/04/07 22:37:29 christos Exp $"); +__RCSID("$NetBSD: raw.c,v 1.3 2020/05/15 12:31:03 manu Exp $"); #include "dhcpd.h" @@ -60,7 +60,7 @@ void if_register_send (info) /* Set up the address we're going to connect to. */ name.sin_family = AF_INET; - name.sin_port = relay_port ? relay_port : local_port; + name.sin_port = relay_port ? relay_port : *libdhcp_callbacks.local_port; name.sin_addr.s_addr = htonl (INADDR_BROADCAST); memset (name.sin_zero, 0, sizeof (name.sin_zero)); Index: src/external/mpl/dhcp/dist/common/socket.c diff -u src/external/mpl/dhcp/dist/common/socket.c:1.2 src/external/mpl/dhcp/dist/common/socket.c:1.3 --- src/external/mpl/dhcp/dist/common/socket.c:1.2 Sat Apr 7 22:37:29 2018 +++ src/external/mpl/dhcp/dist/common/socket.c Fri May 15 12:31:03 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: socket.c,v 1.2 2018/04/07 22:37:29 christos Exp $ */ +/* $NetBSD: socket.c,v 1.3 2020/05/15 12:31:03 manu Exp $ */ /* socket.c @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: socket.c,v 1.2 2018/04/07 22:37:29 christos Exp $"); +__RCSID("$NetBSD: socket.c,v 1.3 2020/05/15 12:31:03 manu Exp $"); /* SO_BINDTODEVICE support added by Elliot Poger (po...@leland.stanford.edu). * This sockopt allows a socket to be bound to a particular interface, @@ -165,7 +165,7 @@ if_register_socket(struct interface_info case AF_INET6: addr6 = (struct sockaddr_in6 *)&name; addr6->sin6_family = AF_INET6; - addr6->sin6_port = local_port; + addr6->sin6_port = *libdhcp_callbacks.local_port; #if defined(RELAY_PORT) if (relay_port && ((info->flags & INTERFACE_STREAMS) == INTERFACE_UPSTREAM)) @@ -201,7 +201,7 @@ if_register_socket(struct interface_info default: addr = (struct sockaddr_in *)&name; addr->sin_family = AF_INET; - addr->sin_port = relay_port ? relay_port : local_port; + addr->sin_port = relay_port ? relay_port : *libdhcp_callbacks.local_port; memcpy(&addr->sin_addr, &local_address, sizeof(addr->sin_addr)); @@ -535,9 +535,9 @@ if_register6(struct interface_info *info } log_info("Bound to [%s]:%d", addr6_str, - (int) ntohs(local_port)); + (int) ntohs(*libdhcp_callbacks.local_port)); } else { - log_info("Bound to *:%d", (int) ntohs(local_port)); + log_info("Bound to *:%d", (int) ntohs(*libdhcp_callbacks.local_port)); } } @@ -691,7 +691,7 @@ if_deregister6(struct interface_info *in global_v6_socket = -1; log_info("Unbound from *:%d", - (int) ntohs(local_port)); + (int) ntohs(*libdhcp_callbacks.local_port)); } #if defined(RELAY_PORT) if (relay_port && (relay_port_v6_socket_references == 0)) {