* 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
Changes include:
* compile on FreeBSD-8 where closefrom(3) returns void
* log the pid of dhcpcd
* Indicate server IP received message from even if server ID not present
* Fix crashes on IPv4LL failure and add more logging
* The broadcast flag is now automatically set for interfaces that require
it, via platform detection. Currently qeth on Linux.
* Fix a file descriptor leak on Linux getting platform info.
* Don't send a maximum DHCP message size beyond what we can handle.
* ip_ip is now randomized.
* IPTOS_LOWDELAY and IP_DF flags are no longer set.
* SSID is now correctly terminated on Linux.
* 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.
* arc4random from OpenBSD imported for better randomness on Linux
* -h, --xidhwaddr uses the last 4 bytes of the hardware address as
the DHCP xid
* 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
* 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.
* Fix detection of route deletion on Linux.
* 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.
* ClientID is now reported when interface starts
* -w, --wait forces dhcpcd to wait until an interface gets a lease or
times out
* Ensure DHCP socket is open when sending a DECLINE
* Uses new hwaddr if existing interface is downed and then changed.
* No longer works on firewire interfaces by default.
dhcpcd-5.1.2 has a new behaviour change - when starting up and at least 1
interface has a carrier then it tries to get a lease or times out.
It still daemonises regardless. This, along with the -b and -w flags
allows total control over the desired behaviour of dhcpcd.
Changes from dhcpcd-5.1.0 include:
* Fix various typos and grammatical errors. Thanks to Stephen Borrill.
* Don't null terminate gratuitously when handling quotes in dhcpcd.conf.
* Improve the configure script for cross-compiles.
Changes from 5.0.6
* get_option_addr uses struct in_addr * instead of uint32_t *
fixes a crash on sgimips/netbsd, thanks to Tim McIntosh
* Use ssize_t which is a signed int and test if read() returns -1
fixes a crash on some embedded systems, thanks to David Wu
* 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
* Fix compile on NetBSD-4 (PR pkg/41719)
* Only allow hardware families we know by default (over-ridable)
* Fix persistent and timeout 0 options
* Fix parsing of escape code sequencies
* Don't bring up interfaces brought down when handling new interfaces
* Allow un-encapsulated vendor option
* Build system now uses configure script and not mk stubs
Changes from dhcpcd-5.0.4 include
* Fix crash on MIPS
* Default to requesting interface MTU
* Save and restore interface MTU when changing
* IP whitelist
* Fix detecting correct dstaddr for PtP interfaces at startup
* Ensure that the lease and pidfile directories exist at startup
Changes from dhcpcd-5.0.3 include
* The requirement of the ServerID option is now configurable
* Don't set a MTU lower than 576
* Enforce a minimum lease time of 20 seconds
Changes from 5.0.1 include
* -n option now starts dhcpcd if not already started
* 29-lookup-hostname hook installed by default, but skipped in dhcpcd.conf
* Fix warning about missing dirs if we don't have any existing state
* Fix compile on some Linux distros re linux/wireless.h
Changes from dhcpcd-4.99.18 include
* Fixed existing address detection
* Added non dhcp option variables to -V
* Prefix some generic variable names exported to dhcpcd-run-hooks with if
(ifmetric, ifwireless, ifflags) as they may conflict with generic var
names when it restarts a service
Changes from dhcpcd-4.99.15 include
* Allow dhcpcd to work on any interface type when INFORMING or given a
ClientID
* arping ip selects a different interface profile on success
Allows different static IP/DHCP configurations
* DHCP messages without a ServerID are now ignored
* If DHCP fails, allow fallback to a different interface profile
Changes from dhcpcd-4.99.14 include
* Compiles on DragonFly BSD
* Better support for 3rd party configured interfaces such as PPP
* Blacklist now happens at the packet level
dhcpcd is a small, bloat free DHCP client which includes these features
* DHCP over firewire
* User Class
* SIP Servers
* Domain Search
* Classless Static Routes
* IPv4LL aka APIPA aka Zeroconf
* Node specific Client Identifiers
* DHCP over Infiniband
* Link carrier and interface addition/removal detection
* Dynamic route management