* Default to use VLANID>0 for IAID instead of MAC address
* BSD: Add support for RTA_LABEL
* Stop sharing the DHCPv6 port in master mode with other processes
* Fix some prefix delegation issues when the carrier drops or
addresses become stale
* Fix a crash when starting dhcpcd with -n
* Fix test for preferring a fake lease over a real one
* Show to real address lifetimes being added when adding IPv6
addresses
* Install dhcpcd-definitions.conf to the correct directory
* Restore the -G, --nogateway option
* restored --logfile support as a few people complained it vanished
The new logging code even makes the overall binary size smaller
on most platforms.
* BPF filter now trims garbage trailing the payload
OK, it's not garbage, but userland doesn't know some drivers append
FCS to it.
* install udev.so on supported platforms to fix segfaults.
* support NetBSD's RO_MSGFILTER socket option to reduce avoid context
switching for route(4) messages that don't interest us.
* support OpenBSD's ROUTE_MSGFILTER which does the same.
* Don't open sockets if just sending signals.
* HMAC-MD5 test's now check expectations in code rather than relying
on visual confirmation.
* added eloop-bench to test performance of eloop with available
polling mechanisms.
Summary of changes since dhcpcd-6.11.5:
* source file locations reworked:
dhcpcd source is in src
dhcpcd hooks are in hooks
compat is in compat
* README split into README.md and BUILDING.md
* internal routing is now protocol agnostic
* avoid using __packed and use compile time asserts instead
* addresses some alignment issues
* disable some ARP code on kernels which support RFC5227
* BSD IPv6 kernel settings are now updated to reflect dhcpcd config
* custom logger has been removed, syslog handles everything
as such, the --logfile option has been removed as well.
If you need better/earlier logging, get a better syslogger!
* distinfo and signed distinfo files are now available alongside
release taraballs from this point onwards
* default DBDIR has changed from /var/db to /var/db/dhcpcd
* /etc/dhcpcd.duid moves to DBDIR/duid
* /etc/dhcpcd.secret moves to DBDIR/secret
* lease file names have dhcpcd removed from them as they are now
inside a directory of the same name
* fixed issues with reject routes not working on some platforms
* improved nl80211 support on Linux for working out the SSID
* no longer request NTP by default in dhcpcd.conf
* fix detecting IPv6 DAD on OpenBSD
* remove custom Solaris DLPI filtering in favour of BPF
(note there seems to be a kernel issue where the DHCP
fd receives ARP's as well, the only side effect is
a noisy syslog)
* BPF filtering vastly improved so dhcpcd only wake up on
ARP or DHCP packets destined for it
* support for MUD URL (draft-ietf-opsawg-mud-05)
* if the kernel isn't doing DAD, don't insist on waiting for it
to actually do it
* fix a potential crash where the DHCP or ARP states could be
freed before the packet processing loop naturally breaks
* removed gateway and nogateway options
(these can be controlled by the nooption directive which
works for more than just gateways)
* removed ipv6ra_own and ipv6ra_own_default options
(these can be controled by the ipv6rs/noipv6rs directive)
* fix a memory leak on systems where posix_spawnattr_init
allocates memory by calling posix_spawnattr_destroy afterwards
* fix a crash receiving SIGUSR1
* Fixed octal and hex string parsing in options.
* Ignore bogus RTM_DELADDR on FreeBSD when the interface goes down.
* 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.
* Improved handling of Netlink messages on Linux.
* Poll for tentative link-local addresses if needed.
* Added --small configure directive to reduce binary size
* Allow DHCPv6, IPv4lL and authentication to be compiled out
* dhcpcd requries the interface to be up when considering link status
* 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.
* 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.
* It's now possible to exclude the vendor-class option.
* pkg-config can now be host selectable in configure,
thanks to Heiko Becker.
* 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.
* Fixed some potential memory issues for non embebbeded configs,
thanks to Koichi Okamoto.
* 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.
* Illumos (Solaris) is now a supported plaform.
* 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
* 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.
* Support iSNS, RFC4174
* Fix Prefix Delegation with SLA 0 and warn that it's not
really RFC compliant
* Fix build with --disable-embedded
* On an IPv4LL defence, an ARP announcement is now sent in
accordance with RFC 3927 Section 2.5
dhcpcd-6.10.2 had the following changes:
* Add fix for CVE-2014-7913.
* eloop performance and API improvements.
* Don't send a blank hostname.
* 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.
* Fix compile on older platforms which lack O_CLOEXEC.
Thanks to OBATA Akio.
* Remove pidfile handling from dhcpcd and use pidfile_lock(3).
If not available, use a compat shim.
* Fix ignoring messages sent to the kernel and receive via another one
on Linux.
* Fix changing routes on BSD.
* Add -P, --printpidfile to print the pidfile dhcpcd will use to
stdout
* Fix a crash when a non active interface departs
* Add the -1, --oneshot option which causes dhcpcd to exit once an
interface has been configured
* Fix delegation activating interfaces
* --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
* fix compile on kFreeBSD
thanks to Christoph Egger for providing a temporary build host
* 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
* 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
* kFreeBSD compiles once more, thanks to JS Junior
* 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 host routes via a gateway on Linux
* 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.
* 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.
* Fix compile for old Linux systems.
* 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 requsted 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.
* Change packaging from bz2 to xz
* 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
* 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.
* Compile on QNX
* Fix handling of ND6_IFF_OVERRIDE_RTADV
* Fix adding host routes on BSD
* If RTF_LOCAL is defined, don't create local routes
* Don't destroy existing routes where possible
* Support kqueue(2) and epoll(7) if available
* dhcpcd can now act as a pure BOOTP client
* IPv6 default route only installed when a working address is added
* Fixed host routes inside a CSR option
* Support IN_IFF_TENTATIVE on NetBSD
* 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
* For BSD systems stop polling for IPv6 router reachability
Instead, expect for cached neighour route additions/changes/removals
to be announced by the kernel. Currently only NetBSD-7.99.3 does this.
* Store acquired time for each IPv6 address so we can correctly offset
pltime and vltime if we need to re-add them
* test mode no longer turns off kernel rtadv handling
* 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
* 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.
* Loopback interfaces have routes scoped to the host only.
* 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.
Thanks to Micha? K?pie?.
* 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.
* 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
* 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.
* 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
Added another mirror site, http://cflags.cc/roy/dhcpcd
* Use RTF_PINNED when deleting routes when available
Allows dhcpcd to control IPv4 routing on newer FreeBSDs
* 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)
* Use correct interface gateway on FreeBSD, removes need for linkaddr.c
on kFreeBSD
* Delegated prefix addresses are now reported via DELEGATE6
* Fix copying the correct timezone file
* 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@netbsd.org
* 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
* make test works again
* 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)
* Use the nl80211 interface on Linux to get the wireless SSID if we fail
to get it via WEXT
* 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
* Remove all instances of if_indextoname as we already know the index
* Only bring in linux/ipv6.h for linux AND glibc
* Add _DEFAULT_SOURCE #define to to make glibc-2.20 happy
* Check we have allocated IPv6 resources before checkings RA's
* configure errors are now logged to config.log
* Only hunt for a cross compiler if build != host
* 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.
OK: jperkin@
* Correct DHCPv6 Prefix Delegation option decoding
* Ensure that a given buffer is at least BUFSIZ (for getline compat)
* Poll interfaces on BSD for IFF_RUNNING if link state cannot be obtained
* Check for an IA to use in DHCPv6 lease validation
* Fix compile on NetBSD-6 (and possibly earlier NetBSDs)
* Warn about exceeding IDGEN_RETRIES when a stable private address cannot
be obtained
* Fix DHCP option overload handling, thanks to Tobias Stoeckmann
* 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
* 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
* ArchLinux SERVICESTATUS override fixed
* Shell portability fixes, including proper printf usage.
* Detect a valid ntp.conf before adjusting it
* Restart NTP correctly on Debian
* 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
* On Linux, pretent a bridge interface does not exist until IFF_LOWER_UP is set
* 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
* Add clang to the list of detected compilers
* Allow dhcpcd to run on a read only filesystem
* Don't attempt to tun the script if an empty string or /dev/null
* Stop truncating the netmask sockaddr on routing messages for BSD
* Prefer a DHCP lease over an IPv4LL one
* Fix carrier handling on BSD
* Fix arc4random detection on FreeBSD 7
* 20-resolv.conf now uses the correct variable for $IF_METRIC
* Compiles on RedHat9
* 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
* Handle partial UDP checksums so we work in Xen domU
Thanks to Marius Tomaschewski <mt@suse.de>
* 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>
* syntax in 50-ypbind hook has been fixed
* man page corrections
* Compile correctly on Debian kFreeBSD
* invoke-rc.d now detected by configure correctly
* report hwaddr used by dhcpcd when debug is enabled
* Fix detecting inet address for INFORM support
* document reason RELEASE in dhcpcd-run-hooks
* Support RTM_CHGADDR in the upcoming NetBSD-6
This is used to work out if the hwaddr has changed as the interface
does not go down/up unlike other OSes
* ntp hook no longer attempts to restart ntpd if 1st attempt failed
Changes include:
* Compile on Slackware again
* Use dynamically sized buffers for reading kernel link events
Fixes carrier status on Linux-2.6.35 64bit kernels
* Use the active link address on NetBSD-5
* Fix syslog support in dhcpcd-run-hooks
Changes from dhcpcd-5.2.4 include:
* Always daemonise in master mode as some interface up/downs can trigger timeout
* Improved NTP handling on Debian based systems
* dhcpcd -n will now re-read the configuration file