Roy Marples [Thu, 5 Jul 2012 16:37:41 +0000 (16:37 +0000)]
Improve IPv6 RA support by allowing dhcpcd to manage the address and routes
instead of the kernel. dhcpcd will only do this if RA is disabled in the kernel
or dhcpcd has been instructed to do this via dhcpcd.conf(5) ipv6ra_own and
ipv6ra_own_default 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.
When debugging, all ND messages are displayed which will create a lot of log
spam.
To ease packaging, ./configure now accepts LDFLAGS and --enable-static.
Roy Marples [Sat, 24 Mar 2012 10:41:40 +0000 (10:41 +0000)]
Fix Dd and Dt arguments.
New sentence, new line.
Sort options and option descriptions.
Sort SEE ALSO.
Use Fl Fl for long options.
Sync the usage output by the program with the one from the man page.
Thanks to Thomas Klausner.
Roy Marples [Fri, 23 Mar 2012 07:38:39 +0000 (07:38 +0000)]
Remove buffer overrun that leads to a segfault on ipv6 network.
strcpy copies the \0 of its src argument, therefore the following line
is unneeded. Ironically, it can lead to a nasty segfault on a network
that supports ipv6. In fact, it prevented me from access such a
network using DHCP.
Roy Marples [Wed, 7 Mar 2012 10:06:45 +0000 (10:06 +0000)]
Add an option to control dhcpcd forking or not if the RA does not contain
a RDNSS option.
This involves changing our options to an unsigned long long so we can use
more than 32 bits.
Roy Marples [Mon, 13 Feb 2012 08:37:54 +0000 (08:37 +0000)]
Store the RA data for the interface so we can do a comparison.
Only log the fact we received an RA if the new RA is different or any
part of the old one has expired.
Roy Marples [Thu, 2 Feb 2012 16:22:40 +0000 (16:22 +0000)]
Fix some more copyrights
RA expiry timers now trigger off options as well
Stop prefixing new_ for RA options
if_up and if_down are now set by dhcpcd itself
Correctly prefer a DHCP lease over an IPv4LL entry
Roy Marples [Wed, 23 Nov 2011 13:49:44 +0000 (13:49 +0000)]
Bridge interfaces set IFF_LOWER_UP when they have a valid
hardware address. To trigger a valid hardware address pickup
we need to pretend that that don't exist until they have
IFF_LOWER_UP set.
Roy Marples [Wed, 23 Nov 2011 09:03:24 +0000 (09:03 +0000)]
Respect each kernel message on carrier change instead of checking carrier
after receiving the message as it's possible for the kernel to react faster
than dhcpcd.
Roy Marples [Tue, 22 Nov 2011 23:44:32 +0000 (23:44 +0000)]
Change default reboot timeout to 5 seconds.
When rebooting and we haven't daemonised, reduce the discover timeout
to allow for fallback or IPv4LL addresses.
Roy Marples [Wed, 6 Apr 2011 08:16:32 +0000 (08:16 +0000)]
Escape | and & characters when passing to the shell.
Add functions for hooks to check validity of domain names and paths.
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 patches to dhcpcd-3 by Marius Tomaschewski <mt@suse.de>.
Roy Marples [Thu, 24 Mar 2011 17:59:20 +0000 (17:59 +0000)]
When the dhcp server is running in dom0 and the client in domU,
packets (that are not explicitely checksumed in the userspace)
sent to the another domain have partial UDP checksums (offload)
only, but are marked as such. This patch reads and checks the
mark to decide whether to verify the UDP checksum or not.
Based on the ISC dhcp patch by David Cantrell.
Thanks to Marius Tomaschewski.
Roy Marples [Thu, 24 Mar 2011 17:08:31 +0000 (17:08 +0000)]
When the leased address changes on the interface but existing routes
remain the same, we need to change the routes so that the source address
changes as well.