Module Name: src Committed By: roy Date: Thu Jul 25 08:55:18 UTC 2019
Modified Files: src/external/bsd/dhcpcd/dist/src: dhcp.c dhcpcd.c Log Message: Sync To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/external/bsd/dhcpcd/dist/src/dhcp.c cvs rdiff -u -r1.21 -r1.22 src/external/bsd/dhcpcd/dist/src/dhcpcd.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/bsd/dhcpcd/dist/src/dhcp.c diff -u src/external/bsd/dhcpcd/dist/src/dhcp.c:1.20 src/external/bsd/dhcpcd/dist/src/dhcp.c:1.21 --- src/external/bsd/dhcpcd/dist/src/dhcp.c:1.20 Wed Jul 24 09:57:43 2019 +++ src/external/bsd/dhcpcd/dist/src/dhcp.c Thu Jul 25 08:55:18 2019 @@ -127,7 +127,7 @@ static const char * const dhcp_params[] static int dhcp_openbpf(struct interface *); static void dhcp_start1(void *); -#ifdef ARP +#if defined(ARP) && (!defined(KERNEL_RFC5227) || defined(ARPING)) static void dhcp_arp_found(struct arp_state *, const struct arp_msg *); #endif static void dhcp_handledhcp(struct interface *, struct bootp *, size_t, @@ -1958,6 +1958,7 @@ dhcp_rebind(void *arg) send_rebind(ifp); } +#if defined(ARP) || defined(IN_IFF_DUPLICATED) static void dhcp_finish_dad(struct interface *ifp, struct in_addr *ia) { @@ -2026,19 +2027,22 @@ dhcp_addr_duplicated(struct interface *i eloop_timeout_add_sec(ifp->ctx->eloop, DHCP_RAND_MAX, dhcp_discover, ifp); } +#endif -#ifdef ARP +#if defined(ARP) && (!defined(KERNEL_RFC5227) || defined(ARPING)) static void dhcp_arp_not_found(struct arp_state *astate) { struct interface *ifp; +#ifdef ARPING struct dhcp_state *state; struct if_options *ifo; +#endif ifp = astate->iface; +#ifdef ARPING state = D_STATE(ifp); ifo = ifp->options; -#ifdef ARPING if (ifo->arping_len && state->arping_index < ifo->arping_len) { /* We didn't find a profile for this * address or hwaddr, so move to the next @@ -2062,12 +2066,11 @@ static void dhcp_arp_found(struct arp_state *astate, const struct arp_msg *amsg) { struct in_addr addr; + struct interface *ifp = astate->iface; #ifdef ARPING - struct interface *ifp; struct dhcp_state *state; struct if_options *ifo; - ifp = astate->iface; state = D_STATE(ifp); ifo = ifp->options; @@ -2093,6 +2096,8 @@ dhcp_arp_found(struct arp_state *astate, dhcpcd_startinterface(ifp); return; } +#else + UNUSED(amsg); #endif addr = astate->addr; @@ -2304,6 +2309,7 @@ dhcp_arp_defend_failed(struct arp_state } #endif +#if !defined(KERNEL_RFC5227) || defined(ARPING) static struct arp_state * dhcp_arp_new(struct interface *ifp, struct in_addr *addr) { @@ -2322,6 +2328,7 @@ dhcp_arp_new(struct interface *ifp, stru #endif return astate; } +#endif static int dhcp_arp_address(struct interface *ifp) Index: src/external/bsd/dhcpcd/dist/src/dhcpcd.c diff -u src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.21 src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.22 --- src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.21 Wed Jul 24 09:57:43 2019 +++ src/external/bsd/dhcpcd/dist/src/dhcpcd.c Thu Jul 25 08:55:18 2019 @@ -1210,9 +1210,11 @@ dhcpcd_handlehwaddr(struct dhcpcd_ctx *c static void if_reboot(struct interface *ifp, int argc, char **argv) { +#ifdef INET unsigned long long oldopts; oldopts = ifp->options->options; +#endif script_runreason(ifp, "RECONFIGURE"); dhcpcd_initstate1(ifp, argc, argv, 0); #ifdef INET @@ -2123,6 +2125,12 @@ exit1: } free(ctx.ifaces); } +#ifdef HAVE_OPEN_MEMSTREAM + if (ctx.script_fp) + fclose(ctx.script_fp); +#endif + free(ctx.script_buf); + free(ctx.script_env); free_options(&ctx, ifo); rt_dispose(&ctx); free(ctx.duid); @@ -2146,11 +2154,5 @@ exit1: if (ctx.options & DHCPCD_FORKED) _exit(i); /* so atexit won't remove our pidfile */ #endif -#ifdef HAVE_OPEN_MEMSTREAM - if (ctx.script_fp) - fclose(ctx.script_fp); -#endif - free(ctx.script_buf); - free(ctx.script_env); return i; }