Module Name:    src
Committed By:   roy
Date:           Wed Jun 26 17:47:47 UTC 2019

Modified Files:
        src/external/bsd/dhcpcd/dist/hooks: 30-hostname
        src/external/bsd/dhcpcd/dist/src: dhcp6.c dhcpcd.c if-bsd.c ipv6nd.c

Log Message:
Sync


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/dhcpcd/dist/hooks/30-hostname
cvs rdiff -u -r1.7 -r1.8 src/external/bsd/dhcpcd/dist/src/dhcp6.c \
    src/external/bsd/dhcpcd/dist/src/if-bsd.c
cvs rdiff -u -r1.19 -r1.20 src/external/bsd/dhcpcd/dist/src/dhcpcd.c
cvs rdiff -u -r1.6 -r1.7 src/external/bsd/dhcpcd/dist/src/ipv6nd.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/hooks/30-hostname
diff -u src/external/bsd/dhcpcd/dist/hooks/30-hostname:1.2 src/external/bsd/dhcpcd/dist/hooks/30-hostname:1.3
--- src/external/bsd/dhcpcd/dist/hooks/30-hostname:1.2	Sat Sep 22 13:17:46 2018
+++ src/external/bsd/dhcpcd/dist/hooks/30-hostname	Wed Jun 26 17:47:47 2019
@@ -80,7 +80,7 @@ need_hostname()
 	set_hostname_vars
 
 	if [ -n "$old_fqdn" ]; then
-		if ${hfqdn} || ! ${hsort}; then
+		if ${hfqdn} || ! ${hshort}; then
 			[ "$hostname" = "$old_fqdn" ]
 		else
 			[ "$hostname" = "${old_fqdn%%.*}" ]

Index: src/external/bsd/dhcpcd/dist/src/dhcp6.c
diff -u src/external/bsd/dhcpcd/dist/src/dhcp6.c:1.7 src/external/bsd/dhcpcd/dist/src/dhcp6.c:1.8
--- src/external/bsd/dhcpcd/dist/src/dhcp6.c:1.7	Sat May  4 09:42:15 2019
+++ src/external/bsd/dhcpcd/dist/src/dhcp6.c	Wed Jun 26 17:47:47 2019
@@ -3783,6 +3783,8 @@ dhcp6_start(struct interface *ifp, enum 
 			/* No DHCPv6 config, no existing state
 			 * so nothing to do. */
 			return 0;
+		case DH6S_INFORM:
+			break;
 		default:
 			init_state = DH6S_INIT;
 			break;
@@ -3935,21 +3937,6 @@ dhcp6_free(struct interface *ifp)
 }
 
 void
-dhcp6_dropnondelegates(struct interface *ifp)
-{
-
-#ifndef SMALL
-	if (dhcp6_hasprefixdelegation(ifp))
-		return;
-#endif
-	if (D6_CSTATE(ifp) == NULL)
-		return;
-
-	loginfox("%s: dropping DHCPv6 due to no valid routers", ifp->name);
-	dhcp6_drop(ifp, "EXPIRE6");
-}
-
-void
 dhcp6_abort(struct interface *ifp)
 {
 	struct dhcp6_state *state;
Index: src/external/bsd/dhcpcd/dist/src/if-bsd.c
diff -u src/external/bsd/dhcpcd/dist/src/if-bsd.c:1.7 src/external/bsd/dhcpcd/dist/src/if-bsd.c:1.8
--- src/external/bsd/dhcpcd/dist/src/if-bsd.c:1.7	Sat May  4 09:42:15 2019
+++ src/external/bsd/dhcpcd/dist/src/if-bsd.c	Wed Jun 26 17:47:47 2019
@@ -1063,7 +1063,7 @@ if_rtm(struct dhcpcd_ctx *ctx, const str
 		return 0;
 
 	if (if_copyrt(ctx, &rt, rtm) == -1)
-		return -1;
+		return errno == ENOTSUP ? 0 : -1;
 
 #ifdef INET6
 	/*
@@ -1305,7 +1305,8 @@ if_dispatch(struct dhcpcd_ctx *ctx, cons
 		return if_ifa(ctx, (const void *)rtm);
 #ifdef RTM_DESYNC
 	case RTM_DESYNC:
-		return dhcpcd_linkoverflow(ctx);
+		dhcpcd_linkoverflow(ctx);
+		return 0;
 #endif
 	}
 
@@ -1325,7 +1326,9 @@ if_handlelink(struct dhcpcd_ctx *ctx)
 		return -1;
 	if (len == 0)
 		return 0;
-	if (len < rtm.hdr.rtm_msglen) {
+	if ((size_t)len < offsetof(struct rt_msghdr, rtm_index) ||
+	    len < rtm.hdr.rtm_msglen)
+	{
 		errno = EINVAL;
 		return -1;
 	}

Index: src/external/bsd/dhcpcd/dist/src/dhcpcd.c
diff -u src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.19 src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.20
--- src/external/bsd/dhcpcd/dist/src/dhcpcd.c:1.19	Sat May  4 09:42:15 2019
+++ src/external/bsd/dhcpcd/dist/src/dhcpcd.c	Wed Jun 26 17:47:47 2019
@@ -1081,8 +1081,7 @@ dhcpcd_handlelink(void *arg)
 			dhcpcd_linkoverflow(ctx);
 			return;
 		}
-		if (errno != ENOTSUP)
-			logerr(__func__);
+		logerr(__func__);
 	}
 }
 

Index: src/external/bsd/dhcpcd/dist/src/ipv6nd.c
diff -u src/external/bsd/dhcpcd/dist/src/ipv6nd.c:1.6 src/external/bsd/dhcpcd/dist/src/ipv6nd.c:1.7
--- src/external/bsd/dhcpcd/dist/src/ipv6nd.c:1.6	Fri Apr 26 14:34:10 2019
+++ src/external/bsd/dhcpcd/dist/src/ipv6nd.c	Wed Jun 26 17:47:47 2019
@@ -382,9 +382,6 @@ ipv6nd_sendrsprobe(void *arg)
 	else {
 		logwarnx("%s: no IPv6 Routers available", ifp->name);
 		ipv6nd_drop(ifp);
-#ifdef DHCP6
-		dhcp6_dropnondelegates(ifp);
-#endif
 	}
 }
 
@@ -1525,9 +1522,6 @@ ipv6nd_expirera(void *arg)
 	struct timespec now, lt, expire, next;
 	bool expired, valid, validone;
 	struct ipv6_addr *ia;
-#ifdef DHCP6
-	bool anyvalid = false;
-#endif
 
 	ifp = arg;
 	clock_gettime(CLOCK_MONOTONIC, &now);
@@ -1603,10 +1597,6 @@ ipv6nd_expirera(void *arg)
 		 * as well punt it. */
 		if (!valid && !validone)
 			ipv6nd_free_ra(rap);
-#ifdef DHCP6
-		else
-			anyvalid = true;
-#endif
 	}
 
 	if (timespecisset(&next))
@@ -1616,12 +1606,6 @@ ipv6nd_expirera(void *arg)
 		rt_build(ifp->ctx, AF_INET6);
 		script_runreason(ifp, "ROUTERADVERT");
 	}
-
-#ifdef DHCP6
-	/* No valid routers? Kill any DHCPv6. */
-	if (!anyvalid)
-		dhcp6_dropnondelegates(ifp);
-#endif
 }
 
 void

Reply via email to