]>
git.ipfire.org Git - thirdparty/dhcpcd.git/log
Masanobu SAITOH [Fri, 8 Mar 2019 12:04:48 +0000 (12:04 +0000)]
dhcpcd(8): Remove duplicate the
Roy Marples [Fri, 8 Mar 2019 09:13:57 +0000 (09:13 +0000)]
rbtree: sync with upstream to remove diffs
Roy Marples [Thu, 7 Mar 2019 17:05:53 +0000 (17:05 +0000)]
Guard __RCSID
Roy Marples [Thu, 7 Mar 2019 15:12:27 +0000 (15:12 +0000)]
Resync with upstream
Roy Marples [Thu, 7 Mar 2019 12:21:20 +0000 (12:21 +0000)]
rbtree: reduce more with upstream
Roy Marples [Thu, 7 Mar 2019 12:10:05 +0000 (12:10 +0000)]
rbtree reference fixed header
Roy Marples [Thu, 7 Mar 2019 12:00:37 +0000 (12:00 +0000)]
Use __BIT
Roy Marples [Wed, 6 Mar 2019 01:35:43 +0000 (01:35 +0000)]
route: Enable the free route table again by default
Roy Marples [Tue, 5 Mar 2019 20:59:42 +0000 (20:59 +0000)]
route: Guard free route list stats
And add a maximum free list size stat
Roy Marples [Tue, 5 Mar 2019 20:04:25 +0000 (20:04 +0000)]
IPv4LL: Fix routing on failure
Roy Marples [Tue, 5 Mar 2019 09:17:33 +0000 (09:17 +0000)]
route: report usage data when using a free list
Roy Marples [Tue, 5 Mar 2019 00:36:48 +0000 (00:36 +0000)]
Linux: Fix compile
Roy Marples [Tue, 5 Mar 2019 00:28:36 +0000 (00:28 +0000)]
route: Remove kroutes and make froutes optional
This is an attempt to reduce the memory dhcpcd uses.
By removing kroutes and froutes from global context.
kroutes are generated at the start of rt_build and freed at
the end.
Roy Marples [Mon, 4 Mar 2019 16:31:08 +0000 (16:31 +0000)]
rbtree: Fix crash with prior
Roy Marples [Mon, 4 Mar 2019 16:09:33 +0000 (16:09 +0000)]
rbtree: silence more compile warnings.
Roy Marples [Mon, 4 Mar 2019 16:07:05 +0000 (16:07 +0000)]
Re-arrange so to reduce diff to upsteam.
Roy Marples [Mon, 4 Mar 2019 14:34:59 +0000 (14:34 +0000)]
route: Free route when failing to insert.
This means the collection already has the route, so we avoid
leaking memory.
Roy Marples [Mon, 4 Mar 2019 12:37:54 +0000 (12:37 +0000)]
OpenBSD: Fix segfaults when deleting MPATH routes
Roy Marples [Mon, 4 Mar 2019 11:48:04 +0000 (11:48 +0000)]
if: No more need for interface sorting
Roy Marples [Mon, 4 Mar 2019 11:42:06 +0000 (11:42 +0000)]
ipv6nd: Don't sort interfaces when picking best address
Roy Marples [Mon, 4 Mar 2019 10:29:56 +0000 (10:29 +0000)]
route: replace rt_find with rb_tree_find_node
Roy Marples [Mon, 4 Mar 2019 01:17:51 +0000 (01:17 +0000)]
route: sprinkle more assert
Roy Marples [Mon, 4 Mar 2019 01:11:58 +0000 (01:11 +0000)]
OpenBSD: add some asserts
Roy Marples [Mon, 4 Mar 2019 00:22:23 +0000 (00:22 +0000)]
Support NetBSD-6, 7 and 8.
Roy Marples [Mon, 4 Mar 2019 00:17:08 +0000 (00:17 +0000)]
Linux: now fix compile again ....
Roy Marples [Mon, 4 Mar 2019 00:09:27 +0000 (00:09 +0000)]
Fix compile.... doh
Roy Marples [Mon, 4 Mar 2019 00:04:21 +0000 (00:04 +0000)]
OpenBSD: Fix crash with rbtree
Roy Marples [Sun, 3 Mar 2019 23:45:16 +0000 (23:45 +0000)]
FreeBSD: Fix compile of rbtree.h
Roy Marples [Sun, 3 Mar 2019 23:44:51 +0000 (23:44 +0000)]
Fix whitespace
Roy Marples [Sun, 3 Mar 2019 23:39:20 +0000 (23:39 +0000)]
Fix configure reporting of rb_tree_init
Roy Marples [Sun, 3 Mar 2019 23:21:33 +0000 (23:21 +0000)]
route: Fix memory leak on option or freed route
In this case there is no interface to compare the metric for.
As such, compare on pointer so we can maintain a free list.
Roy Marples [Sun, 3 Mar 2019 22:59:13 +0000 (22:59 +0000)]
Add rbtree(3) from NetBSD if not present in libc.
Roy Marples [Sun, 3 Mar 2019 22:43:00 +0000 (22:43 +0000)]
IPv4LL: Fix compile with rbtree
Roy Marples [Sun, 3 Mar 2019 19:52:57 +0000 (19:52 +0000)]
Replace route TAILQ macros with rbtree(3) from NetBSD.
This not only reduces the binary size of dhcpcd by ~5k
on NetBSD/amd64, but also increases the performance of
dhcpcd on systems with large routing tables.
There should be more room for improvement as we can now
call find functions on the tree instead of walking it
ourself if we can generate a suitable key.
This has been greatly inspired from a similar patch from
Donald Sharp <sharpd@cumulusnetworks.com> which used the more
generic RB_ macros found in the BSD tree(3).
Not ready for production use because routes are now sorted
upon insertion so we need to ensure rt_compare is 100% correct
as it's no longer in the order supplied by DHCP.
Lastly, portability gunk needs to be added.
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!
Roy Marples [Sun, 30 Dec 2018 19:25:05 +0000 (19:25 +0000)]
dhcp: Don't ARP announce bound addresses when testing
Roy Marples [Sun, 16 Dec 2018 08:56:06 +0000 (08:56 +0000)]
BSD: SIOCSRTRFLUSH_IN6 and SIOCSPFXFLUSH_IN6 require in6_ifreq
and not a character array of the interface name.
This only worked previously because the first member of in6_ifreq
is the interface name.
Roy Marples [Sat, 1 Dec 2018 18:13:31 +0000 (18:13 +0000)]
Remove .arcconfig as I've abandoned Phabricator.
Roy Marples [Fri, 30 Nov 2018 03:58:28 +0000 (03:58 +0000)]
Fix prior logic.Doh!
Roy Marples [Fri, 30 Nov 2018 03:50:23 +0000 (03:50 +0000)]
BSD: Always set RTA_IFP for routes
Unless we are OpenBSD adding INET6 routes without a gateway.
this should work, but doesn't.
No biggie as no OS currently supports sharing IPv6 addresses on
more than one interface.
Roy Marples [Fri, 30 Nov 2018 03:38:06 +0000 (03:38 +0000)]
FreeBSD: Mark INET6 addresses as tentative when adding them
This is kind of odd really because the kernel should do this if
we're sending DaD probes.
Roy Marples [Fri, 30 Nov 2018 03:27:57 +0000 (03:27 +0000)]
BSD: don't listen to own route messages
This makes the code a lot simpler and reduces the changes
of overflowing the route socket.
Masanobu SAITOH [Thu, 8 Nov 2018 06:52:59 +0000 (06:52 +0000)]
Remove supurfluous an.
Roy Marples [Wed, 7 Nov 2018 18:57:20 +0000 (18:57 +0000)]
BSD: Use SO_RERROR on the route(4) socket.
This allows NetBSD to receive ENOBUFS again so it can detect
route(4) overflow.
This was recently defaulted to off globably, but is now settable
per socket.
Roy Marples [Sun, 4 Nov 2018 13:01:15 +0000 (13:01 +0000)]
Linux: Use NETLINK_BROADCAST_ERROR
This should allow dhcpcd to detect overflow on netlink, just
like NetBSD and OpenBSD.
Roy Marples [Tue, 30 Oct 2018 05:52:48 +0000 (05:52 +0000)]
hooks: shell [ ] only supports 4 parameters
Using a fifth paramter or more is unspecified.
Roy Marples [Wed, 26 Sep 2018 12:27:37 +0000 (13:27 +0100)]
OpenBSD: Allow dhcpcd to work alongside slaacd
Not that you should be doing this, but it appears some people want
two daemons handling the RA.
Roy Marples [Wed, 19 Sep 2018 08:07:58 +0000 (09:07 +0100)]
duid: test that we actually have a uuid on Linux
Roy Marples [Mon, 17 Sep 2018 19:08:20 +0000 (20:08 +0100)]
Merge pull request #5 from dhgutteridge/master
Some more man page tweaks
David H. Gutteridge [Mon, 17 Sep 2018 16:17:27 +0000 (12:17 -0400)]
dhcpcd.conf.5.in: One more minor grammar fix
Add a definite article to a phrase I'd revised.
David H. Gutteridge [Sat, 15 Sep 2018 23:59:24 +0000 (19:59 -0400)]
dhcpcd.conf.5.in: A couple more minor tweaks
Make all articles preceding 'RFC' consistent, and fix a formatting issue I inadvertently introduced.
David H. Gutteridge [Sat, 15 Sep 2018 23:49:00 +0000 (19:49 -0400)]
dhcpcd.conf.5.in: Fix various typos, add more markup, etc.
Fix some minor spelling and grammar issues, add more markup in places to help contextualize terms, add a touch more detail to 'Defining new options', make acronym formatting more consistent, etc.
David H. Gutteridge [Sat, 15 Sep 2018 23:41:27 +0000 (19:41 -0400)]
dhcpcd.8.in: More minor style tweaks
Use a consistent format for RFC references: a space between RFC and the ID number, as this is the most commonly-used format in man pages, and indeed in the RFCs themselves. Also, a few minor grammatical fixes.
Roy Marples [Mon, 10 Sep 2018 13:57:49 +0000 (14:57 +0100)]
Fix prior - always return if lease is invalid.
Roy Marples [Mon, 10 Sep 2018 11:02:55 +0000 (12:02 +0100)]
dhcp6: always move to the DISCOVER phase if the offered lease is invalid