From: Roy Marples Date: Sat, 21 Nov 2020 11:59:07 +0000 (+0000) Subject: DHCP6: Delegated activations work once more X-Git-Tag: v9.3.4~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b683ed33dbd9c6b6f3af71496a28edd584fc45a;p=thirdparty%2Fdhcpcd.git DHCP6: Delegated activations work once more This was broken with the --noconfigure option in dhcpcd-9.3.3 --- diff --git a/src/if-options.c b/src/if-options.c index 9a261c07..653cb03d 100644 --- a/src/if-options.c +++ b/src/if-options.c @@ -2343,6 +2343,8 @@ default_config(struct dhcpcd_ctx *ctx) #endif /* Inherit some global defaults */ + if (ctx->options & DHCPCD_CONFIGURE) + ifo->options |= DHCPCD_CONFIGURE; if (ctx->options & DHCPCD_PERSISTENT) ifo->options |= DHCPCD_PERSISTENT; if (ctx->options & DHCPCD_SLAACPRIVATE) @@ -2371,8 +2373,8 @@ read_config(struct dhcpcd_ctx *ctx, if ((ifo = default_config(ctx)) == NULL) return NULL; if (default_options == 0) { - default_options |= DHCPCD_DAEMONISE | - DHCPCD_CONFIGURE | DHCPCD_GATEWAY; + default_options |= DHCPCD_CONFIGURE | DHCPCD_DAEMONISE | + DHCPCD_GATEWAY; #ifdef INET skip = socket(PF_INET, SOCK_DGRAM, 0); if (skip != -1) { diff --git a/src/route.c b/src/route.c index 724b1f17..47fd6cf2 100644 --- a/src/route.c +++ b/src/route.c @@ -713,8 +713,10 @@ rt_build(struct dhcpcd_ctx *ctx, int af) #endif RB_TREE_FOREACH_SAFE(rt, &routes, rtn) { - if (rt->rt_ifp->active && - !(rt->rt_ifp->options->options & DHCPCD_CONFIGURE)) + if (rt->rt_ifp->active) { + if (!(rt->rt_ifp->options->options & DHCPCD_CONFIGURE)) + continue; + } else if (!(ctx->options & DHCPCD_CONFIGURE)) continue; #ifdef BSD if (rt_is_default(rt) &&