changeset 5546:08426e8a98a7 draft

DHCP6: Delegated activations work once more This was broken with the --noconfigure option in dhcpcd-9.3.3
author Roy Marples <roy@marples.name>
date Sat, 21 Nov 2020 11:59:07 +0000
parents d40f87a25035
children c9182c3618e6
files src/if-options.c src/route.c
diffstat 2 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/if-options.c	Sat Nov 21 08:46:30 2020 +0000
+++ b/src/if-options.c	Sat Nov 21 11:59:07 2020 +0000
@@ -2343,6 +2343,8 @@
 #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 @@
 	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) {
--- a/src/route.c	Sat Nov 21 08:46:30 2020 +0000
+++ b/src/route.c	Sat Nov 21 11:59:07 2020 +0000
@@ -713,8 +713,10 @@
 #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) &&