]>
git.ipfire.org Git - thirdparty/dhcpcd.git/log
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:54:19 +0000 (21:54 +0100)]
Merge branch 'dhcpcd-7'
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 [Fri, 19 Apr 2019 08:07:13 +0000 (09:07 +0100)]
Linux: Fix compile
Roy Marples [Thu, 18 Apr 2019 17:05:56 +0000 (18:05 +0100)]
BPF: Set BPF_MCAST flag as on BSD
Roy Marples [Thu, 18 Apr 2019 16:01:10 +0000 (17:01 +0100)]
ARP: Ignore Unicast Poll messages, RFC1122.
Roy Marples [Thu, 18 Apr 2019 15:56:34 +0000 (16:56 +0100)]
BPF: Set flag indicate whether the packet was broadcast or not
Roy Marples [Thu, 18 Apr 2019 13:54:47 +0000 (14:54 +0100)]
ARP: Refactor so that ACD is available for all inet addresses
Callbacks have also been improved so they are more descriptive.
Roy Marples [Thu, 18 Apr 2019 13:54:29 +0000 (14:54 +0100)]
Changed mind, use .0
Roy Marples [Thu, 18 Apr 2019 12:01:06 +0000 (13:01 +0100)]
dhcpcd is now 7.99.1
Roy Marples [Wed, 17 Apr 2019 22:42:45 +0000 (23:42 +0100)]
Release dhcpcd-7.2.0
Roy Marples [Wed, 17 Apr 2019 22:18:39 +0000 (22:18 +0000)]
Linux: Fix compile
Roy Marples [Wed, 17 Apr 2019 21:59:47 +0000 (22:59 +0100)]
FreeBSD: fix compile
Roy Marples [Wed, 17 Apr 2019 08:17:07 +0000 (08:17 +0000)]
Forgot these from merge
Roy Marples [Wed, 17 Apr 2019 08:15:30 +0000 (08:15 +0000)]
Merge branch 'master' into rbtree
Roy Marples [Wed, 17 Apr 2019 01:14:00 +0000 (01:14 +0000)]
route: Don't install an IPv4LL default route if static one exists
Roy Marples [Tue, 16 Apr 2019 21:45:13 +0000 (22:45 +0100)]
Fix compile
Roy Marples [Tue, 16 Apr 2019 21:41:47 +0000 (21:41 +0000)]
sun: Add rbtree support
Roy Marples [Tue, 16 Apr 2019 19:02:36 +0000 (20:02 +0100)]
Merge branch 'master' into rbtree
Roy Marples [Tue, 16 Apr 2019 18:48:46 +0000 (19:48 +0100)]
Revert "route: Disable RT_FREE_ROUTE_TABLE by default."
This reverts commit
46059a78ef33341de80c0085570f71bf0ec15e8b .
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 [Thu, 28 Mar 2019 13:05:50 +0000 (13:05 +0000)]
route: Disable RT_FREE_ROUTE_TABLE by default.
The libc malloc implementation should be good enough for most.
The environment variables for dhcpcd-run-hooks probably do
more damage anyway.....
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
Roy Marples [Thu, 14 Mar 2019 00:17:26 +0000 (00:17 +0000)]
options: add link_rcvbuf variable
Sets SO_RCVBUF on the link socket to the designated size.
On a busy system this can be inflated to avoid buffer overflow.
However, dhcpcd *will* cope fine with overflow on NetBSD, OpenBSD
and Linux with a call to getifaddrs(3), but that might be too
heavy weight depending on the libc implementation as most
don't report address flags via this method.
Roy Marples [Fri, 8 Mar 2019 13:08:16 +0000 (13:08 +0000)]
route: prefer interfaces with a carrier
Masanobu SAITOH [Fri, 8 Mar 2019 12:04:48 +0000 (12:04 +0000)]
dhcpcd(8): Remove duplicate the
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.