Module Name: src Committed By: roy Date: Tue Feb 25 12:50:53 UTC 2025
Modified Files: src/external/bsd/dhcpcd/dist/src: bpf.c dhcp.c dhcp6.c dhcpcd.c if-bsd.c if-options.c ipv6.c ipv6.h ipv6nd.c logerr.c privsep.c script.c Log Message: Sync with dhcpcd-10.2.2 To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/external/bsd/dhcpcd/dist/src/bpf.c cvs rdiff -u -r1.53 -r1.54 src/external/bsd/dhcpcd/dist/src/dhcp.c cvs rdiff -u -r1.36 -r1.37 src/external/bsd/dhcpcd/dist/src/dhcp6.c cvs rdiff -u -r1.57 -r1.58 src/external/bsd/dhcpcd/dist/src/dhcpcd.c cvs rdiff -u -r1.32 -r1.33 src/external/bsd/dhcpcd/dist/src/if-bsd.c \ src/external/bsd/dhcpcd/dist/src/ipv6nd.c cvs rdiff -u -r1.40 -r1.41 src/external/bsd/dhcpcd/dist/src/if-options.c cvs rdiff -u -r1.21 -r1.22 src/external/bsd/dhcpcd/dist/src/ipv6.c cvs rdiff -u -r1.15 -r1.16 src/external/bsd/dhcpcd/dist/src/ipv6.h \ src/external/bsd/dhcpcd/dist/src/logerr.c cvs rdiff -u -r1.20 -r1.21 src/external/bsd/dhcpcd/dist/src/privsep.c cvs rdiff -u -r1.18 -r1.19 src/external/bsd/dhcpcd/dist/src/script.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/bpf.c diff -u src/external/bsd/dhcpcd/dist/src/bpf.c:1.23 src/external/bsd/dhcpcd/dist/src/bpf.c:1.24 --- src/external/bsd/dhcpcd/dist/src/bpf.c:1.23 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/bpf.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd: BPF arp and bootp filtering - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without Index: src/external/bsd/dhcpcd/dist/src/dhcp.c diff -u src/external/bsd/dhcpcd/dist/src/dhcp.c:1.53 src/external/bsd/dhcpcd/dist/src/dhcp.c:1.54 --- src/external/bsd/dhcpcd/dist/src/dhcp.c:1.53 Thu Feb 13 02:55:20 2025 +++ src/external/bsd/dhcpcd/dist/src/dhcp.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - DHCP client daemon - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -2170,7 +2170,8 @@ dhcp_finish_dad(struct interface *ifp, s #ifdef IPV4LL /* Stop IPv4LL now we have a working DHCP address */ - if (!IN_LINKLOCAL(ntohl(ia->s_addr))) + if ((!IN_LINKLOCAL(ntohl(ia->s_addr))) + && (ifp->options->options & DHCPCD_IPV4LL)) ipv4ll_drop(ifp); #endif @@ -3075,13 +3076,13 @@ dhcp_handledhcp(struct interface *ifp, s bool bootp_copied; uint32_t v6only_time = 0; bool use_v6only = false, has_auto_conf = false; -#ifdef IPV4LL - uint8_t tmp; -#endif #ifdef AUTH const uint8_t *auth; size_t auth_len; #endif +#ifdef IPV4LL + uint8_t tmp; +#endif #ifdef IN_IFF_DUPLICATED struct ipv4_addr *ia; #endif @@ -3329,7 +3330,8 @@ dhcp_handledhcp(struct interface *ifp, s switch (tmp) { case 0: LOGDHCP(LOG_WARNING, "IPv4LL disabled from"); - ipv4ll_drop(ifp); + if (ifp->options->options & DHCPCD_IPV4LL) + ipv4ll_drop(ifp); #ifdef ARP arp_drop(ifp); #endif Index: src/external/bsd/dhcpcd/dist/src/dhcp6.c diff -u src/external/bsd/dhcpcd/dist/src/dhcp6.c:1.36 src/external/bsd/dhcpcd/dist/src/dhcp6.c:1.37 --- src/external/bsd/dhcpcd/dist/src/dhcp6.c:1.36 Mon Feb 24 16:52:39 2025 +++ src/external/bsd/dhcpcd/dist/src/dhcp6.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - DHCP client daemon - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -3350,12 +3350,16 @@ dhcp6_bind(struct interface *ifp, const state->state = DH6S_BOUND; state->failed = false; - if (state->renew && state->renew != ND6_INFINITE_LIFETIME) + /* If we CONFIRM we might need to enter RENEW + * or REBIND right away if the timers have expired */ + if ((state->renew || (state->rebind && confirmed)) && + state->renew != ND6_INFINITE_LIFETIME) eloop_timeout_add_sec(ifp->ctx->eloop, state->renew, state->state == DH6S_INFORMED ? dhcp6_startinform : dhcp6_startrenew, ifp); - if (state->rebind && state->rebind != ND6_INFINITE_LIFETIME) + if ((state->rebind || (state->expire && confirmed)) && + state->rebind != ND6_INFINITE_LIFETIME) eloop_timeout_add_sec(ifp->ctx->eloop, state->rebind, dhcp6_startrebind, ifp); if (state->expire != ND6_INFINITE_LIFETIME) Index: src/external/bsd/dhcpcd/dist/src/dhcpcd.c diff -u src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.57 src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.58 --- src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.57 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/dhcpcd.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - DHCP client daemon - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ * SUCH DAMAGE. */ -static const char dhcpcd_copyright[] = "Copyright (c) 2006-2024 Roy Marples"; +static const char dhcpcd_copyright[] = "Copyright (c) 2006-2025 Roy Marples"; #include <sys/file.h> #include <sys/socket.h> @@ -1156,10 +1156,8 @@ dhcpcd_checkcarrier(void *arg) struct interface *ifp0 = arg, *ifp; ifp = if_find(ifp0->ctx->ifaces, ifp0->name); - if (ifp == NULL || ifp->carrier == ifp0->carrier) - return; - - dhcpcd_handlecarrier(ifp, ifp0->carrier, ifp0->flags); + if (ifp != NULL) + dhcpcd_handlecarrier(ifp, ifp0->carrier, ifp0->flags); if_free(ifp0); } @@ -2175,9 +2173,6 @@ main(int argc, char **argv, char **envp) ctx.options &= ~DHCPCD_DAEMONISE; #endif - if (ctx.options & DHCPCD_DEBUG) - logsetopts(logopts | LOGERR_DEBUG); - if (!(ctx.options & (DHCPCD_TEST | DHCPCD_DUMPLEASE))) { printpidfile: /* If we have any other args, we should run as a single dhcpcd Index: src/external/bsd/dhcpcd/dist/src/if-bsd.c diff -u src/external/bsd/dhcpcd/dist/src/if-bsd.c:1.32 src/external/bsd/dhcpcd/dist/src/if-bsd.c:1.33 --- src/external/bsd/dhcpcd/dist/src/if-bsd.c:1.32 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/if-bsd.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * BSD interface driver for dhcpcd - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -887,10 +887,22 @@ if_copyrt(struct dhcpcd_ctx *ctx, struct rt->rt_flags = (unsigned int)rtm->rtm_flags; if_copysa(&rt->rt_dest, rti_info[RTAX_DST]); + if (rtm->rtm_addrs & RTA_NETMASK) { if_copysa(&rt->rt_netmask, rti_info[RTAX_NETMASK]); - if (rt->rt_netmask.sa_family == 255) /* Why? */ - rt->rt_netmask.sa_family = rt->rt_dest.sa_family; + /* + * Netmask family and length are ignored by traditional + * userland tools such as route and netstat and are assumed + * to match the destination sockaddr. + * This is fortunate because BSD kernels use a radix tree + * to store routes which adjusts the netmask at the point + * of insertion where this information is lost. + * We can just sub in the values from the destination address. + * + * This is currently true for all BSD kernels. + */ + rt->rt_netmask.sa_family = rt->rt_dest.sa_family; + rt->rt_netmask.sa_len = rt->rt_dest.sa_len; } /* dhcpcd likes an unspecified gateway to indicate via the link. @@ -953,19 +965,24 @@ if_initrt(struct dhcpcd_ctx *ctx, rb_tre struct rt_msghdr *rtm; int mib[6] = { CTL_NET, PF_ROUTE, 0, af, NET_RT_DUMP, 0 }; size_t bufl; - char *buf, *p, *end; + char *buf = NULL, *p, *end; struct rt rt, *rtn; +again: if (if_sysctl(ctx, mib, __arraycount(mib), NULL, &bufl, NULL, 0) == -1) - return -1; - if (bufl == 0) + goto err; + if (bufl == 0) { + free(buf); return 0; - if ((buf = malloc(bufl)) == NULL) - return -1; + } + if ((p = realloc(buf, bufl)) == NULL) + goto err; + buf = p; if (if_sysctl(ctx, mib, __arraycount(mib), buf, &bufl, NULL, 0) == -1) { - free(buf); - return -1; + if (errno == ENOMEM) + goto again; + goto err; } end = buf + bufl; @@ -989,6 +1006,10 @@ if_initrt(struct dhcpcd_ctx *ctx, rb_tre } free(buf); return p == end ? 0 : -1; + +err: + free(buf); + return -1; } #ifdef INET @@ -1252,6 +1273,7 @@ if_ifinfo(struct dhcpcd_ctx *ctx, const if ((ifp = if_findindex(ctx->ifaces, ifm->ifm_index)) == NULL) return 0; + ifp->mtu = if_mtu(ifp); link_state = if_carrier(ifp, &ifm->ifm_data); dhcpcd_handlecarrier(ifp, link_state, (unsigned int)ifm->ifm_flags); return 0; Index: src/external/bsd/dhcpcd/dist/src/ipv6nd.c diff -u src/external/bsd/dhcpcd/dist/src/ipv6nd.c:1.32 src/external/bsd/dhcpcd/dist/src/ipv6nd.c:1.33 --- src/external/bsd/dhcpcd/dist/src/ipv6nd.c:1.32 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/ipv6nd.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - IPv6 ND handling - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without Index: src/external/bsd/dhcpcd/dist/src/if-options.c diff -u src/external/bsd/dhcpcd/dist/src/if-options.c:1.40 src/external/bsd/dhcpcd/dist/src/if-options.c:1.41 --- src/external/bsd/dhcpcd/dist/src/if-options.c:1.40 Thu Feb 13 02:53:06 2025 +++ src/external/bsd/dhcpcd/dist/src/if-options.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - DHCP client daemon - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -33,6 +33,7 @@ #include <ctype.h> #include <errno.h> +#include <fnmatch.h> #include <getopt.h> #include <grp.h> #include <inttypes.h> @@ -174,6 +175,7 @@ const struct option cf_options[] = { {"request_time", required_argument, NULL, O_REQUEST_TIME}, {"fallback_time", required_argument, NULL, O_FALLBACK_TIME}, {"ipv4ll_time", required_argument, NULL, O_IPV4LL_TIME}, + {"nosyslog", no_argument, NULL, O_NOSYSLOG}, {NULL, 0, NULL, '\0'} }; @@ -650,34 +652,38 @@ parse_option(struct dhcpcd_ctx *ctx, con ssize_t s; struct in_addr addr, addr2; in_addr_t *naddr; - struct rt *rt; const struct dhcp_opt *d, *od; uint8_t *request, *require, *no, *reject; struct dhcp_opt **dop, *ndop; size_t *dop_len, dl, odl; struct group *grp; -#ifndef SMALL - struct vivco *vivco; - const struct vivco *vivco_endp = ifo->vivco + ifo->vivco_len; -#endif #ifdef AUTH struct token *token; #endif #ifdef _REENTRANT struct group grpbuf; #endif +#ifdef INET + struct rt *rt; +#endif #ifdef DHCP6 - size_t sl; struct if_ia *ia; uint8_t iaid[4]; +#endif +#if defined(DHCP6) || ((defined(INET) || defined(INET6)) && !defined(SMALL)) + size_t sl; +#endif #ifndef SMALL - struct in6_addr in6addr; +#ifdef DHCP6 struct if_sla *sla, *slap; +#endif + struct vivco *vivco; + const struct vivco *vivco_endp = ifo->vivco + ifo->vivco_len; + struct in6_addr in6addr; struct vsio **vsiop = NULL, *vsio; size_t *vsio_lenp = NULL, opt_max, opt_header; struct vsio_so *vsio_so; #endif -#endif dop = NULL; dop_len = NULL; @@ -736,7 +742,7 @@ parse_option(struct dhcpcd_ctx *ctx, con } break; case 'd': - ifo->options |= DHCPCD_DEBUG; + logsetopts(loggetopts() | LOGERR_DEBUG); break; case 'e': ARG_REQUIRED; @@ -1310,6 +1316,7 @@ parse_option(struct dhcpcd_ctx *ctx, con strncmp(arg, "ms_classless_static_routes=", strlen("ms_classless_static_routes=")) == 0) { +#ifdef INET struct in_addr addr3; if (p == NULL) { @@ -1339,7 +1346,12 @@ parse_option(struct dhcpcd_ctx *ctx, con sa_in_init(&rt->rt_gateway, &addr3); if (rt_proto_add_ctx(&ifo->routes, rt, ctx)) add_environ(&ifo->config, arg, 0); +#else + logerrx("no inet support for option: %s", arg); + return -1; +#endif } else if (strncmp(arg, "routers=", strlen("routers=")) == 0) { +#ifdef INET if (p == NULL) { rt_headclear(&ifo->routes, AF_INET); add_environ(&ifo->config, arg, 1); @@ -1355,6 +1367,10 @@ parse_option(struct dhcpcd_ctx *ctx, con sa_in_init(&rt->rt_gateway, &addr); if (rt_proto_add_ctx(&ifo->routes, rt, ctx)) add_environ(&ifo->config, arg, 0); +#else + logerrx("no inet support for option: %s", arg); + return -1; +#endif } else if (strncmp(arg, "interface_mtu=", strlen("interface_mtu=")) == 0 || strncmp(arg, "mtu=", strlen("mtu=")) == 0) @@ -1368,6 +1384,7 @@ parse_option(struct dhcpcd_ctx *ctx, con return -1; } } else if (strncmp(arg, "ip6_address=", strlen("ip6_address=")) == 0) { +#ifdef INET6 if (p == NULL) { memset(&ifo->req_addr6, 0, sizeof(ifo->req_addr6)); @@ -1398,6 +1415,10 @@ parse_option(struct dhcpcd_ctx *ctx, con sizeof(ifo->req_addr6)); return -1; } +#else + logerrx("no inet6 support for option: %s", arg); + return -1; +#endif } else add_environ(&ifo->config, arg, p == NULL ? 1 : 0); break; @@ -2529,6 +2550,14 @@ invalid_token: } break; #endif + case O_NOSYSLOG: + { + unsigned int logopts = loggetopts(); + + logopts &= ~LOGERR_LOG; + logsetopts(logopts); + } + break; default: return 0; } @@ -2847,7 +2876,7 @@ read_config(struct dhcpcd_ctx *ctx, skip = 1; continue; } - if (ifname && strcmp(line, ifname) == 0) + if (ifname && fnmatch(line, ifname, 0) == 0) skip = 0; else skip = 1; Index: src/external/bsd/dhcpcd/dist/src/ipv6.c diff -u src/external/bsd/dhcpcd/dist/src/ipv6.c:1.21 src/external/bsd/dhcpcd/dist/src/ipv6.c:1.22 --- src/external/bsd/dhcpcd/dist/src/ipv6.c:1.21 Thu Feb 13 02:56:03 2025 +++ src/external/bsd/dhcpcd/dist/src/ipv6.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - DHCP client daemon - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -709,9 +709,7 @@ ipv6_addaddr1(struct ipv6_addr *ia, stru * The saved times will be re-applied to the ia * before exiting this function. */ ia->prefix_vltime = ia->prefix_pltime = ND6_INFINITE_LIFETIME; - } - - if (timespecisset(&ia->acquired)) { + } else if (timespecisset(&ia->acquired)) { ia->prefix_pltime = lifetime_left(ia->prefix_pltime, &ia->acquired, now); ia->prefix_vltime = lifetime_left(ia->prefix_vltime, @@ -2274,13 +2272,10 @@ inet6_raroutes(rb_tree_t *routes, struct const struct routeinfo *rinfo; const struct ipv6_addr *addr; struct in6_addr netmask; - struct timespec now; if (ctx->ra_routers == NULL) return 0; - timespecclear(&now); - TAILQ_FOREACH(rap, ctx->ra_routers, next) { if (rap->expired) continue; @@ -2302,8 +2297,8 @@ inet6_raroutes(rb_tree_t *routes, struct rt->rt_pref = ipv6nd_rtpref(rinfo->flags); #endif #ifdef HAVE_ROUTE_LIFETIME - rt->rt_lifetime = lifetime_left(rinfo->lifetime, - &rinfo->acquired, &now); + rt->rt_aquired = rinfo->acquired; + rt->rt_lifetime = rinfo->lifetime, #endif rt_proto_add(routes, rt); } @@ -2319,9 +2314,8 @@ inet6_raroutes(rb_tree_t *routes, struct rt->rt_pref = ipv6nd_rtpref(rap->flags); #endif #ifdef HAVE_ROUTE_LIFETIME - rt->rt_lifetime = - lifetime_left(addr->prefix_vltime, - &addr->acquired, &now); + rt->rt_aquired = addr->acquired; + rt->rt_lifetime = addr->prefix_vltime; #endif rt_proto_add(routes, rt); @@ -2356,8 +2350,8 @@ inet6_raroutes(rb_tree_t *routes, struct rt->rt_pref = ipv6nd_rtpref(rap->flags); #endif #ifdef HAVE_ROUTE_LIFETIME - rt->rt_lifetime = lifetime_left(rap->lifetime, - &rap->acquired, &now); + rt->rt_aquired = rap->acquired; + rt->rt_lifetime = rap->lifetime; #endif rt_proto_add(routes, rt); @@ -2395,6 +2389,10 @@ inet6_dhcproutes(rb_tree_t *routes, stru if (rt == NULL) continue; rt->rt_dflags |= RTDF_DHCP; +#ifdef HAVE_ROUTE_LIFETIME + rt->rt_aquired = ia->acquired; + rt->rt_lifetime = ia->prefix_vltime; +#endif rt_proto_add(routes, rt); } } Index: src/external/bsd/dhcpcd/dist/src/ipv6.h diff -u src/external/bsd/dhcpcd/dist/src/ipv6.h:1.15 src/external/bsd/dhcpcd/dist/src/ipv6.h:1.16 --- src/external/bsd/dhcpcd/dist/src/ipv6.h:1.15 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/ipv6.h Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - DHCP client daemon - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without Index: src/external/bsd/dhcpcd/dist/src/logerr.c diff -u src/external/bsd/dhcpcd/dist/src/logerr.c:1.15 src/external/bsd/dhcpcd/dist/src/logerr.c:1.16 --- src/external/bsd/dhcpcd/dist/src/logerr.c:1.15 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/logerr.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * logerr: errx with logging - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -427,6 +427,8 @@ logsetopts(unsigned int opts) ctx->log_opts = opts; setlogmask(LOG_UPTO(opts & LOGERR_DEBUG ? LOG_DEBUG : LOG_INFO)); + if (!(ctx->log_opts & LOGERR_LOG)) + closelog(); } #ifdef LOGERR_TAG @@ -463,7 +465,8 @@ logopen(const char *path) if (ctx->log_opts & LOGERR_LOG_PID) opts |= LOG_PID; - openlog(getprogname(), opts, LOGERR_SYSLOG_FACILITY); + if (ctx->log_opts & LOGERR_LOG) + openlog(getprogname(), opts, LOGERR_SYSLOG_FACILITY); if (path == NULL) return 1; Index: src/external/bsd/dhcpcd/dist/src/privsep.c diff -u src/external/bsd/dhcpcd/dist/src/privsep.c:1.20 src/external/bsd/dhcpcd/dist/src/privsep.c:1.21 --- src/external/bsd/dhcpcd/dist/src/privsep.c:1.20 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/privsep.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * Privilege Separation for dhcpcd - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without Index: src/external/bsd/dhcpcd/dist/src/script.c diff -u src/external/bsd/dhcpcd/dist/src/script.c:1.18 src/external/bsd/dhcpcd/dist/src/script.c:1.19 --- src/external/bsd/dhcpcd/dist/src/script.c:1.18 Wed Feb 12 19:23:13 2025 +++ src/external/bsd/dhcpcd/dist/src/script.c Tue Feb 25 12:50:53 2025 @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-2-Clause */ /* * dhcpcd - DHCP client daemon - * Copyright (c) 2006-2024 Roy Marples <r...@marples.name> + * Copyright (c) 2006-2025 Roy Marples <r...@marples.name> * All rights reserved * Redistribution and use in source and binary forms, with or without @@ -471,7 +471,7 @@ make_env(struct dhcpcd_ctx *ctx, const s if (efprintf(fp, "af_waiting=%d", af) == -1) goto eexit; } - if (ifo->options & DHCPCD_DEBUG) { + if (loggetopts() & LOGERR_DEBUG) { if (efprintf(fp, "syslog_debug=true") == -1) goto eexit; }