Up to [cvs.NetBSD.org] / src / external / bsd / dhcpcd / dist
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Apply patch, requested by roy in ticket #1690: external/bsd/dhcpcd/dist/configure external/bsd/dhcpcd/dist/src/auth.c external/bsd/dhcpcd/dist/src/dhcp.c external/bsd/dhcpcd/dist/src/dhcp6.c external/bsd/dhcpcd/dist/compat/consttime_memequal.h Security fixes for dhcpcd: Fix a potential 1 byte read overflow with DHO_OPTSOVERLOADED. Use consttime_memequal(3) to compare hashes.
Apply patch, requested by roy in ticket #1690: external/bsd/dhcpcd/dist/configure external/bsd/dhcpcd/dist/src/auth.c external/bsd/dhcpcd/dist/src/dhcp.c external/bsd/dhcpcd/dist/src/dhcp6.c external/bsd/dhcpcd/dist/compat/consttime_memequal.h Security fixes for dhcpcd: Fix a potential 1 byte read overflow with DHO_OPTSOVERLOADED. Use consttime_memequal(3) to compare hashes.
Pull up following revision(s) (requested by roy in ticket #1621): external/bsd/dhcpcd/dist/compat/crypt/sha256.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/crypt/md5.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/crypt/md5.h up to 1.1.1.2 external/bsd/dhcpcd/dist/compat/crypt/sha256.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/crypt/hmac.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/crypt/hmac.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/_strtoi.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/arc4random.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/arc4random.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/arc4random_uniform.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/arc4random_uniform.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/bitops.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/dprintf.c up to 1.1.1.2 external/bsd/dhcpcd/dist/compat/dprintf.h up to 1.1.1.2 external/bsd/dhcpcd/dist/compat/endian.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/pidfile.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/pidfile.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/queue.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/reallocarray.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/reallocarray.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/strtoi.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/strtoi.h up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/strtou.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/strlcpy.c up to 1.1.1.1 external/bsd/dhcpcd/dist/compat/strlcpy.h up to 1.1.1.1 external/bsd/dhcpcd/dist/config-null.mk up to 1.1.1.1 external/bsd/dhcpcd/dist/configure up to 1.1.1.8 external/bsd/dhcpcd/dist/iconfig.mk up to 1.1.1.1 external/bsd/dhcpcd/dist/hooks/01-test up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/02-dump up to 1.1.1.1 external/bsd/dhcpcd/dist/hooks/10-wpa_supplicant up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/15-timezone up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/20-resolv.conf up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/29-lookup-hostname up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/30-hostname up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/50-dhcpcd-compat up to 1.1.1.1 external/bsd/dhcpcd/dist/hooks/50-ntp.conf up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/50-yp.conf up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/50-ypbind.in up to 1.1.1.2 external/bsd/dhcpcd/dist/hooks/Makefile up to 1.1.1.1 external/bsd/dhcpcd/dist/hooks/dhcpcd-run-hooks.8.in up to 1.1.1.4 external/bsd/dhcpcd/dist/hooks/dhcpcd-run-hooks.in up to 1.1.1.4 external/bsd/dhcpcd/dist/src/GNUmakefile up to 1.1.1.1 external/bsd/dhcpcd/dist/src/Makefile up to 1.1.1.4 external/bsd/dhcpcd/dist/src/arp.c up to 1.1.1.7 external/bsd/dhcpcd/dist/src/arp.h up to 1.1.1.4 external/bsd/dhcpcd/dist/src/auth.c up to 1.1.1.5 external/bsd/dhcpcd/dist/src/auth.h up to 1.1.1.3 external/bsd/dhcpcd/dist/src/bpf.c up to 1.7 external/bsd/dhcpcd/dist/src/bpf.h up to 1.1.1.4 external/bsd/dhcpcd/dist/src/common.c up to 1.1.1.5 external/bsd/dhcpcd/dist/src/common.h up to 1.1.1.4 external/bsd/dhcpcd/dist/src/control.c up to 1.1.1.3 external/bsd/dhcpcd/dist/src/control.h up to 1.1.1.2 external/bsd/dhcpcd/dist/src/defs.h up to 1.1.1.15 external/bsd/dhcpcd/dist/src/dev.c up to 1.1.1.3 external/bsd/dhcpcd/dist/src/dev.h up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dhcp-common.c up to 1.1.1.4 external/bsd/dhcpcd/dist/src/dhcp-common.h up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dhcp.c up to 1.11 external/bsd/dhcpcd/dist/src/dhcp.h up to 1.1.1.6 external/bsd/dhcpcd/dist/src/dhcp6.c up to 1.1.1.12 external/bsd/dhcpcd/dist/src/dhcp6.h up to 1.1.1.6 external/bsd/dhcpcd/dist/src/dhcpcd-definitions-small.conf up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dhcpcd-definitions.conf up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dhcpcd-embedded.c.in up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dhcpcd-embedded.h.in up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dhcpcd.8.in up to 1.1.1.10 external/bsd/dhcpcd/dist/src/dhcpcd.c up to 1.13 external/bsd/dhcpcd/dist/src/dhcpcd.conf up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dhcpcd.conf.5.in up to 1.1.1.10 external/bsd/dhcpcd/dist/src/dhcpcd.h up to 1.1.1.5 external/bsd/dhcpcd/dist/src/duid.c up to 1.1.1.3 external/bsd/dhcpcd/dist/src/duid.h up to 1.1.1.1 external/bsd/dhcpcd/dist/src/eloop.c up to 1.1.1.5 external/bsd/dhcpcd/dist/src/eloop.h up to 1.1.1.3 external/bsd/dhcpcd/dist/src/genembedc up to 1.1.1.1 external/bsd/dhcpcd/dist/src/genembedh up to 1.1.1.1 external/bsd/dhcpcd/dist/src/if-bsd.c up to 1.1.1.8 external/bsd/dhcpcd/dist/src/if-linux-wext.c up to 1.1.1.2 external/bsd/dhcpcd/dist/src/if-linux.c up to 1.1.1.10 external/bsd/dhcpcd/dist/src/if-options.c up to 1.10 external/bsd/dhcpcd/dist/src/if-options.h up to 1.1.1.7 external/bsd/dhcpcd/dist/src/if-sun.c up to 1.1.1.4 external/bsd/dhcpcd/dist/src/if.c up to 1.1.1.8 external/bsd/dhcpcd/dist/src/if.h up to 1.1.1.5 external/bsd/dhcpcd/dist/src/ipv4.c up to 1.1.1.9 external/bsd/dhcpcd/dist/src/ipv4.h up to 1.1.1.4 external/bsd/dhcpcd/dist/src/ipv4ll.c up to 1.1.1.4 external/bsd/dhcpcd/dist/src/ipv4ll.h up to 1.1.1.4 external/bsd/dhcpcd/dist/src/ipv6.c up to 1.1.1.11 external/bsd/dhcpcd/dist/src/ipv6.h up to 1.1.1.7 external/bsd/dhcpcd/dist/src/ipv6nd.c up to 1.1.1.8 external/bsd/dhcpcd/dist/src/ipv6nd.h up to 1.1.1.6 external/bsd/dhcpcd/dist/src/logerr.c up to 1.1.1.2 external/bsd/dhcpcd/dist/src/logerr.h up to 1.1.1.3 external/bsd/dhcpcd/dist/src/route.c up to 1.1.1.8 external/bsd/dhcpcd/dist/src/route.h up to 1.1.1.4 external/bsd/dhcpcd/dist/src/sa.c up to 1.1.1.3 external/bsd/dhcpcd/dist/src/sa.h up to 1.1.1.2 external/bsd/dhcpcd/dist/src/script.c up to 1.1.1.4 external/bsd/dhcpcd/dist/src/script.h up to 1.1.1.2 external/bsd/dhcpcd/dist/src/dev/Makefile up to 1.1.1.1 external/bsd/dhcpcd/dist/src/dev/udev.c up to 1.1.1.2 external/bsd/dhcpcd/dist/tests/crypt/.gitignore up to 1.1.1.1 external/bsd/dhcpcd/dist/tests/crypt/GNUmakefile up to 1.1.1.1 external/bsd/dhcpcd/dist/tests/crypt/Makefile up to 1.1.1.2 external/bsd/dhcpcd/dist/tests/crypt/README.md up to 1.1.1.1 external/bsd/dhcpcd/dist/tests/crypt/run-test.c up to 1.1.1.2 external/bsd/dhcpcd/dist/tests/crypt/test.h up to 1.1.1.2 external/bsd/dhcpcd/dist/tests/crypt/test_hmac_md5.c up to 1.1.1.3 external/bsd/dhcpcd/dist/tests/Makefile up to 1.1.1.1 external/bsd/dhcpcd/dist/tests/eloop-bench/.gitignore up to 1.1.1.1 external/bsd/dhcpcd/dist/tests/eloop-bench/Makefile up to 1.1.1.2 external/bsd/dhcpcd/dist/tests/eloop-bench/README.md up to 1.1.1.1 external/bsd/dhcpcd/dist/tests/eloop-bench/eloop-bench.c up to 1.1.1.3 external/bsd/dhcpcd/dist/.arcconfig up to 1.1.1.1 external/bsd/dhcpcd/dist/.gitignore up to 1.4 external/bsd/dhcpcd/dist/BUILDING.md up to 1.1.1.2 external/bsd/dhcpcd/dist/LICENSE up to 1.1.1.2 external/bsd/dhcpcd/dist/Makefile up to 1.1.1.5 external/bsd/dhcpcd/dist/Makefile.inc up to 1.1.1.2 external/bsd/dhcpcd/dist/README.md up to 1.1.1.3 external/bsd/dhcpcd/dist/bpf-filter.h delete external/bsd/dhcpcd/dist/common.c delete external/bsd/dhcpcd/dist/arp.c delete external/bsd/dhcpcd/dist/arp.h delete external/bsd/dhcpcd/dist/auth.c delete external/bsd/dhcpcd/dist/auth.h delete external/bsd/dhcpcd/dist/dhcpcd.c delete external/bsd/dhcpcd/dist/control.c delete external/bsd/dhcpcd/dist/common.h delete external/bsd/dhcpcd/dist/config.h delete external/bsd/dhcpcd/dist/dhcp-common.c delete external/bsd/dhcpcd/dist/control.h delete external/bsd/dhcpcd/dist/defs.h delete external/bsd/dhcpcd/dist/dev.h delete external/bsd/dhcpcd/dist/dhcpcd-definitions.conf delete external/bsd/dhcpcd/dist/dhcp-common.h delete external/bsd/dhcpcd/dist/dhcp.c delete external/bsd/dhcpcd/dist/dhcp.h delete external/bsd/dhcpcd/dist/dhcp6.c delete external/bsd/dhcpcd/dist/dhcp6.h delete external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in delete external/bsd/dhcpcd/dist/dhcpcd-embedded.c delete external/bsd/dhcpcd/dist/dhcpcd.8.in delete external/bsd/dhcpcd/dist/dhcpcd-embedded.c.in delete external/bsd/dhcpcd/dist/dhcpcd-embedded.h delete external/bsd/dhcpcd/dist/dhcpcd-embedded.h.in delete external/bsd/dhcpcd/dist/ipv4.c delete external/bsd/dhcpcd/dist/if.c delete external/bsd/dhcpcd/dist/dhcpcd-run-hooks.in delete external/bsd/dhcpcd/dist/dhcpcd.h delete external/bsd/dhcpcd/dist/dhcpcd.conf delete external/bsd/dhcpcd/dist/dhcpcd.conf.5.in delete external/bsd/dhcpcd/dist/duid.c delete external/bsd/dhcpcd/dist/duid.h delete external/bsd/dhcpcd/dist/eloop.c delete external/bsd/dhcpcd/dist/eloop.h delete external/bsd/dhcpcd/dist/if-bsd.c delete external/bsd/dhcpcd/dist/if-options.c delete external/bsd/dhcpcd/dist/if-options.h delete external/bsd/dhcpcd/dist/if.h delete external/bsd/dhcpcd/dist/crypt/hmac_md5.c delete external/bsd/dhcpcd/dist/crypt/crypt.h delete external/bsd/dhcpcd/dist/ipv4.h delete external/bsd/dhcpcd/dist/ipv4ll.c delete external/bsd/dhcpcd/dist/ipv6.c delete external/bsd/dhcpcd/dist/ipv4ll.h delete external/bsd/dhcpcd/dist/ipv6.h delete external/bsd/dhcpcd/dist/ipv6nd.c delete external/bsd/dhcpcd/dist/ipv6nd.h delete external/bsd/dhcpcd/dist/script.c delete external/bsd/dhcpcd/dist/script.h delete external/bsd/dhcpcd/dist/dhcpcd-hooks/15-timezone delete external/bsd/dhcpcd/dist/dhcpcd-hooks/01-test delete external/bsd/dhcpcd/dist/dhcpcd-hooks/02-dump delete external/bsd/dhcpcd/dist/dhcpcd-hooks/10-mtu delete external/bsd/dhcpcd/dist/dhcpcd-hooks/10-wpa_supplicant delete external/bsd/dhcpcd/dist/dhcpcd-hooks/20-resolv.conf delete external/bsd/dhcpcd/dist/dhcpcd-hooks/29-lookup-hostname delete external/bsd/dhcpcd/dist/dhcpcd-hooks/30-hostname delete external/bsd/dhcpcd/dist/dhcpcd-hooks/50-ntp.conf delete external/bsd/dhcpcd/dist/dhcpcd-hooks/50-ypbind delete usr.sbin/postinstall/postinstall: revision 1.211-1.213 etc/rc.d/dhcpcd upto 1.5 doc/3RDPARTY manual edit Import dhcpcd-7.0.7. Adjust postinstal and rc file.
Sync with HEAD
Sync with HEAD
Sync
Sync with HEAD
Sync
Import dhcpcd-6.11.4 with the following changes: * Fixed octal and hex string parsing in options. * Several statically sized buffers have been removed and replaced with dynamically sized ones where we have no real idea of what the size will be. * Reverse IPv4 route removal order. * Added --small configure directive to reduce binary size * Allow DHCPv6, IPv4lL and authentication to be compiled out * Add support for ifa_addrflags in getifaddrs(3) * Add support for ifam_addrflags and ifam_pid from route(4) * If T1 or T2 are not set in DHCPv6 messages, use a default from the lowest pltime instead of the expiration time. * Validate lease before moving to REQUEST when both ends use rapid commit. * If lease validation fails, don't restart the DISCOVER phase if we're already in it.
provide a NO_AUTH option to strip auth for boot media; saves around 40K.
Sync
Import dhcpcd-6.11.3 with the following changes: * Workaround a 14 year old BSD issue where initial address lifetimes are transfered to the prefix route and are not updated again, causing the kernel to remove the route. The fix is to initially add the address with infinite lifetimes and then change the lifetimes to the correct ones. * IPv6 RA routes are now expired by dhcpcd. * Fix gateway interface assignment on BSD. * Only mask off signals we do something with (allows coredumps on some platforms) * Fix a memory issue where an old lease could be read and discarded but the buffer length not reset. * Bind DHCPv6 to the link-local address when not running in master mode so that many dhcpcd instances can run per interface.
Sync with HEAD
Sync
Import dhcpcd-6.11.2 with the following changes: * It's now possible to exclude the vendor-class option. * Fixed a NULL pointer dereference when checking ARP conflicts. * Revert a change in 6.11.1 which causes some packets not to be read correctly from the BPF socket. * Commandline options are now applied to profiles. * Simplified route handling on BSD. * Fix expiration of IPv6 routers if a static route was present. * --inactive now starts with all interfaces inactive. subsequent calls to dhcpcd can activate/deactivate them.
Sync
Import dhcpcd-6.11.1 with the following changes: * Fix truncated packet handling where the DHCP message is less than the BOOTP size * Rework the raw socket handling around an fd for initial Solaris support * Only pull one message from the raw socket - eloop will handle the looping * Netmask fixes for STATIC and INFORM * Rework if_address to use struct ipv4_addr, like the ipv6 counter parts * Split BSD handlink into many smaller functions to improve readability * empty DNS entries are no longer created * Test for hostname_fqdn being set to server or blank * Allow an SLA 0 and prefix length of 0 to delegate the whole prefix ia_pd 1 wm1/0 * Fix prefix delegation address timings on renew
Handle truncated DHCP messages, provided only the BOOTP vendor area is truncated. [3fd740f3ed] OK from roy@
Avoid a "conversion to '__uint16_t' from 'int' may alter its value" error on some architectures (like m68k).
Sync
Import dhcpcd-6.11.0 with the following changes: * pidfile directory is now created correctly at startup. * bootp "leases" are now stored so dhcpcd can dump them. * ARP state is keep open so we can detect duplicates (currently this is only logged, no action is taken). * --lastleastextend allows dhcpcd to extend a DHCP lease once it has expired. The lease is dropped if any other node claims the address. * Delegated Prefix reject routes will be correctly bound to the loopback interface. If a delegated address uses the whole prefix, then the reject route is removed. If this address is removed, the reject route is restored. * dhcp code has been reworked around a classic BOOTP structure instead of a fixed size DHCP structure based on a max MTU of 1500. Each reference to it also has a size so we know it's length. Adding an option to a message is now guarded via easy macros. Option concatenation buffer is no longer a fixed size. * many more changes so that dhcpcd passes all current Coverity tests.
Sync
Import dhcpcd-6.10.3 with the following changes: * Support iSNS, RFC4174 * Fix Prefix Delegation with SLA 0 and warn that it's not really RFC compliant * On an IPv4LL defence, an ARP announcement is now sent in accordance with RFC 3927 Section 2.5
Sync
Import dhcpcd-6.10.2 with the following changes: * Add fix for CVE-2014-7913. * eloop performance and API improvements. * Don't send a blank hostname, fixes PR bin/50705. * Prefix Delegation default value fixes. * Prefix Delegation suffix is now configurable. * dhcpcd.conf now allows embedded comments. * IPv6 static address support. * ipv6ra_accept_nopublic has been removed, all prefixes now accepted. * Support RTF_CONNECTED on NetBSD. * Remove pidfile handling from dhcpcd and use pidfile_lock(3). If not available, use a compat shim. * Fix changing routes on BSD.
Sync
Import dhcpcd-6.10.0 with the following changes: * --noption requires an argument * optimise the ARP BPF filter, thanks to Nate Karstens * send gratuitous ARP each time we apply our IP address * fix truncation of hostnames based on the short hostname option * improve routing and address management by always loading all interfaces, routes and addresses even for interfaces we are not directly working on * timezone, lookup-hostname, wpa_supplicant and YP hooks are no longer installed by default but are installed to an example directory * improve error logging of packet parsing * fix ignoring routing messages generated by dhcpcd just before forking * fix handling of rapid commit messages (allow ACK after DISCOVER) * add PROBE state so we can easily reject DHCP messages received during the ARP probe phase * fix CVE-2016-1503 * fix CVE-2016-1504 An extra patch was added to the import from the official 6.10.0 release to add -P, --printpidfile so the dhcpcd rc.d script can work out what pidfile to use.
Sync
Import dhcpcd-6.9.4 with the following changes: * dhcpcd will now configure chrony if installed and ntp isn't * dhcpcd no longer attempts temporary address management on Linux * replace the SixRD decode function with a generic definition * try harder to ensure only 1 lladdr exists per interface on BSD * change IPv6 routes on MTU change * -p works with -x on an already running process started without -p * fix TEST for IPv4LL * Correct size allocation for prefix delegation, thanks to Jade * Add an option to enable DHCPv6 Information Request without the need for dhcpcd to recieve an IPv6 Router Advertisement with the Other Configuration bit set. * Introduce the optional option type, which allows embedded options to be optional * Mark our logger function as sysloglike because we enjoy using %m * Don't check link state if not instruted to before working out if we can fork early or not. * Add a -N --renew option to renew any existing address early * Obey the hostname_short option even for configured FQDN hostnames * -U, --dumplease now works with standard input. It no longer works with a filename. * If dumping leases, skip authentication and address expiry checks * Fix adding static routes via a gateway on BSD * Always send LOG_DEBUG to syslog(3) even if we are in quiet mode. It's upto syslog to filter it. * If testing or dumping leases, don't send to syslog only stdout/stderr.
Sync
Import dhcpcd-6.9.3 with the following changes: * Statically assigned interface_mtu= works again * Statically assigned DHCP variables persist across lease renews
fix bogus gcc unitialized warning
Sync
Import dhcpcd-6.9.2 with the following changes: * Only run the IPv4LL script and rebuild routes on drop when an address is actually dropped. * Add noup directive to stop master mode bringing an interface up. * If only IPv4LL addresses exist, assign a default route to the interface so that IPv4LL can talk to non IPv4LL on the same link. * Set DHCPv4 MTU on routes instead of the interface. This matches IPv6 behaviour and works around dodgy interfaces where a MTU change can reset the PHY causing an infinite loop. * MTU is now requested by default in dhcpcd.conf again. * noauthrequired also allows unauthenticated FORCERENEW and RECONFIGURE messages. * Simplify the socket code by adding a custom function instead of having the same #ifdef mess for systems without SOCK_CLOEXEC. Thanks to Christos Zoulas. * Don't do platform init or setting interface MTU if too small when testing or dumping leases. * Build new_domain_name from other sources if blank before checking it's blank to remove any prior config. Thanks to Paul Walrath. * Describe adding an IPv6 temporary address. * Don't delete dhcpcd assigned IPv6 link-local addresses when releasing leases. * Reference old DHCPv6 FQDN when processing the hostname.
Sync
Import dhcpcd-6.9.1 with the following changes: * Fixed waitip * For Prefix Delegation, servers must now support RFC7550 * Fixed detecting host routes in DHCP messages * Fixed ARP checking that failed in some situations * Fixed static address assignment in dhcpcd.conf * Split IPv4LL state from DHCP and into it's own state * Reject any NA/RA with a hop limit != 255 * Replace if_oneup with if_afwaited and af_waited for hook scripts * Fix a potential buffer overrun if an embedded DHCP option is a zero length or fails to parse - thanks to Paul Stewart * Check fclose for errors - thanks to Bob * wpad_url has been added to dhcpcd-definitions.conf * Fix a double free when failing to send a DHCPv6 RELEASE Thanks to Todd Blanchard. * Correct IPv6 public address test, thanks to Micha? K?pie? * Fix DHCPv6 starting if no public addresses found in the RA but the M or O bit was set * Replaced custom uptime() with clock_gettime(2) * Fix DHCPv6 elapsed time
Sync
Import dhcpcd-6.9.0 with the following changes: * Fix IPv6 prefix underflow when confirming deprecated but valid leases * eloop.c and .h are now 100% portable outside of dhcpcd (provided the system supports recent POSIX and either you or the system provide working TAILQ macros) * Allow waitip to work per interface. * Handle ND options in the same way we handle DHCP and DHCPv6 options. * Add new variable of type bitflags:flags where the flags ABCDEFGH, A is 10000000, B is 01000000, etc. Variables with the name reserved are no longer processed. * Improve IN_IFF_TENTATIVE with ip sharing.
Sync
Import dhcpcd-6.8.2 with the following changes: * dumping leases no longer affects kernel settings * dhcpcd can now act as a pure BOOTP client * IPv6 default route is only installed once a working address is available. * fixed a crash when finding a route without an interface. * support IN_IFF_TENTATIVE and friends. The last change allows dhcpcd to persist the address when the carrier goes down. The normal DHCP workflow will then manage the address correctly.
more htons uint16_t lossage
Sync
Import dhcpcd-6.8.0 with the following changes: * Use the exit code of EXIT_SUCCESS when terminating gracefully. * Fix dumping a lease file by filename. * If RTF_LOCAL is defined, don't try and set loopback routes. * Fix adding host routes on BSD. * After adding an address load the kernel routing table for the interface. When routes are rebuilt try not to remove any existing routes if they don't need changing. * Replace timeval with timespec for our internal functions. * Support kqueue(2). * Better support for more interface types on BSD, thanks to Guy Yur. * Many Prefix Delegation fixes. * Fix creation of normal IPv6 link-local addresses overflowing the address storage and fooling dhcpcd into thinking it's not tentative when added. * Add own syslog(3) like logging function for a nicer output and so we can log to a file for the case when syslogd(8) starts after dhcpcd so we can log any errors during system start using the new --logfile option.
Pull up the following, requested by pettai in ticket #495: external/bsd/dhcpcd/dist/arp.c up to 1.9 external/bsd/dhcpcd/dist/arp.h up to 1.8 external/bsd/dhcpcd/dist/auth.c up to 1.8 external/bsd/dhcpcd/dist/auth.h up to 1.8 external/bsd/dhcpcd/dist/common.c up to 1.8 external/bsd/dhcpcd/dist/common.h up to 1.7 external/bsd/dhcpcd/dist/control.c up to 1.7 external/bsd/dhcpcd/dist/control.h up to 1.7 external/bsd/dhcpcd/dist/defs.h up to 1.14 external/bsd/dhcpcd/dist/dev.h up to 1.7 external/bsd/dhcpcd/dist/dhcp-common.c up to 1.7 external/bsd/dhcpcd/dist/dhcp-common.h up to 1.7 external/bsd/dhcpcd/dist/dhcp.c up to 1.27 external/bsd/dhcpcd/dist/dhcp.h up to 1.7 external/bsd/dhcpcd/dist/dhcp6.c up to 1.9 external/bsd/dhcpcd/dist/dhcp6.h up to 1.7 external/bsd/dhcpcd/dist/dhcpcd-definitions.conf up to 1.7 external/bsd/dhcpcd/dist/dhcpcd-embedded.c up to 1.7 external/bsd/dhcpcd/dist/dhcpcd-embedded.c.in up to 1.1.1.2 external/bsd/dhcpcd/dist/dhcpcd-embedded.h up to 1.7 external/bsd/dhcpcd/dist/dhcpcd-embedded.h.in up to 1.1.1.3 external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in up to 1.13 external/bsd/dhcpcd/dist/dhcpcd.8.in up to 1.40 external/bsd/dhcpcd/dist/dhcpcd.c up to 1.22 external/bsd/dhcpcd/dist/dhcpcd.conf.5.in up to 1.18 external/bsd/dhcpcd/dist/dhcpcd.h up to 1.9 external/bsd/dhcpcd/dist/duid.c up to 1.7 external/bsd/dhcpcd/dist/duid.h up to 1.7 external/bsd/dhcpcd/dist/eloop.c up to 1.8 external/bsd/dhcpcd/dist/eloop.h up to 1.7 external/bsd/dhcpcd/dist/if-bsd.c up to 1.17 external/bsd/dhcpcd/dist/if-options.c up to 1.20 external/bsd/dhcpcd/dist/if-options.h up to 1.8 external/bsd/dhcpcd/dist/if.c up to 1.11 external/bsd/dhcpcd/dist/if.h up to 1.8 external/bsd/dhcpcd/dist/ipv4.c up to 1.11 external/bsd/dhcpcd/dist/ipv4.h up to 1.8 external/bsd/dhcpcd/dist/ipv4ll.c up to 1.8 external/bsd/dhcpcd/dist/ipv6.c up to 1.8 external/bsd/dhcpcd/dist/ipv6.h up to 1.10 external/bsd/dhcpcd/dist/ipv6nd.c up to 1.20 external/bsd/dhcpcd/dist/ipv6nd.h up to 1.9 external/bsd/dhcpcd/dist/script.c up to 1.17 external/bsd/dhcpcd/dist/crypt/crypt.h up to 1.6 external/bsd/dhcpcd/dist/crypt/hmac_md5.c up to 1.6 doc/3RDPARTY 1.1198 Import dhcpcd version 6.7.1.
Sync
Import dhcpcd-6.7.0 with the following changes: * Only release the DHCPv6 lease when dropping it. * Fix handling of ND6_IFF_OVERRIDE_RTADV on BSD. * Include paths.h to get _PATH_BPF. Thanks to Joerg Sonnenberger. * Report a better error of the kernel lacks a BPF equivalent filter. * Implement RFC4941, Privacy Extensions for Stateless Address Autoconfiguration in IPv6 when dhcpcd is overriding the in-kernel RA support. For BSD, this is a full userland implementation. * reject <option> will now reject any DHCP message that contains that option. * Ignore RA's from ourself for very badly configured stations.
Pullup the import of dhcpcd-6.6.7, requested by roy in #207
Sync
Import dhcpcd-6.6.6 with the following changes: * Clarify timeout and reboot timeout, make it more sane * A server should not NAK an INFORM * The noalias directive will now remove any IPv4 addresses existing on the interface when we want to add our own * Stop polling for IPv6 router reachability Instead, expect for cached neighour route additions/changes/removals to be announced by the kernel * Store acquired time for each IPv6 address so we can correctly offset pltime and vltime if we need to re-add them
Sync
Import dhcpcd-6.6.5 with the followng changes: * Allow STOPPED to be processed by dhcpcd-run-hooks(8) * Don't attempt to match IFT to ARP types directly * If neither dig nor host are present, fallback to getent(1) * If IFF_UP is not set when we get a carrier up event, poll for it instead of giving up * Failure to bind to the DHCP port on the wildcard address when it's in-use is not an error
Sync
Import dhcpcd-6.6.3 with the following changes: * Log which IP address we are ARPing. * Only free other ARP states if not assinging an IPv4LL address. * Reload global config when running per interface commands. This matches the signal behaviour. * If we don't have a hardware address, fallback to creating a default IAID from the interface name and index as we used to. * If we don't have a hwlen and no clientid has been set, force a DUID based ClientID. * Disable IPv6RS if a loopback, pointopoint or not a multicast interface. * If allowinterfaces is not specified, allow all configured interfaces to work, such as loopback and ppp. * When not daemonising, don't exit on timeout. * Zero length UDP packets are not an error condition on the socket. * If the IP address is still on the interface when reading a lease, fake add the address and routes so the lease can be cleaned up if needed.
Sync
Import dhcpcd-6.6.2 with the following changes: * TAILQ macros are now pulled in via config.h only so dhcpcd compiles on systems where sys/queue.h does not exist at all. * Remove DHCP state correctly when the interface departs * End the IPv4LL state when DHCP is stopped * Ensure that any DHCP leased offered still exists when assigning an IPv4LL address
Add RCSIDs
Sync
Import dhcpcd-6.6.1 with the following changes: * Improve handling of the IPv6LL address at startup * Support old Linux kernels where IFLA_AF_SPEC may not exist * When stopping interfaces, skip past pseudo interfaces instead of finding the master as only the masters are sorted correctly RCSIDs have been removed from the import and will be added afterwards as patches as technically they are not part of the dhcpcd project directly. Hopefully this will be future imports less painful.
Sync
dhcpcd-6.6.0 has been imported with the following changes: * Log the address IPv4LL defends * PREINIT, UNKNOWN and CARRIER are not either up nor down states * ARP code re-written to allow for many ARP states * IPv4LL address is now pseudo random based on HW address instead of really random as per RFC 3927 Section 2.1 * If not doing DHCP or DHCP6, disable the DNS requirement in the RA to fork. * Treat IPv4LL as fallback and start DHCP discovery even if the prior lease was IPv4LL when rebooting. * When we transition from REQUEST to DISCOVER in a reboot, start IPv4LL at the same time as discover to ensure we have an address quicker.
Sync
Import dhcpcd-6.5.1 with the following changes: * Don't work on bridge, or ptp interfaces unless explicitly told * Poll for IFF_RUNNING again but avoid constantly sending IFF_UP (should now fix all carrier problems on BSD virtual interfaces) * Don't crash when processing IPv6 route calls from the kernel when IPv6 resources have been disabled in dhcpcd * Allow the same IP address to be shared across different interfaces Interface with the lowest metric gets the IP address, will move to the next highest if dropped (interface departs, carrier drops, etc) * Delegated prefix addresses are now reported via DELEGATE6 * Work better with unknown delegated prefix lengths * Move IPv4LL and ARP to the DHCP eloop queue to fix timing issues * Add IA PD documentation update from christos
Sync
Import dhcpcd-6.5.0 with the following changes: * Fix an unaligned access error on BeagleBone Black with FreeBSD. Thanks to Guy Yur for the patch. * Remove the fast loop trying to up an interface which does not report carrier. * Remove vis based encoding - instead validate against option type and stop at invalid [1] This removes all shell escaped encoding - dhcpcd will assume that IF the --script option is a shell, it will quote variables correctly. The stock dhcpcd-run-hooks does. * dhcpcd -V now prints how the variables will be decoded. * Changed some options in dhcpcd-definitions.conf to more sensible defaults. * Don't daemonise on delegated address dad. * Don't drop delegated reject route when forking. * Fix IPv6 handling of link-local addresses on KAME stacks. * Work on OpenBSD-5.6 without any special interface setup needed. * Callout to handlecarrier when we don't have real carrier support and rely on looking at IFF_UP and IFF_RUNNING. This allows our hooks to know that dhcpcd thinks we have a carrier or not. [1] DHCP option encodings defined in dhcpcd-definitions.conf * domain (RFC3397)/dname (string) is strict domain name allowance (ie, [alnum] with _- (but not at the start or end)) * string is now printable ascii (1-127) until invalid * ascii is all ascii (1-127) until invalid * raw is all chars (1-255) until NUL * binhex is a hex representation of the option including embedded NULs * ssid is still escpaed octal because it's expected to be human readable AND can technically be all NUL * everything else has strict option -> value encoding
Sync
Import dhcpcd-6.4.6 with the following changes: * Detect removal of IPv6 routes * Don't add link-local addresses to POINTOPOINT interfaces * Don't discard expired DHCPv6 leases when dumping them * If a DHCPv6 lease has no timers, expire it right away * Report delegated addresses * Call dhcpcd-run-hooks correctly when delegated prefixes already exist * Fix a memory error when ia_* config exists but IPv6 is disabled * Ensure servername and bootfile are safely exported * Sanitise the following characters using svis(3) with VIS_CTYLE and VIS_OCTAL: | ^ & ; < > ( ) $ ` \ " ' <tab> <newline> This allows a non buggy unvis(1) to decode it 100% and stays compatible with how dhcpcd used to handle encoding on most platforms. For systems that supply svis(3) there is a code reduction, for systems that do not, a slight code increase. This change mitigates systems affected by bash CVE-2014-6271 and CVE-2014-7169.
Sync
Import dhcpcd-6.4.4 with the following changes: * Many bounds checking fixes from Tobias Stoeckmann * Improve error when the authentication token cannot be found * close the IPv4 specific UDP socket when done sending * Implemented a write queue to the control sockets * Only send interfaces to control sockets when in a BOUND state * Add a sample controlgroup directive to dhcpcd.conf to make setup easier * Add variables if_oneup and if_ipwaited so hook scripts know the overall state of dhcpcd better * Pass RC_SVCNAME from enviromment to hooks so that a service hook can know it's name (may not be dhcpcd) * Document every variable set for dhcpcd-run-hooks(8) * Allow SSIDs with non printable characters to be used in ssid selection in dhcpcd.conf * Add an unprivileged control socket so that normal users can obtain dhcpcd running state
Rebase to HEAD as of a few days ago.
Rebase.
Sync
Import dhcpcd-6.4.3 with the following changes: * Correct DHCPv6 Prefix Delegation option decoding * Poll interfaces on BSD for IFF_RUNNING if link state cannot be obtained * Check for an IA to use in DHCPv6 lease validation * Warn about exceeding IDGEN_RETRIES when a stable private address cannot be obtained * Fix DHCP option overload handling, thanks to Tobias Stoeckmann
Sync
Import dhcpcd-6.4.1 with the following changes: * If just given a domain and no search list, make the search list the domain * Skip arpping directives if we have a profile but not parsing one * Allow the request of a DHCPv6 address or prefix, a prefix length must be specified * Add the ability to dump DHCPv6 leases * Improve startup with regards to carrier checking and adding a link-local IPv6 address * Start the correct interface reference for added devices * Support http://datatracker.ietf.org/doc/draft-ietf-dhc-dhcpv6-stateful-issues-06 via the ia_pd_mix option * Fix link handling where kernel reported flags in LINK_UP may not be valid when we actually process them * Fix defining new options in dhcpcd.conf and requesting them * Fix a potential segfault when reloading configurations * Print user defined options via -V * Add support for RFC6603, Prefix Exclude option * When requesting a IA_PD and another IA type, create a psuedo interface to handle the IA_PD * Handle truncated DHCPv6 saved leases
Sync
Import dhcpcd-6.4.0 with the following changes: * Only fork when the RA has a RDNSS option AND a valid prefix OR no DHCPv6 instruction. * Handle BSD per interface rtadv kernel flag. * Add a reject route for the delegated prefix so that unassigned prefixes don't go back upstream. * If not specified, Delegated Prefixes will get an automatic SLA of the interface index. If the biggest SLA and the assigned prefix fits into a /64 then dhcpcd creates a /64 prefix so that SLAAC works. If bigger than /64 is needed then dhcpcd creates one rounded upto the nearest multiple of 8. Unless a configured SLA of 0 is assigned, a reject route for the Delegated Prefix is installed to stop unassigned addresses trying to be resolved upstream. Addresses added from Delegated Prefixes now have a default address suffix of 1 instead of using a SLAAC style address. * Don't spam timezone updates unless its actually changed. * Support ND6_IFF_OVERRIDE_RTADV on BSD. * Document why we don't send both FQDN and hostname options. * Respect RFC4861 MAX_RTR_SOLICITATION_DELAY as specified in section 6.3.7. * RFC2131 section 4.4.1 states the client SHOULD wait a random time between one and ten seconds to desynchronize the use of DHCP at startup. Instead we wait a random time between zero and one second to mirror the more modern IPv6RS and DHCPv6 standards unless overridden by defining RFC2131_STRICT. * Always send a carrier as it's no longer encapsulated in the IPv4 stack. When stopping and not departed, run with the STOPPED reason but do not process it in hooks. * Poll kernel neighbour reachability (SIOCGNBRINFO_IN6) for each router instead of sending and listening for Neighbour Soliciation/Advertisement packets. The kernel is privy to a lot more reachability information than userland is. * Ensure that ND6_IFF_PERFORMNUD is set. * controlgroup option changes group ownership of the control socket. * Should use arc4random_uniform when wanting a randon number between 1 and N. Improve the compat arc4random function a little and re-stir on fork. * -4 and -6 are now mutually exclusive and when running on a single interface per protocol pidfiles are created. This means that other control options suchs as -x and -n will require the -4 or -6 option as well. * Implement Stable Private Addresses for SLAAC as per RFC7217. Enable this as default in dhcpcd.conf. * Log error condition if a new or changed Router Advertisment to avoid spamming the log. * Add an IPv6 link-local address before upping the interface if needed. Bring an interface up when we start it and not during discovery. As such, stop waiting on carrier for a second if we did. * Add gateway option to enable the gateway or an interface/profile. Ensure the option and require options disable the nooption option - last wins. * Restarting ntp/yp are not critical and their initialisation continues in the background as well so we may as well background the restart commands for faster dhcpcd performance.
sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
Sync
Import dhcpcd-6.3.2 with the following changes: * Improvements to autoconf build emulation * CARRIER/NOCARRIER are now run outside of the IPv4 runs * validate domains correctly which contain a - on non bash shells * don't remove IPv6 addresses from internal state when added as tentative * HUP now rebinds, ALRM now releases - the -x and -k flags work as they used to * Add -M, --master option to force dhcpcd into master mode even if one interface is specified on the command line * Fix a crash when receiving a reconfigure key * Dumping a DHCPv4 lease works again * SEND_DAD code removed * hoplimit is no longer defined for DHCPv6 messages * hoplimit of 255 for IPv6 RS/ND message is now defined at the socket instead of ancillary data with the message
Sync
Import dhcpcd-6.3.1 with the following changes * all issuses reported by clang static analyser have been resolved.
Sync
Import dhcpcd-6.3.0 with the following changes: * IAID must be inside an interface block. * Detect IPv6 address flags on Linux. * Check that we have ctrl_interface defined in wpa_supplicant.conf and pass this parameter to wpa_cli(8). If not set, warn about not interacting with wpa_supplicant(8). * Skip Virtual Interface Masters. Currently this only applies to FreeBSD VAP masters as dhcpcd should only work on wlandev created clones. * Fix handling of ARP failures, thanks to Sebastian Huber. * Implement RFC 1321 MD5 Message-Digest if not provided in libc. * Implement RFC 2104 HMAC Keyed Hashing. * Implement RFC 3118 Authentication for DHCP Messages and RFC 3315 Authentication options. * Add nodhcp and nodhcp6 directives. Thanks to Sebastian Huber for the initial patch and testing. * Implement support for RFC 3203, FORCERENEW message. * Implement Force Renew Nonce Capability option, RFC6704 * Support RECONFIGURE DHCPv6 messages. * Add support for DHCP auto configuration, RFC 2563. * Add support for the following RFCs + DHCP SLP Directory Agent, RFC2610 + DHCP Name Service Search, RFC2937 + DHCP PANA Authentication Agent, RFC5192 + DHCP Lost Server, RFC5223 + DHCP CAPWAP, RFC5417 + DHCP Mobility Services, RFC5678 + DHCP SIP UA, RFC6011 + DHCP ANDSF, RFC6153 + DHCP RDNSS Selection for MIF Nodes, RFC6731 + DHCP TFTP Server Address, RFC5859 + DHCP PXELINUX, RFC5071 + DHCP Access Network Domain Name, RFC5986 + DHCP Virtual Subnet Selection, RFC6607 + DHCP Relay Agent Remote-ID, RFC4649 + DHCP Relay Agent Subscriber-ID, RFC4580 + DHCPv6 Relay-ID, RFC5460 + DHCPv6 LIS Discovery, RFC5986 + DHCPv6 SIP UA, RFC6011 + DHCPv6 Network Boot, RFC5970 + DHCPv6 Home Info Discovery in MIPv6, RFC6610 + DHCPv6 RDNSS Selection for MIF Nodes, RFC6731 + DHCPv6 Kerberos, RFC6784 + DHCPv6 Relay-Triggered Reconfiguration, RFC6977 + DHCPv6 SOL_MAX_RT, RFC7083 * Open UDP sockets for *.*.*.*:bootpc and $ip_address:bootpc to avoid kernel ICMP unreachable messages * Moved global variables into context variables so dhcpcd is entirely thread safe. dhcpcd doens't use threads, but it can now be used in a pure threads (ie no process) environment. * Remove DEBUG_MEMORY guard and always free memory and resources. Remove all atexit(3) and exit(3) calls, instead exiting via the eloop. * Replace get_line with sscanf where applicable. * Remove custom set_cloexec and set_nonblock functions. Instead pass O_CLOEXEC or SOCK_CLOEXEC to open, socket, etc. * Don't use PATH_MAX - we already know the maximum length from the initial directory and IF_NAMESIZE. * Add a USE_SIGNALS define. If we're not using signals then we also create a control socket in the non MASTER case. We then use this to communicate instead of signals. * Fix arping moving to the next test if we find the IP address but do not have a profile for it. Thanks to David McGurty for the analysis. * Respect initial commandline arguments when rebooting via a signal.
Sync
Import dhcpcd-6.2.1 with the folowing changes: * on BSD only flush RA routers and prefixes when trying to own them. * Mark some data locations as read only and fix a build issue. * Fix some possible NULL dereferences, CID 1153963. * Fix CID: 1153964 and 1153966 * Add support for RFC3495 DHCP option for CableLabs Clients. Note that for the TSP suboption 3 we only support the FQDN encoding. * Init system detection moved to dhcpcd-run-hooks(8) * Fix compile errors and warnings with IPv6 disabled.
Sync
Import dhcpcd-6.2.0 with the following changes: * Fix NAK backoff when a server NAKs a REQUEST after a DISCOVER. * Fix IPv6 ICMP filtering on Android (RS/RA now works) * Fix sending of DHCPv6 FQDN when only hostname specified * Add support for RFC3925 Vendor-Identifying Vendor Options * Remove hard coded DHCP/DHCPv6 options and embed dhcpcd-definitions.conf. This actually results in a slightly smaller binary than before and has the added advantage that the option definitions are now all held within one file. * Change IAID to default from the last 4 bytes of the MAC address. Rationale in the commit, but in a nutshell it allows for a stable IAID between reboots without persistent storage and across different OS's who name or number it differently to each other. * RFC4242, Information Refresh Time Option for DHCPv6. * Fix processing of inet4 addr in vendor options and terminate correctly. * Preserve vendor encapsulated options. * Fix renewal of Prefix Delegation. Only spam the log if a lease has a new address or changes the vltime of an existing address. * Add noipv4 and noipv6 options. * Warn about missing interfaces which require prefix delegation. * If we timeout, remove any waitip config so that we daemonise correctly. * Remove the IPv6 forwarding router check as valid use cases exist where you would want IPv6 RS/RA on a router. * Pass the correct run directory to dhcpcd-run-hooks
Sync
Import dhcpcd-6.1.0 with the following changes: * Fixed a segfault when configuring a static route in dhcpcd.conf * Merged IPv6 ND and RA codebases * Persistent configuration is now a default option in dhcpcd.conf * Store configured IPv4 addresses against the interface so we only add them if actually missing to avoid RTM_DELADDR/NEWADDR loops on some OS's * waitip now supports waiting for any, IPv4, IPv6 or both protocols * DHCPv6 addresses are added with a /128 prefix and should not attempt to associate with any existing prefix or make one up as per RFC 5942 * Fix initial carrier status * Fix requesting >1 DHCPv6 address Fixes PR bin/48140
Sync
Import dhcpcd-6.0.4 with the following changes: * hostname is not stamped on anymore if already set * hostname will be set to a FQDN when possible as per RFC4702 section 3.1 * a domain is derived from the FQDN if no domain option is set * add new hostname_short command to send a short hostname for DDNS * hostname_fqdn is now documented, along with a new server setting and the potential problems associated with it * the FQDN option is no longer sent by default for DHCPv4 messages
resync from head
sync
Import dhcpcd-6.0.0 with the following changes: * DHCPv6 support * wpa_supplicant hook script * route IPv4 addresses to 127.0.0.1 for machine centric traffic * DHCPv6 Prefix Delegation support * DHCPv6 FQDN support * Control existing IPv4 routes * less spamy to syslog by default * IPv6 protocols now wait for a valid LL address before starting * IPv6 DAD support now listens to kernel for more accurate timings * IPv4 code split out more cleanly so dhcpcd can be compiled for IPv4, IPv6 or IPv4 AND IPv6 * MTU is no longer requested by default * a DUID is now generated in /etc/dhcpcd.duid and this is used as a client ID for DHCPv4 and DHCPv6 This does mean that you may get new DHCPv4 addresses Many bugs have also been fixed along the way and this release addresses the following PR's PR bin/47364 PR bin/47502 PR bin/47666 PR bin/47699 PR bin/47775 PR bin/47776
resync with head
Sync
Import dhcpcd-5.6.7 with the following changes: * Preserve space in static routes on the command line. * Check correct interface the RAP came from; fixes PR bin/47433 thanks to Taylor R Campbell * Ensure the nooption works for IPv4 routes
sync with (a bit old) head
Sync
Import dhcpcd-5.6.4 with the following changes: * add interface scope to exported IPv6 link local addresses * DUID feature works again * If we receive >1 MTU in the RA we use the last one * Expire RA options separately from the RA * Merge multiple RA options together except when a single is needed * Some memory leaks plugged * Don't overwrite invalid memory when DNSSL options begin with a NULL * Ensure we have a large enough buffer for an escaped DNSSL option from RA
Resync to 2012-11-19 00:00:00 UTC
sync with head
Apply patch (requested by roy in ticket #585): Update dhcpcd to version 5.6.2.
Don't use const foo const as type, one const is enough.
Import dhcpcd-5.6.1 with the following changes: Improve IPv6 RA support by allowing dhcpcd to manage addreses and routes instead of the kernel. dhcpcd will only do this if RA has been disabled in the kernel or instructed to do so via the dhcpcd.conf(5) ipv6ra_own and/or ipv6ra_owndefault directives. Send and process IPv6 Neighbor Solicitions and Adverts to prove router reachability. If a router cannot be reached in this way then it is expired.
sync with head
Import dhcpcd-5.5.5 with the following changes: * We store the RA against the interface so we can do a comparsion so we don't spam the log frequently. * By default only fork on RA if it has a valid RDNSS option * Add .Lk macros to the man pages * Use correct event loop calls in RA handling code * Fix several memory overrun issues * Use CSR more than once * Allow operation on Bridge and VLAN interfaces
Import dhcpcd-5.5.2 with the following changes: * Stop checking IFF_RUNNING in RTM_IFINFO in an unknown link state * RA expiry now tiggers off the first option if newer than the prefix * Prefer a DHCP lease over an IPv4LL one
Import dhcpcd-5.5.1 with the following changes: * Don't start IPv6 RS if disabled globally * Allow dhcpcd to run on a read only filesystem * Don't attempt to run the script if an empty string or /dev/null * Stop truncating the netmask sockaddr on routing messages for BSD
Import dhcpcd-5.5.0 with the following changes: * Shell portability fixes, including proper printf usage. * Detect a valid ntp.conf before adjusting it * reboot timeout changed to 5 seconds * When rebooting and not daemonized, reduce the discover timeout to allow for fallback or IPv4LL * Respect each kernel carrier message * Optimize some bitwise logic * Don't remove interfaces for which commands have not been sent * Store the assigned metric to each route so that we can change metrics on the fly dhcpcd -n --metric 100 iwi0 * Add SixRD support, RFC5969 * Fix SIP server support * Only regen resolv.conf if it has changed * Fix --reconfigure from spinning * Add IPv6 Router Solicitation support we regards to RDNSS and DNSSL, RFC6016
Apply patch, requested by spz in ticket 1603: external/bsd/dhcpcd/dist/dhcp.c patch external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in patch external/bsd/dhcpcd/dist/dhcpcd-run-hooks.in patch external/bsd/dhcpcd/dist/dhcpcd-hooks/20-resolv.conf patch external/bsd/dhcpcd/dist/dhcpcd-hooks/30-hostname patch Escape | and & characters before passing the value to the shell Ensure we set a valid hostname, DNS domain and NIS domain. Document the need for input validation in dhcpcd-run-hooks(8). Fixes CVE-2011-996
Pull up following revision(s) (requested by spz in ticket #1603): external/bsd/dhcpcd/dist/dhcp.c patch external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in patch external/bsd/dhcpcd/dist/dhcpcd-run-hooks.in patch external/bsd/dhcpcd/dist/dhcpcd-hooks/20-resolv.conf patch external/bsd/dhcpcd/dist/dhcpcd-hooks/30-hostname patch Escape | and & characters before passing the value to the shell Ensure we set a valid hostname, DNS domain and NIS domain. Document the need for input validation in dhcpcd-run-hooks(8). Fixes CVE-2011-996
Pull up following revision(s) (requested by spz in ticket #1603): external/bsd/dhcpcd/dist/dhcp.c patch external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in patch external/bsd/dhcpcd/dist/dhcpcd-run-hooks.in patch external/bsd/dhcpcd/dist/dhcpcd-hooks/20-resolv.conf patch external/bsd/dhcpcd/dist/dhcpcd-hooks/30-hostname patch Escape | and & characters before passing the value to the shell Ensure we set a valid hostname, DNS domain and NIS domain. Document the need for input validation in dhcpcd-run-hooks(8). Fixes CVE-2011-996
Import dhcpcd-5.1.12 with the following changes: * 20-resolv.conf now uses the correct variable for $IF_METRIC * Exclude interface values when dumping the lease * Parse static value subnet_mask when it exists instead of deriving from ip address * logger calls now resemble dhcpcd calls to syslog(3) * Reject offered IP address if INADDR_BROADCAST or INADDR_ANY * Change the route if source address has changed * Note the address we are requesting in the broadcast log entry * When operating on one interface, respect the timeout for in dhcpcd.conf * Escape | and & characters before passing the value to the shell Ensure we set a valid hostname, DNS domain and NIS domain. Document the need for input validation in dhcpcd-run-hooks(8). Fixes CVE-2011-996 Based on a patch to dhcpcd-3 by Marius Tomaschewski <mt@suse.de>
Import dhcpcd-5.2.10 with the following change: * -r, --request <address> now works again
Import dhcpcd-5.2.8 with the following changes from 5.2.4 * Use dynamically sized buffers for reading kernel link events * Use the active link address * Added option to dump a lease to stdout * TEST mode now works correctly if an old lease is NAKed * routes with the gateway = leased ip are now treated as host routes
sync to netbsd-5
Import dhcpcd-5.2.2 with the following changes: * Don't send a maximum DHCP message size beyond what we can handle. * ip_id is now randomized. * IPTOS_LOWDELAY and IP_DF flags are no longer set.
Import dhcpcd-5.2.0 with the following changes from dhcpcd-5.1.5: * VendorID is now dhcpcd-$version:$OS-$version:$machine:$platform * IPv4LL address range can now be used in DHCP requests * sysctl net.ipv4.conf.$iface.promote_secondaries enabled on Linux This resolves a long standing issue of changing ip on the same subnet. * IPv4LL correctly resets the DHCP timer.
Import dhcpcd-5.1.5 with the following changes: * -H, --xidhwaddr uses the last 4 bytes of the hardware address as the DHCP xid * -J, --broadcast tells the DHCP server to broadcast replies * no longer warn about InfiniBand being an unsupported family * infinite lease times are valid when reading old leases * discard address correctly if lease is invalid
Import dhcpcd-5.1.4 Changes from dhcpcd-5.1.3 include: * dhcpcd logs even in quiet mode. * Sleep for 1/100th of a second to give time for kernel to send RELEASE. * -S option now works. * Only warn about using CSR on bind.
Apply patch (requested by roy in ticket 1099): Update dhcpcd to 5.1.3.
Import dhcpcd-5.1.3 with the following changes: * waitip is enabled when running on a single interface. * Classless Static Routes are now enabled by default in dhcpcd.conf instead of being always being requested.
Apply patch (requested by roy in ticket #880): Update dhcpcd to 4.0.14.
Import dhcpcd-5.0.7 Changes from dhcpcd-5.0.6 include: * Fix -f path/to/config * -e, --env var=value for profile specific env vars * Many issues resolved when running in test mode * Don't print a (null) string when there is no NAK message * read ssize_t instead of size_t when checking signals
Update to dhcpcd-5.0.6 Changes from dhcpcd-5.0.5 include * Fix crash on MIPS, fixes PR bin/41682 Thanks to Tim McIntosh <tmcintos@eskimo.com> for the patch * Save and restore interface MTU when changing * IP whitelist * Ensure that the lease and pidfile directories exist at startup
Sync with HEAD. Second commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
Pull up following revision(s) (requested by roy in ticket #534): external/bsd/dhcpcd/dist/README: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/arp.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/arp.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/bind.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/bind.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/bpf-filter.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/bpf.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/client.c: removed external/bsd/dhcpcd/dist/client.h: removed external/bsd/dhcpcd/dist/common.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/common.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/config.h : dhcpcd-5-0-1 external/bsd/dhcpcd/dist/configure.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/configure.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/control.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/control.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcp.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcp.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-run-hooks.in: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd.8.in: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd.conf: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd.conf.5.in: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/duid.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/duid.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/eloop.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/eloop.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/if-bsd.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/if-options.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/if-options.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/if-pref.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/if-pref.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/ipv4ll.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/ipv4ll.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/logger.c: removed external/bsd/dhcpcd/dist/logger.h: removed external/bsd/dhcpcd/dist/net.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/net.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/signals.c: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/signals.h: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-hooks/01-test: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-hooks/10-mtu: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-hooks/20-resolv.conf: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-hooks/29-lookup-hostname: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-hooks/30-hostname: dhcpcd-5-0-1 external/bsd/dhcpcd/dist/dhcpcd-hooks/50-ntp.conf: dhcpcd-5-0-1 Update to dhcpcd-5.0.1.
Import dhcpcd-5.0.1 Changes from dhcpcd-5.0.0 * Silence compile warnings on Sparc64 * Fix existing address detection
Import dhcpcd-5.0.0 Major changes from dhcpcd-4 include * Single daemon can now run DHCP on multiple interfaces at the same time * Configuration profiles per interface, ssid, arping and fallback * Listens to 3rd party programs changing routing information * Supports DHCP INFORM over PPP * Can configure static options for destination address * Control socket so 3rd party program can control or listen directly to dhcpcd events * Is also a BOOTP client
Apply patch (requested by roy in ticket #386): Update dhcpcd to 4.0.10.
Import dhcpcd-4.0.8 Changes since dhcpcd-4.0.7: * broadcast address correctly set for hooks * respect renewal time if given but rebind time is not * nohook 20-resolv.conf works as well as nohook resolv.conf * short hostnames are now sent
Pull up following revision(s) (requested by roy in ticket #240): sys/net/rtsock.c: revision 1.119 external/bsd/dhcpcd/dist/README external/bsd/dhcpcd/dist/client.c external/bsd/dhcpcd/dist/common.c external/bsd/dhcpcd/dist/config.h external/bsd/dhcpcd/dist/configure.c external/bsd/dhcpcd/dist/dhcp.c external/bsd/dhcpcd/dist/dhcpcd-run-hooks.8.in external/bsd/dhcpcd/dist/dhdpcd.8.in external/bsd/dhcpcd/dist/dhcpcd.c external/bsd/dhcpcd/dist/dhcpcd.conf.5.in external/bsd/dhcpcd/dist/if-bsd.c external/bsd/dhcpcd/dist/net.c external/bsd/dhcpcd/dist/net.h external/bsd/dhcpcd/dist/dhcpcd-hooks/50-ntp.conf Import dhcpcd-4.0.7 with the following changes from dhcpcd-4.0.1 DHCP_DECLINE now includes the IP and Server in the message. Trailing NULLs are stripped from string options. ntpd is only restarted if it is already running. ClientID is no longer sent by default. CSR comes before routers and static routes as per RFC 3442. Host routes are now added correctly. If a the interface link flaps but status does not change, do not reset the timer.
Import dhcpcd-4.0.7 with the following changes from dhcpcd-4.0.1 DHCP_DECLINE now includes the IP and Server in the message. Trailing NULLs are stripped from string options. ntpd is only restarted if it is already running. ClientID is no longer sent by default. CSR comes before routers and static routes as per RFC 3442. Host routes are now added correctly. If a the interface link flaps but status does not change, do not reset the timer.
Sync with HEAD.
file dhcp.c was added on branch haad-dm on 2008-10-19 22:39:49 +0000
Import dhcpcd-4.0.1: - basic resolvconf like functionality to combine the resolv.conf entries from running instances - improve timer handling to not break with early wake ups and other edge cases related to the kernel time granularity - improve handling of dhcpcd -n and rebinding after carrier loss to better deal with changing networks - add option to black list servers based on server id - don't check for ARP conflict if the interface already has the address - improve signal handling during vfork/exec
Sync with wrstuden-revivesa-base-2.
file dhcp.c was added on branch wrstuden-revivesa on 2008-09-18 05:14:26 +0000
Import dhpcd-4.0.0rc3. Major changes since beta4: - support for link state notification (e.g. renew lease after carrier returned) - support to start go into background immediately - don't cleanup interface state. dhcpcd will leave the interface in the same state as before if the lease uses separate addresses. -p still stops it from removing the configured address on exit - various smaller bugfixes, optimisations and cleanups
Initial revision