]>
git.ipfire.org Git - thirdparty/dhcpcd.git/log
Roy Marples [Fri, 26 Apr 2019 13:32:54 +0000 (14:32 +0100)]
Release dhcpcd-7.2.1
Roy Marples [Fri, 26 Apr 2019 13:16:16 +0000 (13:16 +0000)]
sun: Simplify initialisation of the multicast destination
Roy Marples [Fri, 26 Apr 2019 10:38:45 +0000 (11:38 +0100)]
OpenBSD: Don't spam syslog when cannot send NA
The error is "No route to host".
OpenBSD does not support IPv6 address sharing, so it's no biggie.
As such, only log an error when debugging.
Roy Marples [Fri, 26 Apr 2019 10:27:25 +0000 (11:27 +0100)]
FreeBSD: Fix fetching the IPv6 address lifetime
FreeBSD it seems sensibly uses a monotonic clock for IPv6 lifetimes
but the others use the wall clock.
Roy Marples [Fri, 26 Apr 2019 00:17:29 +0000 (01:17 +0100)]
Whitespace
Roy Marples [Thu, 25 Apr 2019 12:04:45 +0000 (12:04 +0000)]
sun: Don't define IN_IFF_TENTATIVE or IN_IFF_DETACHED
Let's not pretend these exist and adjust existing #ifdefs
to compensate.
Roy Marples [Thu, 25 Apr 2019 12:02:50 +0000 (12:02 +0000)]
sun: Detect correct broadcast address as RTM_NEWADDR lies
I suspect this is because the broadcast address needs to be set
after the address, but RTM_NEWADDR is triggered from adding the
address.
While here, actually set the broadcast address requested
for IPv4 and simplify the code.
Roy Marples [Wed, 24 Apr 2019 14:21:41 +0000 (15:21 +0100)]
dhcpcd.conf: Fix wording about ipv6rs
Roy Marples [Wed, 24 Apr 2019 11:25:15 +0000 (11:25 +0000)]
sun: Fix compile as IN6ADDR_LINKLOCAL_ALLNODES_INIT isn't defined.
Roy Marples [Wed, 24 Apr 2019 11:18:25 +0000 (12:18 +0100)]
IPv6ND: Use generic initialisers rather than inet_pton
Roy Marples [Wed, 24 Apr 2019 11:00:57 +0000 (11:00 +0000)]
sun: Fix adding IPv4LL default route
Roy Marples [Tue, 23 Apr 2019 18:54:39 +0000 (18:54 +0000)]
sun: Bind IPv6ND socket to interface.
Just to be on the safe side as it is per interface ....
Roy Marples [Tue, 23 Apr 2019 18:53:59 +0000 (19:53 +0100)]
Fix compile
Roy Marples [Tue, 23 Apr 2019 17:34:27 +0000 (18:34 +0100)]
Fix compile for non-sun
Roy Marples [Tue, 23 Apr 2019 17:27:52 +0000 (17:27 +0000)]
sun: Open an IPv6ND socket per interface
This is needed because we need to join the all-nodes multi-cast
group and that only works per interface.
Roy Marples [Mon, 22 Apr 2019 12:37:15 +0000 (12:37 +0000)]
sun: Making routing work with both 64-bit and 32-bit userlands
Basically Dilos is 64-bit userland and SmartOS is 32-bit.
We need code to fit both, this seems to work.
Roy Marples [Sun, 21 Apr 2019 23:56:48 +0000 (23:56 +0000)]
sun: Fix numerous issues handling route messages
Fix extracting the sockaddr's.
Fix finding the correct alias for new addresses.
Fix finding the correct alias for deleted addresses.
Fix finding the correct flags for the alias.
Roy Marples [Sun, 21 Apr 2019 20:17:49 +0000 (20:17 +0000)]
sun: Read RTA_IFA for IPv6 routes.
As a side note, I find it very odd that the kernel can return
RTA_IFA but ignores it when adding or changing routes!
Roy Marples [Sun, 21 Apr 2019 20:14:42 +0000 (20:14 +0000)]
sun: Set RTA_IFP and RTA_IFA again for default routes
Note that RTA_IFA doesn't actually work with the kernel
and RTA_SRC doesn't work with RTF_GATEWAY which is more
important.
Roy Marples [Sat, 20 Apr 2019 21:11:05 +0000 (00:11 +0300)]
sun: Continue walking dlpi links when dlpi_open returns no link
The link could have just vanished, or it's in a zone.
As such, continue.
Roy Marples [Sat, 20 Apr 2019 20:07:16 +0000 (21:07 +0100)]
auth: Improve comment about DHCPv4 option splitting not working
Patches to fix this welcome :)
Roy Marples [Sat, 20 Apr 2019 20:03:21 +0000 (21:03 +0100)]
DHCPv6: fix warning message wording
Roy Marples [Fri, 19 Apr 2019 20:47:37 +0000 (21:47 +0100)]
Really add consttime_memequal
Roy Marples [Fri, 19 Apr 2019 20:42:07 +0000 (21:42 +0100)]
compat: Provide consttime_memequal if not in libc
Public domain version by Matthias Drochner <drochner@netbsd.org>
Roy Marples [Fri, 19 Apr 2019 20:40:14 +0000 (21:40 +0100)]
auth: Use consttime_memequal(3) to compare hashes
This stops any attacker from trying to infer secrets from latency.
Thanks to Maxime Villard <max@m00nbsd.net>
Roy Marples [Fri, 19 Apr 2019 20:00:19 +0000 (21:00 +0100)]
DHCP: Fix a potential 1 byte read overflow with DHO_OPTSOVERLOADED
This fix basically moves the option length check up and also
corrects an off by one error with it.
Thanks to Maxime Villard <max@m00nbsd.net>
Roy Marples [Fri, 19 Apr 2019 08:45:02 +0000 (09:45 +0100)]
DHCPv6: Fix a potential buffer overflow reading NA/TA addresses
Only copy upto the size of the address option rather than the
option length.
Found by Maxime Villard <max@m00nbsd.net>
Roy Marples [Wed, 17 Apr 2019 22:42:45 +0000 (23:42 +0100)]
Release dhcpcd-7.2.0
Roy Marples [Tue, 16 Apr 2019 18:13:25 +0000 (18:13 +0000)]
sun: Don't read beyond the sockaddr length when making RTM
Roy Marples [Tue, 16 Apr 2019 18:12:16 +0000 (18:12 +0000)]
if: Add a generic function to create an aliased address name
Reduces complexity between IPv4 and IPv6 and silences a warning
about potential string trunctaion if the LUN makes too big an
interface name.
Roy Marples [Tue, 16 Apr 2019 18:09:50 +0000 (18:09 +0000)]
duid: If no UUID support, don't warn about unused variable.
Roy Marples [Mon, 15 Apr 2019 11:39:07 +0000 (12:39 +0100)]
BSD: Simplify rtm usage
Roy Marples [Mon, 15 Apr 2019 11:30:14 +0000 (14:30 +0300)]
sun: Find the interface in if_finishrt
Makes the code a bit smaller.
Roy Marples [Sun, 14 Apr 2019 11:01:21 +0000 (14:01 +0300)]
sun: Update the interface index after plumbing
Otherwise it's likely zero ....
Roy Marples [Sun, 14 Apr 2019 10:48:29 +0000 (13:48 +0300)]
sun: Use lo0 if we can't find an interface for our route
We need to operate on the route, and dhcpcd needs an interface for
each route. This seems to work for now.
Roy Marples [Sun, 14 Apr 2019 09:54:16 +0000 (12:54 +0300)]
sun: Fix carrier detection, MTU detection and plumbing
dhcpcd no longer needs ifconfig to do the initial plumbing.
Roy Marples [Sun, 14 Apr 2019 09:53:25 +0000 (12:53 +0300)]
sun: Don't report error if interface does not exist during preinit
For sun this is normal as we only create the initial interface
when adding an address.
Roy Marples [Sat, 13 Apr 2019 15:40:39 +0000 (18:40 +0300)]
sun: Fix routing issues
Solaris doesn't seem to have interface sets for some routes.
Call RTM_GET for these to discover the outbound interface.
Fix adding default routes.
Joerg Sonnenberger [Fri, 12 Apr 2019 14:25:06 +0000 (15:25 +0100)]
sun: Compile once more
Roy Marples [Thu, 11 Apr 2019 16:18:29 +0000 (17:18 +0100)]
options: improve string parsing some more
Roy Marples [Wed, 10 Apr 2019 21:58:36 +0000 (22:58 +0100)]
options: terminate strings that are not quoted
Roy Marples [Wed, 10 Apr 2019 21:33:01 +0000 (22:33 +0100)]
DHCP: abort BPF in test mode on receipt of message.
Roy Marples [Wed, 10 Apr 2019 21:19:05 +0000 (22:19 +0100)]
options: add static routers and routes to environment
Roy Marples [Wed, 10 Apr 2019 20:46:07 +0000 (21:46 +0100)]
DHCP: Dont really add static address in test mode
Roy Marples [Wed, 10 Apr 2019 20:36:51 +0000 (21:36 +0100)]
script: Assign a default script
Fixes a dumb mistake I made earlier.
Roy Marples [Wed, 10 Apr 2019 13:10:42 +0000 (14:10 +0100)]
DHCP6: Don't spam syslog if we get the same error over and over
It will still be spammy if we ask for more than one IA
and one of them has an error, but that's for another day.
Roy Marples [Tue, 2 Apr 2019 12:35:51 +0000 (13:35 +0100)]
BSD: Fix detecting the interface for scoped routes
dhcpcd will now detect the IPv6 default route being deleted
by a third party, for example.
Roy Marples [Tue, 2 Apr 2019 11:52:31 +0000 (12:52 +0100)]
route: log which pid deletes routes
Roy Marples [Wed, 27 Mar 2019 17:33:03 +0000 (17:33 +0000)]
script: Parse argument as a string
This allows "" to equal /dev/null.
Roy Marples [Tue, 26 Mar 2019 00:40:57 +0000 (00:40 +0000)]
DHCPv6: Allow nooptions dhcp6_unicast to work.
This allows dhcpcd to ignore any server set unicast option which
doesn't work.
Roy Marples [Mon, 25 Mar 2019 12:20:45 +0000 (12:20 +0000)]
script: Fix prior when we have listeners but no script
Roy Marples [Mon, 25 Mar 2019 12:17:07 +0000 (12:17 +0000)]
script: Fix not running when empty string or /dev/null
Masanobu SAITOH [Fri, 8 Mar 2019 12:04:48 +0000 (12:04 +0000)]
dhcpcd(8): Remove duplicate the
Roy Marples [Tue, 5 Mar 2019 20:04:25 +0000 (20:04 +0000)]
IPv4LL: Fix routing on failure
Roy Marples [Thu, 21 Feb 2019 21:21:06 +0000 (21:21 +0000)]
Linux: Fix compile without IPv4LL
Roy Marples [Tue, 19 Feb 2019 23:15:43 +0000 (23:15 +0000)]
DHCP: Dont close ARP gratuitously
Note we may wish to handle ACD for DHCP in the future.
Roy Marples [Tue, 19 Feb 2019 23:02:17 +0000 (23:02 +0000)]
DHCP: free the ARP state of the address once announced
This closes the ARP socket if nothing more todo.
Roy Marples [Tue, 19 Feb 2019 22:07:08 +0000 (22:07 +0000)]
Guard with IP_PKTINFO as well.
Roy Marples [Tue, 19 Feb 2019 21:46:06 +0000 (21:46 +0000)]
Fold all CMSG parsing into a common function.
Makes dhcpcd smaller still.
Roy Marples [Tue, 19 Feb 2019 21:15:14 +0000 (21:15 +0000)]
DHCP: Close the BPF socket once BOUND
Receive all messages via the global BOOTPC socket.
This makes the resource usage of dhcpcd a small bit lighter.
Roy Marples [Tue, 19 Feb 2019 08:07:37 +0000 (08:07 +0000)]
BSD: Don't keep PF LINK socket open needlessly
Saves a tiny bit of resource when dhcpcd is running.
Roy Marples [Sun, 17 Feb 2019 09:36:11 +0000 (09:36 +0000)]
Remove the send/recv structures from dhcpcd context and allocate
on stack as and when required.
Rather than peaking and checking for truncation for receiving,
just allocate a large enough buffer upfront.
Roy Marples [Thu, 14 Feb 2019 21:26:47 +0000 (21:26 +0000)]
Fix whitespace introduced by my last patch
Kenny Napier [Thu, 14 Feb 2019 21:23:16 +0000 (21:23 +0000)]
build: exit the SUBDIR build loop if an error is detected
Roy Marples [Mon, 11 Feb 2019 18:07:25 +0000 (18:07 +0000)]
Remove gmake-4 note, gmake-3 works again.
Might require newer gmake-4, but heh ho.
Roy Marples [Mon, 11 Feb 2019 18:02:15 +0000 (18:02 +0000)]
make: support gmake-3 again.
Roy Marples [Mon, 11 Feb 2019 17:45:04 +0000 (17:45 +0000)]
linux: Fix compile on old RedHat/CentOS systems
Roy Marples [Sat, 9 Feb 2019 17:04:01 +0000 (17:04 +0000)]
DHCP: Don't dictate the outbound interface when unicasting
Correct routing should have been setup already and this avoids
a buggy IP_PKTINFO implementation on NetBSD.
Roy Marples [Fri, 8 Feb 2019 17:14:26 +0000 (17:14 +0000)]
BSD: don't log an error if the interface departs during SIOCGIFALIAS
Chris Clayton [Fri, 8 Feb 2019 16:35:36 +0000 (16:35 +0000)]
fix build with --disable-inet6
Roy Marples [Fri, 8 Feb 2019 16:32:36 +0000 (16:32 +0000)]
dhcp: if the netmask is all ones, it's a host route
Roy Marples [Thu, 7 Feb 2019 21:20:41 +0000 (21:20 +0000)]
Release dhcpcd-7.1.1
Roy Marples [Wed, 6 Feb 2019 20:07:53 +0000 (20:07 +0000)]
Not using c++11, go back to attribute
Roy Marples [Wed, 6 Feb 2019 20:05:52 +0000 (20:05 +0000)]
Fix __fallthrough directive on non GNUC
Roy Marples [Wed, 6 Feb 2019 19:39:00 +0000 (19:39 +0000)]
gcc: appease gcc-7's implicit fallthrough warning
We now need to define __fallthrough for one part because
cpp strips comments from preprocessed code and I don't want to
enforce needing -C in CFLAGS to avoid this.
Roy Marples [Wed, 6 Feb 2019 19:38:01 +0000 (19:38 +0000)]
IP4: No need to set a variable to arp announce the address
Roy Marples [Wed, 6 Feb 2019 19:36:36 +0000 (19:36 +0000)]
ARP: make the announce address a constant
Roy Marples [Wed, 30 Jan 2019 22:40:12 +0000 (22:40 +0000)]
link: introduce LINK_DOWN_IFFUP
Set this state so when we preserve config on carrier loss.
This allows us to remove config if the interface is then brought down.
Roy Marples [Sat, 26 Jan 2019 02:13:29 +0000 (02:13 +0000)]
FreeBSD: avoid kernel panics when adding on-link IPv6 routes
Also warn that OS does not support IPv6 address sharing.
Roy Marples [Sat, 26 Jan 2019 00:16:09 +0000 (00:16 +0000)]
ssid is not NULL terminated anymore.
Roy Marples [Sat, 26 Jan 2019 00:08:43 +0000 (00:08 +0000)]
BSD: treat LINK_STATE_UNKNOWN as DOWN if media is invalid
On BSD, some interfaces might emit RTM_IFINFO before the link state
has initialised. Mainly wireless cards.
If the intial carrier call says media state change is valid,
we need to treat LINK_STATE_UNKNOWN as LINK_DOWN rather than
LINK_UP.
Roy Marples [Wed, 23 Jan 2019 13:50:34 +0000 (13:50 +0000)]
IP6ND: Remove #defines for functions when INET6 is disabled
This allows us to optimise the code better and hopefully
become less error prone.
Roy Marples [Wed, 23 Jan 2019 13:05:12 +0000 (13:05 +0000)]
BSD: Remove silly guards
Roy Marples [Wed, 23 Jan 2019 13:01:19 +0000 (13:01 +0000)]
DHCP6: Remove #defines for functions when DHCP6 is disabled
This allows us to optimise the code better and hopefully
become less error prone.
Roy Marples [Wed, 23 Jan 2019 11:43:11 +0000 (11:43 +0000)]
IP4: Remove #defines for functions when INET is disabled
This allows us to optimise the code better and hopefully
become less error prone.
Roy Marples [Wed, 23 Jan 2019 11:37:37 +0000 (11:37 +0000)]
DHCP: Remove #defines for functions when INET is disabled
This allows us to optimise the code better and hopefull
become less error prone.
Roy Marples [Wed, 23 Jan 2019 11:28:59 +0000 (11:28 +0000)]
IPv4LL: Remove #defines for functions when IPv4LL is disabled
This allows us to optimise the code better and hopefully
become less error prone.
Roy Marples [Tue, 22 Jan 2019 21:21:25 +0000 (21:21 +0000)]
IPv4LL: Fix build if not enabled.
Roy Marples [Tue, 22 Jan 2019 14:53:45 +0000 (14:53 +0000)]
Release dhcpcd-7.1.0
Roy Marples [Tue, 22 Jan 2019 14:51:42 +0000 (14:51 +0000)]
BSD: Turn on SO_RERROR for all sockets
So we can detect IPv6ND or DHCPv6 overflow as well as route(4)
overflow.
Roy Marples [Thu, 17 Jan 2019 11:49:52 +0000 (11:49 +0000)]
IPv4LL: prior prior commit for non NetBSD OS's
Roy Marples [Thu, 17 Jan 2019 11:44:08 +0000 (11:44 +0000)]
IPv4LL: Preserve address when carrier drops
Apple Conformance testing now requires this.
However, if associated SSID changes on wireless networks,
any remembered address is reset.
Roy Marples [Mon, 14 Jan 2019 12:57:37 +0000 (12:57 +0000)]
BSD: Fix UP/DOWN for interfaces which dont' report media changes
Carrier UP/DOWN state is handled by media change events on BSD.
When the carrier state changes, it's always to LINK_STATE_DOWN or
LINK_STATE_UP.
If we receive LINK_STATE_UNKNOWN from RTM_IFINFO it means the
interface doesn't change media change events and as such won't
report carrier state changes. In this instance, we can only rely
on IFF_UP being set, which is the same condition dhcpcd needs
for LINK_STATE_UP.
Roy Marples [Sat, 12 Jan 2019 13:36:01 +0000 (13:36 +0000)]
FreeBSD: Fix bogus RTM_DELADDR messages from affecting DHCP lease
Roy Marples [Fri, 11 Jan 2019 12:39:33 +0000 (12:39 +0000)]
configure: --with-udev explicity requires libudev to be present
Roy Marples [Fri, 11 Jan 2019 12:30:46 +0000 (12:30 +0000)]
configurfe: Remove extra --includedir. It's not hit anyway.
Roy Marples [Sun, 6 Jan 2019 10:10:59 +0000 (10:10 +0000)]
ip6: Install not on link routes with a gateway of the router
This allows a secondary router to broadcast prefixes it controls
without being a default router itself.
Roy Marples [Sat, 5 Jan 2019 11:42:12 +0000 (11:42 +0000)]
ip6: Implement IPv6 address sharing
This allows the same IPv6 address to exist on more than one
interface. Whenever dhcpcd address an IPv6 address, it will
advertise it along with the hardware address of the preferred
interface.
This is heavliy reliant on the kernel supporting this as it's the
kernel that handle the Duplicate Address Detection.
In a nutshell it needs to support RFC 7527 and ignore NA packets
from any hardware address the host owns.
Currently the only known kernel that fully supports this is
NetBSD-8.99.27
Roy Marples [Wed, 2 Jan 2019 16:33:29 +0000 (16:33 +0000)]
dhcpcd(8): note that --waitip needs = when specifying a protocol
Roy Marples [Tue, 1 Jan 2019 17:16:18 +0000 (17:16 +0000)]
Welcome to 2019!