Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/bsd/dhcpcd/dist/src Upate to dhcpcd-9.3.4 with the ...
details: https://anonhg.NetBSD.org/src/rev/f2268b1b2b68
branches: trunk
changeset: 957425:f2268b1b2b68
user: roy <roy%NetBSD.org@localhost>
date: Sat Nov 28 14:26:16 2020 +0000
description:
Upate to dhcpcd-9.3.4 with the following changes:
With the following changes:
* DHCP: If error adding the address in oneshot, exit with failure
* DHCP: Only listen to the address if we successfully added it
* DHCP6: Fix segfault introduced in dhcpcd-9.3.3
* DHCP6: Abort in test mode when an error is returned by server
* options: allow --ia_na=1 and --ia_pd=2 on the command line
* options: Allow duid to take a value
diffstat:
external/bsd/dhcpcd/dist/src/defs.h | 2 +-
external/bsd/dhcpcd/dist/src/dhcpcd.conf.5.in | 14 +++++++++++---
external/bsd/dhcpcd/dist/src/ipv4.c | 15 ++++++++-------
external/bsd/dhcpcd/dist/src/ipv4.h | 2 +-
external/bsd/dhcpcd/dist/src/route.c | 5 ++++-
5 files changed, 25 insertions(+), 13 deletions(-)
diffs (147 lines):
diff -r 61cd627adccf -r f2268b1b2b68 external/bsd/dhcpcd/dist/src/defs.h
--- a/external/bsd/dhcpcd/dist/src/defs.h Sat Nov 28 14:08:37 2020 +0000
+++ b/external/bsd/dhcpcd/dist/src/defs.h Sat Nov 28 14:26:16 2020 +0000
@@ -29,7 +29,7 @@
#define CONFIG_H
#define PACKAGE "dhcpcd"
-#define VERSION "9.3.3"
+#define VERSION "9.3.4"
#ifndef PRIVSEP_USER
# define PRIVSEP_USER "_" PACKAGE
diff -r 61cd627adccf -r f2268b1b2b68 external/bsd/dhcpcd/dist/src/dhcpcd.conf.5.in
--- a/external/bsd/dhcpcd/dist/src/dhcpcd.conf.5.in Sat Nov 28 14:08:37 2020 +0000
+++ b/external/bsd/dhcpcd/dist/src/dhcpcd.conf.5.in Sat Nov 28 14:26:16 2020 +0000
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd October 25, 2020
+.Dd November 25, 2020
.Dt DHCPCD.CONF 5
.Os
.Sh NAME
@@ -211,7 +211,7 @@
sends a default
.Ar clientid
of the hardware family and the hardware address.
-.It Ic duid Op ll | lt | uuid
+.It Ic duid Op ll | lt | uuid | value
Use a DHCP Unique Identifier.
If a system UUID is available, that will be used to create a DUID-UUID,
otheriwse if persistent storage is available then a DUID-LLT
@@ -220,12 +220,20 @@
The DUID type can be hinted as an optional parameter if the file
.Pa @DBDIR@/duid
does not exist.
+If not
+.Va ll ,
+.Va lt
+or
+.Va uuid
+then
+.Va value
+will be converted from 00:11:22:33 format.
This, plus the IAID will be used as the
.Ic clientid .
The DUID generated will be held in
.Pa @DBDIR@/duid
and should not be copied to other hosts.
-This file also takes precedence over the above rules.
+This file also takes precedence over the above rules except for setting a value.
.It Ic iaid Ar iaid
Set the Interface Association Identifier to
.Ar iaid .
diff -r 61cd627adccf -r f2268b1b2b68 external/bsd/dhcpcd/dist/src/ipv4.c
--- a/external/bsd/dhcpcd/dist/src/ipv4.c Sat Nov 28 14:08:37 2020 +0000
+++ b/external/bsd/dhcpcd/dist/src/ipv4.c Sat Nov 28 14:26:16 2020 +0000
@@ -728,7 +728,7 @@
return 0;
}
-void
+struct ipv4_addr *
ipv4_applyaddr(void *arg)
{
struct interface *ifp = arg;
@@ -738,7 +738,7 @@
struct ipv4_addr *ia;
if (state == NULL)
- return;
+ return NULL;
lease = &state->lease;
if (state->new == NULL) {
@@ -757,7 +757,7 @@
script_runreason(ifp, state->reason);
} else
rt_build(ifp->ctx, AF_INET);
- return;
+ return NULL;
}
ia = ipv4_iffindaddr(ifp, &lease->addr, NULL);
@@ -783,22 +783,22 @@
#endif
#ifndef IP_LIFETIME
if (ipv4_daddaddr(ifp, lease) == -1 && errno != EEXIST)
- return;
+ return NULL;
#endif
}
#ifdef IP_LIFETIME
if (ipv4_daddaddr(ifp, lease) == -1 && errno != EEXIST)
- return;
+ return NULL;
#endif
ia = ipv4_iffindaddr(ifp, &lease->addr, NULL);
if (ia == NULL) {
logerrx("%s: added address vanished", ifp->name);
- return;
+ return NULL;
}
#if defined(ARP) && defined(IN_IFF_NOTUSEABLE)
if (ia->addr_flags & IN_IFF_NOTUSEABLE)
- return;
+ return NULL;
#endif
/* Delete the old address if different */
@@ -820,6 +820,7 @@
script_runreason(ifp, state->reason);
dhcpcd_daemonise(ifp->ctx);
}
+ return ia;
}
void
diff -r 61cd627adccf -r f2268b1b2b68 external/bsd/dhcpcd/dist/src/ipv4.h
--- a/external/bsd/dhcpcd/dist/src/ipv4.h Sat Nov 28 14:08:37 2020 +0000
+++ b/external/bsd/dhcpcd/dist/src/ipv4.h Sat Nov 28 14:26:16 2020 +0000
@@ -135,7 +135,7 @@
struct ipv4_addr *ipv4_addaddr(struct interface *,
const struct in_addr *, const struct in_addr *, const struct in_addr *,
uint32_t, uint32_t);
-void ipv4_applyaddr(void *);
+struct ipv4_addr *ipv4_applyaddr(void *);
struct ipv4_addr *ipv4_iffindaddr(struct interface *,
const struct in_addr *, const struct in_addr *);
diff -r 61cd627adccf -r f2268b1b2b68 external/bsd/dhcpcd/dist/src/route.c
--- a/external/bsd/dhcpcd/dist/src/route.c Sat Nov 28 14:08:37 2020 +0000
+++ b/external/bsd/dhcpcd/dist/src/route.c Sat Nov 28 14:26:16 2020 +0000
@@ -713,7 +713,10 @@
#endif
RB_TREE_FOREACH_SAFE(rt, &routes, rtn) {
- if (!(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) &&
Home |
Main Index |
Thread Index |
Old Index