]>
git.ipfire.org Git - thirdparty/dhcpcd.git/log
Roy Marples [Thu, 5 Jun 2014 20:23:19 +0000 (20:23 +0000)]
Default to private stable addresses via dhcpcd.conf instead of the binary
so that upgraders aren't adversely affected.
Roy Marples [Thu, 5 Jun 2014 17:42:21 +0000 (17:42 +0000)]
Allow the use of libmd in static or /usr builds
Roy Marples [Thu, 5 Jun 2014 14:24:21 +0000 (14:24 +0000)]
No need for this file
Roy Marples [Thu, 5 Jun 2014 14:21:27 +0000 (14:21 +0000)]
Remove test files
Roy Marples [Thu, 5 Jun 2014 14:16:33 +0000 (14:16 +0000)]
Fix compile on FreeBSD
Roy Marples [Thu, 5 Jun 2014 13:56:16 +0000 (13:56 +0000)]
Fix be64enc test on NetBSD.
Roy Marples [Thu, 5 Jun 2014 13:54:38 +0000 (13:54 +0000)]
Fix configure
Roy Marples [Thu, 5 Jun 2014 13:53:20 +0000 (13:53 +0000)]
be32enc is missing on OpenBSD, so provide a configure test.
Fix compile on OpenBSD.
Roy Marples [Thu, 5 Jun 2014 13:03:49 +0000 (13:03 +0000)]
Ensure we init before forking, but run the preinit scripts afterwards
Roy Marples [Thu, 5 Jun 2014 12:33:18 +0000 (12:33 +0000)]
If we can turn off IPv6 auto link-addr in the kernel, lets do so
to ensure we have the best chance of generating our private link-addr.
Roy Marples [Thu, 5 Jun 2014 11:38:04 +0000 (11:38 +0000)]
Ensure OWN is set by SLAAC private before initing.
Add a link-local address before running any PREINIT script
as well as at start incase a 3rd party removed it.
Move kernel tweaks to RA to DEBUG messages.
Roy Marples [Wed, 4 Jun 2014 23:54:15 +0000 (23:54 +0000)]
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.
Roy Marples [Wed, 4 Jun 2014 23:34:39 +0000 (23:34 +0000)]
Don't set local-link addresses as no prefix route.
Disable autoconf if we're owning IPv6.
Roy Marples [Wed, 4 Jun 2014 20:27:40 +0000 (20:27 +0000)]
Default SLAAC to use RFC7271 addresses.
Create an IPv6 link-local address if non exists at startup using the
configured SLAAC method.
Roy Marples [Tue, 3 Jun 2014 21:20:49 +0000 (21:20 +0000)]
Clarify comments.
Roy Marples [Tue, 3 Jun 2014 21:09:42 +0000 (21:09 +0000)]
Fix compile on Linux
Roy Marples [Tue, 3 Jun 2014 20:52:42 +0000 (20:52 +0000)]
Check against reserved IPv6 addresses.
Start using be*enc BSD functions and supply own if missing in common.h.
Roy Marples [Tue, 3 Jun 2014 14:03:14 +0000 (14:03 +0000)]
Warn when SO_REUSEPORT fails instead of bailing to accomodate dodgy Linux headers.
Roy Marples [Tue, 3 Jun 2014 12:49:48 +0000 (12:49 +0000)]
Only one place should decide how netiface and netid are formed
for generating stable private addresses.
Ensure that dhcpcd.secret is readable only by dhcpcd.
Roy Marples [Tue, 3 Jun 2014 09:32:01 +0000 (09:32 +0000)]
Don't export empty RA options
Roy Marples [Mon, 2 Jun 2014 23:59:05 +0000 (23:59 +0000)]
Log error condition if a new or changed Router Advertisment to avoid
spamming the log.
Roy Marples [Mon, 2 Jun 2014 23:42:52 +0000 (23:42 +0000)]
Revert prior patch and just continue instead of logging more errors. Same effect.
Roy Marples [Mon, 2 Jun 2014 23:30:50 +0000 (23:30 +0000)]
Log each malloc failure because we log individual failures so we don't see
any Success error messages on an invalid condition.
Roy Marples [Mon, 2 Jun 2014 17:10:13 +0000 (17:10 +0000)]
Fix compile on Linux
Roy Marples [Mon, 2 Jun 2014 16:31:37 +0000 (16:31 +0000)]
Use SHA256Init on OpenBSD .... grrr
Roy Marples [Mon, 2 Jun 2014 15:00:24 +0000 (15:00 +0000)]
Fix compile on FreeBSD
Roy Marples [Mon, 2 Jun 2014 14:48:33 +0000 (14:48 +0000)]
Implement Stable Private Addresses for SLAAC as per RFC7217.
Add a SHA256 implementation by Collin Percival if one in libc/libmd not found.
Roy Marples [Fri, 30 May 2014 22:08:30 +0000 (22:08 +0000)]
Wups, not ready for this code yet.
Roy Marples [Fri, 30 May 2014 22:03:50 +0000 (22:03 +0000)]
Fix compiler warning
Roy Marples [Fri, 30 May 2014 22:02:16 +0000 (22:02 +0000)]
Fix configure error
Roy Marples [Fri, 30 May 2014 21:47:14 +0000 (21:47 +0000)]
Load config.{h,mk} when building tests. Fixes [
1c11c59282 ].
Roy Marples [Thu, 29 May 2014 12:52:27 +0000 (12:52 +0000)]
-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.
Roy Marples [Thu, 29 May 2014 11:12:09 +0000 (11:12 +0000)]
Check naming rules before calling dev_initialized.
Roy Marples [Thu, 29 May 2014 06:43:54 +0000 (06:43 +0000)]
Only process IPv6 neighbour messages from the link socket if we have inited
our internal IPv6 state.
Roy Marples [Sat, 24 May 2014 20:11:42 +0000 (20:11 +0000)]
Fix dev warning.
Roy Marples [Sat, 24 May 2014 19:58:50 +0000 (19:58 +0000)]
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.
Roy Marples [Sat, 24 May 2014 13:08:29 +0000 (13:08 +0000)]
Add a compat syslog function if the libc syslog does not support LOG_PERROR.
Add a non working if-sun.c stub.
Define IN6_IFF_TENTATIVE and friends to zero so IPv6 at least compiles on Solaris.
Warn that Solaris support presently does not work.
Roy Marples [Wed, 21 May 2014 23:07:52 +0000 (23:07 +0000)]
Source now compiles on Solaris, just missing the if-sun.c support so
linking fails.
Roy Marples [Tue, 20 May 2014 08:54:00 +0000 (08:54 +0000)]
Sockets would be opened with PF_*, not AF_*.
Roy Marples [Tue, 20 May 2014 08:36:12 +0000 (08:36 +0000)]
Only remove the interface from DHCP consideration if the error
sending a packet is not a network error.
Roy Marples [Mon, 19 May 2014 00:49:14 +0000 (00:49 +0000)]
If a DHCPv6 lease expires as well as all IPv6 routers who want DHCPv6, don't restart discover.
Roy Marples [Mon, 19 May 2014 00:32:04 +0000 (00:32 +0000)]
Although dhcpcd now works fine with non blocking sockets, we never ever want to block either.
So restore the the NON blocking flags.
Roy Marples [Fri, 16 May 2014 15:03:28 +0000 (15:03 +0000)]
Only remove the interface from the list once all callouts have been
completed.
Roy Marples [Fri, 16 May 2014 15:02:58 +0000 (15:02 +0000)]
Don't set probe state here.
Roy Marples [Thu, 15 May 2014 12:02:03 +0000 (12:02 +0000)]
Only send interfaces which have a reason.
Roy Marples [Fri, 9 May 2014 12:09:05 +0000 (12:09 +0000)]
controlgroup option changes group ownership of the control socket.
Roy Marples [Thu, 8 May 2014 23:55:33 +0000 (23:55 +0000)]
Ensure that ND6_IFF_PERFORMNUD is set.
Roy Marples [Thu, 8 May 2014 23:38:15 +0000 (23:38 +0000)]
Fix compile issue
Roy Marples [Thu, 8 May 2014 23:35:30 +0000 (23:35 +0000)]
Support RTM_GETNEIGH on Linux as well as the polling for NUD changes on BSD.
Fixes [
bb6153d18b ].
Roy Marples [Wed, 7 May 2014 13:31:32 +0000 (13:31 +0000)]
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.
Fixes [
bb6153d18b ].
Roy Marples [Wed, 7 May 2014 09:22:26 +0000 (09:22 +0000)]
Run NOCARRIER before dropping protocols.
Roy Marples [Tue, 6 May 2014 18:15:52 +0000 (18:15 +0000)]
These are not DHCP states.
Roy Marples [Tue, 6 May 2014 18:14:43 +0000 (18:14 +0000)]
Add the interface to our list before initing state.
Roy Marples [Tue, 6 May 2014 14:42:24 +0000 (14:42 +0000)]
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.
Roy Marples [Tue, 6 May 2014 14:39:31 +0000 (14:39 +0000)]
When dropping, move the new config onto the old before running the script.
Roy Marples [Tue, 6 May 2014 12:42:39 +0000 (12:42 +0000)]
When rebooting, directly call send_request to preserve state.
Roy Marples [Mon, 5 May 2014 21:21:31 +0000 (21:21 +0000)]
Fix sending DHCPv6
Roy Marples [Mon, 5 May 2014 20:18:14 +0000 (20:18 +0000)]
Fix new dhcp environment options
Roy Marples [Sun, 4 May 2014 22:48:43 +0000 (22:48 +0000)]
Fix writing interfaces to control socket.
Roy Marples [Sat, 3 May 2014 21:18:20 +0000 (21:18 +0000)]
Fix compile.
Roy Marples [Sat, 3 May 2014 19:56:15 +0000 (19:56 +0000)]
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.
Roy Marples [Sat, 3 May 2014 19:53:22 +0000 (19:53 +0000)]
Respect RFC4861 MAX_RTR_SOLICITATION_DELAY as specified in section 6.3.7.
Roy Marples [Sat, 3 May 2014 10:17:48 +0000 (10:17 +0000)]
Check secondaries value before writing it as /proc could be read-only.
Roy Marples [Sat, 3 May 2014 00:12:19 +0000 (00:12 +0000)]
Remove accidental commit.
Roy Marples [Sat, 3 May 2014 00:11:15 +0000 (00:11 +0000)]
Minor optimisation
Roy Marples [Sat, 3 May 2014 00:08:12 +0000 (00:08 +0000)]
Put POLLHUP back
Roy Marples [Sat, 3 May 2014 00:02:14 +0000 (00:02 +0000)]
Set EOF correctly
Roy Marples [Fri, 2 May 2014 23:54:29 +0000 (23:54 +0000)]
Change the readrawsocket API a little so that we know when EOF is reached.
This allows us to remove the non blocking option from our sockets due to the way BPF works.
Roy Marples [Fri, 2 May 2014 20:57:21 +0000 (20:57 +0000)]
Log any errors sending the interface afer a getinterfaces call.
Roy Marples [Fri, 2 May 2014 20:56:10 +0000 (20:56 +0000)]
Accepted sockets should be marked non blocking.
Roy Marples [Fri, 2 May 2014 14:23:41 +0000 (14:23 +0000)]
When a node first becomes stale, fire off a NS probe anyway.
This is outside of the RFC, but it seems that some nodes do not
respond with a NA fast enough to avoid log spam.
Roy Marples [Fri, 2 May 2014 12:31:21 +0000 (12:31 +0000)]
Once reachability + randomisation has passed, wait DELAY_FIRST_PROBE_TIME
seconds and then send MAX_UNICAST_SOLICIT probes at retranstimer intervals.
If no confirmation and another retranstimer interval has passed, expire the
address.
More RFC4861 conformant.
Roy Marples [Fri, 2 May 2014 11:03:46 +0000 (11:03 +0000)]
Optimise the initial probe timer.
Don't send more than MAX_UNICAST_SOLICIT reachability probes.
Roy Marples [Fri, 2 May 2014 10:16:00 +0000 (10:16 +0000)]
The unreachable timer should start AFTER the initial discovery packet is
sent, and that is first send after the retransmission timer has fired.
Roy Marples [Fri, 2 May 2014 06:40:21 +0000 (06:40 +0000)]
Document why we don't send both FQDN and hostname options.
Roy Marples [Wed, 30 Apr 2014 14:14:03 +0000 (14:14 +0000)]
Remove debug
Roy Marples [Wed, 30 Apr 2014 14:13:22 +0000 (14:13 +0000)]
Support ND6_IFF_OVERRIDE_RTADV
Roy Marples [Wed, 30 Apr 2014 10:02:20 +0000 (10:02 +0000)]
Fix some potential memory errors.
Roy Marples [Wed, 30 Apr 2014 09:50:00 +0000 (09:50 +0000)]
Fix some possible leaks.
Roy Marples [Wed, 30 Apr 2014 09:35:48 +0000 (09:35 +0000)]
Fix an unassigned memory error.
Roy Marples [Mon, 28 Apr 2014 23:56:21 +0000 (23:56 +0000)]
Support IFA_F_NOPREFIXROUTE on Linux.
Roy Marples [Mon, 28 Apr 2014 23:13:47 +0000 (23:13 +0000)]
Fix compile on Linux
Roy Marples [Mon, 28 Apr 2014 12:47:33 +0000 (12:47 +0000)]
Sorting interfaces is an IPv4 specific task, so move it into ipv4.c
Roy Marples [Mon, 28 Apr 2014 12:02:12 +0000 (12:02 +0000)]
Namespace all public dhcpcd.c functions.
Add ipv4, ipv6, dhcp and dhcp6 options to re-enable if disabled globally.
Try and load a delegated interface if not running on all interfaces.
Fix delegated interfaces without a prefix set.
Roy Marples [Fri, 25 Apr 2014 13:14:21 +0000 (13:14 +0000)]
printf time_t, hmmmm
Roy Marples [Fri, 25 Apr 2014 13:05:15 +0000 (13:05 +0000)]
Fix some -Wconversion errors on FreeBSD.
Roy Marples [Fri, 25 Apr 2014 11:53:14 +0000 (11:53 +0000)]
Fix compile on Linux.
Roy Marples [Fri, 25 Apr 2014 11:11:05 +0000 (11:11 +0000)]
Fix compile on OpenBSD.
Roy Marples [Fri, 25 Apr 2014 10:42:37 +0000 (10:42 +0000)]
Move net.c to if.c.
Ensure that if.c and if-KERNEL.c are namespaced correctly.
Roy Marples [Fri, 25 Apr 2014 08:46:08 +0000 (08:46 +0000)]
Add more TAILQ #ifdef tests for older queue.h's
Roy Marples [Fri, 25 Apr 2014 08:31:26 +0000 (08:31 +0000)]
Support older Linux kernels where DAD is not reported.
Roy Marples [Fri, 25 Apr 2014 08:16:02 +0000 (08:16 +0000)]
Fix --disable-embedded [
f097d9f0ef ]
Roy Marples [Thu, 24 Apr 2014 09:41:25 +0000 (09:41 +0000)]
Support older systems with different defines for IPV6_RECVHOPLIMIT and IPV6_RECVPKTINFO.
Roy Marples [Thu, 24 Apr 2014 09:28:31 +0000 (09:28 +0000)]
Work without IFA_F_OPTIMISTIC on Linux.
Roy Marples [Thu, 24 Apr 2014 08:56:21 +0000 (08:56 +0000)]
Support older linux without SOCK_CLOEXEC.
Roy Marples [Wed, 23 Apr 2014 23:29:41 +0000 (23:29 +0000)]
Move all Linux only sources into if-linux.c
Roy Marples [Wed, 23 Apr 2014 20:29:03 +0000 (20:29 +0000)]
Fix compat/queue.h
Roy Marples [Wed, 23 Apr 2014 20:09:20 +0000 (20:09 +0000)]
Move all BSD only sources into if-bsd.c
Roy Marples [Wed, 23 Apr 2014 19:09:03 +0000 (19:09 +0000)]
Compile embedded in without a config
Roy Marples [Wed, 23 Apr 2014 19:00:29 +0000 (19:00 +0000)]
Add missing file