]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
DHCP6: Delegated activations work once more
authorRoy Marples <roy@marples.name>
Sat, 21 Nov 2020 11:59:07 +0000 (11:59 +0000)
committerRoy Marples <roy@marples.name>
Sat, 21 Nov 2020 11:59:07 +0000 (11:59 +0000)
This was broken with the --noconfigure option in dhcpcd-9.3.3

src/if-options.c
src/route.c

index 9a261c077c87293833ce537efe1eeb3cb64448ee..653cb03d4af4482dbe1c2519e8586d71a3138a42 100644 (file)
@@ -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) {
index 724b1f173fb1cb0f45ba4cd772806f38ab11024e..47fd6cf2a33dbc15f215e10912473a6738f0b317 100644 (file)
@@ -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) &&