Update to dhcpcd-9.0.1 with the following changes: * Privilege Separation * Linux default hostname is (none), everyone is is a blank string * Leases are now dumped over the control socket - you get RA's now as well. * Better support for many IPv6 routers * NetBSD: RTM_MISS filtering * RA: Deprecate stale addresses by setting pltime 0 * DHCP6: Deprecate stale addresses by setting pltime 0 * Linux: Improve router reachability detection Note that the kernel will still say it's failed when deleting the entry * Linux: Note router preference in ip -6 route output * Linux: Fix compile warning if HAVE_IN6_ADDR_GEN_MODE_NONE isn't supported * Linux: Fix syslog support when /dev/log isn't in /dev * privsep: configure defaults to user dhcpcd if _dhcpcd or _dhcp are unsuitable * privsep: Improve error when we don't have permission to write lease * privsep: Fix hooks restarting other daemonsdiff -r1.98 -r1.99 pkgsrc/net/dhcpcd/Makefile
(roy)
@@ -1,29 +1,62 @@ | @@ -1,29 +1,62 @@ | |||
1 | # $NetBSD: Makefile,v 1.98 2020/04/09 16:31:53 roy Exp $ | 1 | # $NetBSD: Makefile,v 1.99 2020/04/13 16:24:09 roy Exp $ | |
2 | 2 | |||
3 | DISTNAME= dhcpcd-8.1.7 | 3 | DISTNAME= dhcpcd-9.0.1 | |
4 | PKGNAME= ${DISTNAME:S/-rc/rc/} | 4 | PKGNAME= ${DISTNAME:S/-rc/rc/} | |
5 | CATEGORIES= net | 5 | CATEGORIES= net | |
6 | MASTER_SITES= ftp://roy.marples.name/pub/dhcpcd/ | 6 | MASTER_SITES= ftp://roy.marples.name/pub/dhcpcd/ | |
7 | MASTER_SITES+= http://roy.aydogan.net/dhcpcd/ | 7 | MASTER_SITES+= http://roy.aydogan.net/dhcpcd/ | |
8 | MASTER_SITES+= http://cflags.cc/roy/dhcpcd/ | 8 | MASTER_SITES+= http://cflags.cc/roy/dhcpcd/ | |
9 | EXTRACT_SUFX= .tar.xz | 9 | EXTRACT_SUFX= .tar.xz | |
10 | 10 | |||
11 | MAINTAINER= roy@NetBSD.org | 11 | MAINTAINER= roy@NetBSD.org | |
12 | HOMEPAGE= https://roy.marples.name/projects/dhcpcd/ | 12 | HOMEPAGE= https://roy.marples.name/projects/dhcpcd/ | |
13 | COMMENT= DHCP / IPv4LL / IPv6RA / DHCPv6 client | 13 | COMMENT= DHCP / IPv4LL / IPv6RA / DHCPv6 client | |
14 | LICENSE= modified-bsd | 14 | LICENSE= modified-bsd | |
15 | 15 | |||
16 | .include "../../mk/bsd.prefs.mk" | |||
17 | ||||
18 | # Use the system _dhcpcd user introduced in NetBSD-9.99.53 | |||
19 | # Don't use the _dhcp user in other BSDs as their home directory | |||
20 | # is /var/empty and that shouldn't be used as a chroot. | |||
21 | .if !empty(MACHINE_PLATFORM:MNetBSD-*) && \ | |||
22 | (empty(MACHINE_PLATFORM:MNetBSD-[0-9].*) || \ | |||
23 | !empty(MACHINE_PLATFORM:MNetBSD-9.99.5[3-9]-*) || \ | |||
24 | !empty(MACHINE_PLATFORM:MNetBSD-9.99.[6-9]*-*)) | |||
25 | DHCPCD_USER?= _dhcpcd | |||
26 | DHCPCD_GROUP?= _dhcpcd | |||
27 | .endif | |||
28 | ||||
29 | .if !defined(DHCPCD_USER) | |||
30 | DHCPCD_USER?= dhcpcd | |||
31 | DHCPCD_GROUP?= dhcpcd | |||
32 | DHCPCD_CHROOTDIR?= ${VARBASE}/dhcpcd | |||
33 | ||||
34 | BUILD_DEFS+= DHCPCD_CHROOTDIR VARBASE | |||
35 | ||||
36 | PKG_USERS_VARS+= DHCPCD_USER | |||
37 | PKG_GROUPS_VARS+= DHCPCD_GROUP | |||
38 | PKG_GROUPS= ${DHCPCD_GROUP} | |||
39 | PKG_USERS= ${DHCPCD_USER}:${DHCPCD_GROUP} | |||
40 | ||||
41 | MAKE_DIRS+= ${DHCPCD_CHROOTDIR} | |||
42 | ||||
43 | PKG_GECOS.${DHCPCD_USER}= dhcpcd user | |||
44 | PKG_HOME.${DHCPCD_USER}= ${DHCPCD_CHROOTDIR} | |||
45 | PKG_SHELL.${DHCPCD_USER}= ${NOLOGIN} | |||
46 | .endif | |||
47 | ||||
16 | USE_LANGUAGES= c99 | 48 | USE_LANGUAGES= c99 | |
17 | HAS_CONFIGURE= yes | 49 | HAS_CONFIGURE= yes | |
18 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} | 50 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} | |
19 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} | 51 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} | |
20 | CONFIGURE_ARGS+= --with-hooks=ntp | 52 | CONFIGURE_ARGS+= --with-hooks=ntp | |
21 | CONFIGURE_ARGS+= --datadir=${PREFIX}/share/examples | 53 | CONFIGURE_ARGS+= --datadir=${PREFIX}/share/examples | |
54 | CONFIGURE_ARGS+= --privsepuser=${DHCPCD_USER} | |||
22 | 55 | |||
23 | EGDIR= ${PREFIX}/share/examples/dhcpcd | 56 | EGDIR= ${PREFIX}/share/examples/dhcpcd | |
24 | INSTALL_MAKE_FLAGS+= SYSCONFDIR=${EGDIR} | 57 | INSTALL_MAKE_FLAGS+= SYSCONFDIR=${EGDIR} | |
25 | CONF_FILES+= ${EGDIR}/dhcpcd.conf ${PKG_SYSCONFDIR}/dhcpcd.conf | 58 | CONF_FILES+= ${EGDIR}/dhcpcd.conf ${PKG_SYSCONFDIR}/dhcpcd.conf | |
26 | 59 | |||
27 | RCD_SCRIPTS+= dhcpcd | 60 | RCD_SCRIPTS+= dhcpcd | |
28 | 61 | |||
29 | .include "../../mk/bsd.pkg.mk" | 62 | .include "../../mk/bsd.pkg.mk" |
@@ -1,15 +1,14 @@ | @@ -1,15 +1,14 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.8 2016/01/07 17:29:48 roy Exp $ | 1 | @comment $NetBSD: PLIST,v 1.9 2020/04/13 16:24:09 roy Exp $ | |
2 | libexec/dhcpcd-hooks/01-test | 2 | libexec/dhcpcd-hooks/01-test | |
3 | libexec/dhcpcd-hooks/02-dump | |||
4 | libexec/dhcpcd-hooks/20-resolv.conf | 3 | libexec/dhcpcd-hooks/20-resolv.conf | |
5 | libexec/dhcpcd-hooks/30-hostname | 4 | libexec/dhcpcd-hooks/30-hostname | |
6 | libexec/dhcpcd-hooks/50-ntp.conf | 5 | libexec/dhcpcd-hooks/50-ntp.conf | |
7 | libexec/dhcpcd-run-hooks | 6 | libexec/dhcpcd-run-hooks | |
8 | man/man5/dhcpcd.conf.5 | 7 | man/man5/dhcpcd.conf.5 | |
9 | man/man8/dhcpcd-run-hooks.8 | 8 | man/man8/dhcpcd-run-hooks.8 | |
10 | man/man8/dhcpcd.8 | 9 | man/man8/dhcpcd.8 | |
11 | sbin/dhcpcd | 10 | sbin/dhcpcd | |
12 | share/examples/dhcpcd/dhcpcd.conf | 11 | share/examples/dhcpcd/dhcpcd.conf | |
13 | share/examples/dhcpcd/hooks/10-wpa_supplicant | 12 | share/examples/dhcpcd/hooks/10-wpa_supplicant | |
14 | share/examples/dhcpcd/hooks/15-timezone | 13 | share/examples/dhcpcd/hooks/15-timezone | |
15 | share/examples/dhcpcd/hooks/29-lookup-hostname | 14 | share/examples/dhcpcd/hooks/29-lookup-hostname |
@@ -1,6 +1,6 @@ | @@ -1,6 +1,6 @@ | |||
1 | $NetBSD: distinfo,v 1.95 2020/04/09 16:31:53 roy Exp $ | 1 | $NetBSD: distinfo,v 1.96 2020/04/13 16:24:09 roy Exp $ | |
2 | 2 | |||
3 | SHA1 (dhcpcd-8.1.7.tar.xz) = 2216815e680755769b827edf1e0c4a2b614e1a07 | 3 | SHA1 (dhcpcd-9.0.1.tar.xz) = 572154cb44497458d0a7994ccb35249b3c0e12d6 | |
4 | RMD160 (dhcpcd-8.1.7.tar.xz) = d3525efe5529966c1dc455c2ab07c92c2750da2c | 4 | RMD160 (dhcpcd-9.0.1.tar.xz) = c03fdbcc39b855aeec92248dafd92f51d83a4ffc | |
5 | SHA512 (dhcpcd-8.1.7.tar.xz) = ea58ef3db8254d677820c44b2842ef2f3697b2d90fcbd89b2ecfcbac87e705047cac17053bbe076a3f6d2775903c8e75eac38089d25c097e2f24a045c24977e8 | 5 | SHA512 (dhcpcd-9.0.1.tar.xz) = dea153c9a2f4a9d9c983bf50d8c18b544d7dbe1a2972ccc8eb33bbbc8b09178b39bdb9a38cc293db7861024509ccd475e11d84004bc4cd45947786f5e10db0a3 | |
6 | Size (dhcpcd-8.1.7.tar.xz) = 230308 bytes | 6 | Size (dhcpcd-9.0.1.tar.xz) = 244816 bytes |
@@ -1,18 +1,23 @@ | @@ -1,18 +1,23 @@ | |||
1 | #!@RCD_SCRIPTS_SHELL@ | 1 | #!@RCD_SCRIPTS_SHELL@ | |
2 | 2 | |||
3 | # PROVIDE: dhcpcd | 3 | # PROVIDE: dhcpcd | |
4 | # REQUIRE: network mountcritlocal | 4 | # REQUIRE: network mountcritlocal | |
5 | # BEFORE: NETWORKING | 5 | # BEFORE: NETWORKING | |
6 | # KEYWORD: chrootdir | |||
7 | ||||
8 | # To get syslog support for chroots, add this to rc.conf: | |||
9 | #dhcpcd_chrootdir=/var/chroot/dhcpcd | |||
10 | # The directory should match the home directory of the dhcpcd user. | |||
6 | 11 | |||
7 | $_rc_subr_loaded . /etc/rc.subr | 12 | $_rc_subr_loaded . /etc/rc.subr | |
8 | 13 | |||
9 | name="dhcpcd" | 14 | name="dhcpcd" | |
10 | rcvar=$name | 15 | rcvar=$name | |
11 | command="@PREFIX@/sbin/${name}" | 16 | command="@PREFIX@/sbin/${name}" | |
12 | 17 | |||
13 | load_rc_config $name | 18 | load_rc_config $name | |
14 | 19 | |||
15 | # Work out what pidfile dhcpcd will use based on flags | 20 | # Work out what pidfile dhcpcd will use based on flags | |
16 | if [ -n "$flags" ]; then | 21 | if [ -n "$flags" ]; then | |
17 | myflags=$flags | 22 | myflags=$flags | |
18 | else | 23 | else |