dhcpcd-discuss

dhcpcd-6.4.0 released

Roy Marples

Sat Jun 14 20:30:37 2014

Hi List!

Been quite some time since the last release and many important issues have been resolved and of course some new features added.
Here's some highlights:

* Only fork when the RA has a RDNSS option AND a valid prefix OR no DHCPv6 instruction.
  *  Support ypbind on FreeBSD and OpenBSD.
  *  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. * glibc 2.17 has clock_gettime in libc directly, so test for it. test for dlopen being in libc as well. * Default to building static for a $PREFIX of \ for non Linux platforms if ld.elf-so or similar cannot be found in /libexec. * Add -Wconversion to debug CFLAGS and fix fallout (still a work in progress with gcc and/or Linux).
  *  Work with older libc's without O_CLOEXEC.
  *  Ship a compat queue.h for older systems without any TAILQ support.
  *  Don't spam timezone updates unless its actually changed.
  *  Support older Linux kernels where DAD is not reported.
* Support IFA_F_NOPREFIXROUTE on Linux (not to self, implement similar for NetBSD and for IPv4).
  *  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. * Support RTM_GETNEIGH on Linux as well as the polling for NUD changes on BSD.
  *  Ensure that ND6_IFF_PERFORMNUD is set.
  *  controlgroup option changes group ownership of the control socket.
* Source now compiles on Solaris, just missing the if-sun.c and some IPv6 functionality. Work in progress. * 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. * Add a SHA256 implementation by Collin Percival if one in libc/libmd not found. * 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. * Warn when SO_REUSEPORT fails instead of bailing to accomodate dodgy Linux headers. * 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.

Download links:
ftp://roy.marples.name/pub/dhcpcd/dhcpcd-6.4.0.tar.bz2
http://roy.marples.name/downloads/dhcpcd/dhcpcd-6.4.0.tar.bz2

Thanks

Roy

Archive administrator: postmaster@marples.name