]> git.ipfire.org Git - thirdparty/dhcpcd.git/log
thirdparty/dhcpcd.git
5 years agoRemove duplicated header. dhcpcd-7 origin/dhcpcd-7
Roy Marples [Mon, 10 Feb 2020 21:23:20 +0000 (21:23 +0000)] 
Remove duplicated header.

5 years agocompat: Fix a typo in pidfile when O_CLOEXEC is not defined
Petr Gotthard [Wed, 5 Feb 2020 15:35:44 +0000 (15:35 +0000)] 
compat: Fix a typo in pidfile when O_CLOEXEC is not defined

While here, include fcntl.h in if.c for older environments.

5 years agoinet: Allow forcing a host route from an interface without a lease
Roy Marples [Tue, 31 Dec 2019 14:06:40 +0000 (14:06 +0000)] 
inet: Allow forcing a host route from an interface without a lease

5 years agoRelease dhcpcd-7.2.5 v7.2.5
Roy Marples [Fri, 20 Dec 2019 22:09:20 +0000 (22:09 +0000)] 
Release dhcpcd-7.2.5

5 years agooptions: Fix allocating the script option
Roy Marples [Fri, 20 Dec 2019 22:05:59 +0000 (22:05 +0000)] 
options: Fix allocating the script option

When passing PARSE_STRING_NULL we expect to store the string
NULL terminated. As such, allocate space for it an ensure we have
space for it.

5 years agoRelease dhcpcd-7.2.4 v7.2.4
Roy Marples [Fri, 20 Dec 2019 11:30:35 +0000 (11:30 +0000)] 
Release dhcpcd-7.2.4

5 years agoDHCP: Ensure we have a lease to extract options from.
Roy Marples [Thu, 19 Dec 2019 15:36:31 +0000 (15:36 +0000)] 
DHCP: Ensure we have a lease to extract options from.

5 years agoDHCP6: Remove now unused vars
Roy Marples [Tue, 17 Dec 2019 22:32:21 +0000 (22:32 +0000)] 
DHCP6: Remove now unused vars

5 years agoDHCP6: Add disabled code to allow packet replay
Roy Marples [Tue, 17 Dec 2019 22:23:56 +0000 (22:23 +0000)] 
DHCP6: Add disabled code to allow packet replay

I get bored of adding similar code from time to time just to
aid debugging, so let's just add it in.

Someone else might find it useful too.

5 years agoDHCP6: Rework delegation deprecation
Roy Marples [Tue, 17 Dec 2019 22:16:26 +0000 (22:16 +0000)] 
DHCP6: Rework delegation deprecation

Split ipv6_addaddrs out so ipv6_doaddr can operate on a single address.
Call this when deprecating delegated addresses to avoid calling
ipv6_addaddrs.

This allows a more simple ipv6_addaddrs that doesn't need to test
which address collection we are deleting from and removes DHCPv6
specific code from the generic IPv6 module.

5 years agoDHCP6: Fix deprecating a delegated prefix
Roy Marples [Mon, 16 Dec 2019 16:56:17 +0000 (16:56 +0000)] 
DHCP6: Fix deprecating a delegated prefix

Be sure to remove the address using the right TAILQ member.
While here, simplify the initialisation of pd_pfxs.

5 years agooptions: Suboption 3 of NTP Server is a FQDN
Roy Marples [Mon, 16 Dec 2019 12:32:43 +0000 (12:32 +0000)] 
options: Suboption 3 of NTP Server is a FQDN

As such it should be domain and not ip6address.

5 years agoDHCP6: Work better with infinite addresses
Roy Marples [Thu, 12 Dec 2019 13:59:48 +0000 (13:59 +0000)] 
DHCP6: Work better with infinite addresses

And as such just log infinite lease rather than an arbitary
number.

Backported from d7e68001.

6 years agoDHCP6: Change state to REQEST when any IA has NOBINDING status
Roy Marples [Mon, 29 Jul 2019 07:39:57 +0000 (08:39 +0100)] 
DHCP6: Change state to REQEST when any IA has NOBINDING status

Just to be more RFC conformant.

6 years agohooks: Ensure header is empty before populating it.
Roy Marples [Fri, 12 Jul 2019 14:04:13 +0000 (15:04 +0100)] 
hooks: Ensure header is empty before populating it.

Thanks to Andreas

6 years agoRelease dhcpcd-7.2.3 v7.2.3
Roy Marples [Wed, 26 Jun 2019 09:30:13 +0000 (10:30 +0100)] 
Release dhcpcd-7.2.3

6 years agoFix typo in configure
Oleksandr Kravchuk [Tue, 25 Jun 2019 20:28:35 +0000 (22:28 +0200)] 
Fix typo in configure

6 years agoDHCP6: Fix INFORM support
Roy Marples [Thu, 20 Jun 2019 15:44:21 +0000 (16:44 +0100)] 
DHCP6: Fix INFORM support

6 years ago30-hostname: Fix typo: hsort -> hshort
Daniel Gröber [Wed, 12 Jun 2019 17:59:53 +0000 (19:59 +0200)] 
30-hostname: Fix typo: hsort -> hshort

6 years agoDHCP6: Keep running regardless of RA state
Roy Marples [Wed, 12 Jun 2019 12:43:27 +0000 (13:43 +0100)] 
DHCP6: Keep running regardless of RA state

We should keep DHCP6 running even if routers expire or link changes.
This is noted in RFC3315 18.1.2:
   If the client receives no responses before the message transmission
   process terminates, as described in section 14, the client SHOULD
   continue to use any IP addresses, using the last known
   lifetimes for those addresses, and SHOULD continue to use any other
   previously obtained configuration parameters.

6 years agoBSD: Ensure we have enough of a RTM message to read it.
Roy Marples [Sat, 4 May 2019 13:29:28 +0000 (14:29 +0100)] 
BSD: Ensure we have enough of a RTM message to read it.

As not all are of equal size.

6 years agoOpenBSD: Fix compile
Roy Marples [Sat, 4 May 2019 12:53:07 +0000 (13:53 +0100)] 
OpenBSD: Fix compile

6 years agoDHCPv6: Fix exclude prefix length check. v7.2.2
Roy Marples [Sat, 4 May 2019 09:19:02 +0000 (10:19 +0100)] 
DHCPv6: Fix exclude prefix length check.

6 years agoRelease dhcpcd-7.2.2
Roy Marples [Sat, 4 May 2019 08:41:16 +0000 (09:41 +0100)] 
Release dhcpcd-7.2.2

6 years agosun: More validation around route messages
Roy Marples [Sat, 4 May 2019 08:17:01 +0000 (08:17 +0000)] 
sun: More validation around route messages

6 years agosun: Apply same RTM validation from BSD
Roy Marples [Fri, 3 May 2019 15:44:13 +0000 (15:44 +0000)] 
sun: Apply same RTM validation from BSD

6 years agoBSD: Ignore coverity errors
Roy Marples [Fri, 3 May 2019 15:27:35 +0000 (16:27 +0100)] 
BSD: Ignore coverity errors

We could do ((char *)rtm) + rtm->rtm_msglen but that looks
more ugly than rtm + 1.

6 years agoBSD: Validate RTM message lengths received
Roy Marples [Fri, 3 May 2019 14:44:51 +0000 (15:44 +0100)] 
BSD: Validate RTM message lengths received

Doubtful these lengths would be invalid, but you never know.

6 years agoBPF: Fix ARP BPF filter to actually filter unwanted ARP message types
Roy Marples [Fri, 3 May 2019 13:50:28 +0000 (14:50 +0100)] 
BPF: Fix ARP BPF filter to actually filter unwanted ARP message types

While here, clarify the BPF instruction space needed for ARP as it
could overflow in the very unlikely event we ARP for three
addresses at the same time.

6 years agoDHCPv6: Fix a potential read overflow with D6_OPTION_PD_EXCLUDE
Roy Marples [Fri, 3 May 2019 13:44:06 +0000 (14:44 +0100)] 
DHCPv6: Fix a potential read overflow with D6_OPTION_PD_EXCLUDE

dhcpcd only checks that the prefix length of the exclusion
matches the prefix length of the ia and equals the length of the
data in the option.
This could potentially overrun the in6_addr structure.

This is fixed by enforcing RFC 6603 section 4.2 option limits
more clearly.

Thanks to Maxime Villard <max@m00nbsd.net> for finding this.

6 years agoFix a small brain fart causing LINK_UNKNOWN to spin.
Roy Marples [Thu, 2 May 2019 20:48:52 +0000 (21:48 +0100)] 
Fix a small brain fart causing LINK_UNKNOWN to spin.

6 years agoBSD: Simplify carrier detection once more.
Roy Marples [Thu, 2 May 2019 20:25:57 +0000 (21:25 +0100)] 
BSD: Simplify carrier detection once more.

RTM_IFINFO messages now send the un-molested link status to
the main carrier handler which no longer polls on LINK_UNKNOWN.
Instead, we check carrier status directly, which if unsupported
we instead interface flags.

This is 2019, all interface drivers should report link status
correctly via RTM_IFINFO messages and trying to constantly work
around this is error prone and time consuming.

6 years agoFix comment
Roy Marples [Thu, 2 May 2019 12:06:44 +0000 (13:06 +0100)] 
Fix comment

6 years agoBSD: RTM_IFINFO is not emitted for all interfaces past unknown link
Roy Marples [Thu, 2 May 2019 12:02:36 +0000 (13:02 +0100)] 
BSD: RTM_IFINFO is not emitted for all interfaces past unknown link

It has to work for wireless interfaces, but we have no idea
about other interfaces. So test valid carrier for unknown.

6 years agoDon't report errno here.
Roy Marples [Mon, 29 Apr 2019 17:40:13 +0000 (18:40 +0100)] 
Don't report errno here.

6 years agodhcp: Cast away a warning on mips64
Roy Marples [Mon, 29 Apr 2019 16:36:21 +0000 (17:36 +0100)] 
dhcp: Cast away a warning on mips64

6 years agodhcp: Ensure that we have DHCP running on the receiving interface
Roy Marples [Mon, 29 Apr 2019 16:32:53 +0000 (17:32 +0100)] 
dhcp: Ensure that we have DHCP running on the receiving interface

... before trying to process the received BOOTP message on it.

6 years agoRelease dhcpcd-7.2.1 v7.2.1
Roy Marples [Fri, 26 Apr 2019 13:32:54 +0000 (14:32 +0100)] 
Release dhcpcd-7.2.1

6 years agosun: Simplify initialisation of the multicast destination
Roy Marples [Fri, 26 Apr 2019 13:16:16 +0000 (13:16 +0000)] 
sun: Simplify initialisation of the multicast destination

6 years agoOpenBSD: Don't spam syslog when cannot send NA
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.

6 years agoFreeBSD: Fix fetching the IPv6 address lifetime
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.

6 years agoWhitespace
Roy Marples [Fri, 26 Apr 2019 00:17:29 +0000 (01:17 +0100)] 
Whitespace

6 years agosun: Don't define IN_IFF_TENTATIVE or IN_IFF_DETACHED
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.

6 years agosun: Detect correct broadcast address as RTM_NEWADDR lies
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.

6 years agodhcpcd.conf: Fix wording about ipv6rs
Roy Marples [Wed, 24 Apr 2019 14:21:41 +0000 (15:21 +0100)] 
dhcpcd.conf: Fix wording about ipv6rs

6 years agosun: Fix compile as IN6ADDR_LINKLOCAL_ALLNODES_INIT isn't defined.
Roy Marples [Wed, 24 Apr 2019 11:25:15 +0000 (11:25 +0000)] 
sun: Fix compile as IN6ADDR_LINKLOCAL_ALLNODES_INIT isn't defined.

6 years agoIPv6ND: Use generic initialisers rather than inet_pton
Roy Marples [Wed, 24 Apr 2019 11:18:25 +0000 (12:18 +0100)] 
IPv6ND: Use generic initialisers rather than inet_pton

6 years agosun: Fix adding IPv4LL default route
Roy Marples [Wed, 24 Apr 2019 11:00:57 +0000 (11:00 +0000)] 
sun: Fix adding IPv4LL default route

6 years agosun: Bind IPv6ND socket to interface.
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 ....

6 years agoFix compile
Roy Marples [Tue, 23 Apr 2019 18:53:59 +0000 (19:53 +0100)] 
Fix compile

6 years agoFix compile for non-sun
Roy Marples [Tue, 23 Apr 2019 17:34:27 +0000 (18:34 +0100)] 
Fix compile for non-sun

6 years agosun: Open an IPv6ND socket per interface
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.

6 years agosun: Making routing work with both 64-bit and 32-bit userlands
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.

6 years agosun: Fix numerous issues handling route messages
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.

6 years agosun: Read RTA_IFA for IPv6 routes.
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!

6 years agosun: Set RTA_IFP and RTA_IFA again for default 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.

6 years agosun: Continue walking dlpi links when dlpi_open returns no link
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.

6 years agoauth: Improve comment about DHCPv4 option splitting not working
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 :)

6 years agoDHCPv6: fix warning message wording
Roy Marples [Sat, 20 Apr 2019 20:03:21 +0000 (21:03 +0100)] 
DHCPv6: fix warning message wording

6 years agoReally add consttime_memequal
Roy Marples [Fri, 19 Apr 2019 20:47:37 +0000 (21:47 +0100)] 
Really add consttime_memequal

6 years agocompat: Provide consttime_memequal if not in libc
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>

6 years agoauth: Use consttime_memequal(3) to compare hashes
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>

6 years agoDHCP: Fix a potential 1 byte read overflow with DHO_OPTSOVERLOADED
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>

6 years agoDHCPv6: Fix a potential buffer overflow reading NA/TA addresses
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>

6 years agoRelease dhcpcd-7.2.0 v7.2.0
Roy Marples [Wed, 17 Apr 2019 22:42:45 +0000 (23:42 +0100)] 
Release dhcpcd-7.2.0

6 years agosun: Don't read beyond the sockaddr length when making RTM
Roy Marples [Tue, 16 Apr 2019 18:13:25 +0000 (18:13 +0000)] 
sun: Don't read beyond the sockaddr length when making RTM

6 years agoif: Add a generic function to create an aliased address name
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.

6 years agoduid: If no UUID support, don't warn about unused variable.
Roy Marples [Tue, 16 Apr 2019 18:09:50 +0000 (18:09 +0000)] 
duid: If no UUID support, don't warn about unused variable.

6 years agoBSD: Simplify rtm usage
Roy Marples [Mon, 15 Apr 2019 11:39:07 +0000 (12:39 +0100)] 
BSD: Simplify rtm usage

6 years agosun: Find the interface in if_finishrt
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.

6 years agosun: Update the interface index after plumbing
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 ....

6 years agosun: Use lo0 if we can't find an interface for our route
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.

6 years agosun: Fix carrier detection, MTU detection and plumbing
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.

6 years agosun: Don't report error if interface does not exist during preinit
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.

6 years agosun: Fix routing issues
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.

6 years agosun: Compile once more
Joerg Sonnenberger [Fri, 12 Apr 2019 14:25:06 +0000 (15:25 +0100)] 
sun: Compile once more

6 years agooptions: improve string parsing some more
Roy Marples [Thu, 11 Apr 2019 16:18:29 +0000 (17:18 +0100)] 
options: improve string parsing some more

6 years agooptions: terminate strings that are not quoted
Roy Marples [Wed, 10 Apr 2019 21:58:36 +0000 (22:58 +0100)] 
options: terminate strings that are not quoted

6 years agoDHCP: abort BPF in test mode on receipt of message.
Roy Marples [Wed, 10 Apr 2019 21:33:01 +0000 (22:33 +0100)] 
DHCP: abort BPF in test mode on receipt of message.

6 years agooptions: add static routers and routes to environment
Roy Marples [Wed, 10 Apr 2019 21:19:05 +0000 (22:19 +0100)] 
options: add static routers and routes to environment

6 years agoDHCP: Dont really add static address in test mode
Roy Marples [Wed, 10 Apr 2019 20:46:07 +0000 (21:46 +0100)] 
DHCP: Dont really add static address in test mode

6 years agoscript: Assign a default script
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.

6 years agoDHCP6: Don't spam syslog if we get the same error over and over
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.

6 years agoBSD: Fix detecting the interface for scoped routes
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.

6 years agoroute: log which pid deletes routes
Roy Marples [Tue, 2 Apr 2019 11:52:31 +0000 (12:52 +0100)] 
route: log which pid deletes routes

6 years agoscript: Parse argument as a string
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.

6 years agoDHCPv6: Allow nooptions dhcp6_unicast to work.
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.

6 years agoscript: Fix prior when we have listeners but no script
Roy Marples [Mon, 25 Mar 2019 12:20:45 +0000 (12:20 +0000)] 
script: Fix prior when we have listeners but no script

6 years agoscript: Fix not running when empty string or /dev/null
Roy Marples [Mon, 25 Mar 2019 12:17:07 +0000 (12:17 +0000)] 
script: Fix not running when empty string or /dev/null

6 years agodhcpcd(8): Remove duplicate the
Masanobu SAITOH [Fri, 8 Mar 2019 12:04:48 +0000 (12:04 +0000)] 
dhcpcd(8): Remove duplicate the

6 years agoIPv4LL: Fix routing on failure
Roy Marples [Tue, 5 Mar 2019 20:04:25 +0000 (20:04 +0000)] 
IPv4LL: Fix routing on failure

6 years agoLinux: Fix compile without IPv4LL
Roy Marples [Thu, 21 Feb 2019 21:21:06 +0000 (21:21 +0000)] 
Linux: Fix compile without IPv4LL

6 years agoDHCP: Dont close ARP gratuitously
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.

6 years agoDHCP: free the ARP state of the address once announced
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.

6 years agoGuard with IP_PKTINFO as well.
Roy Marples [Tue, 19 Feb 2019 22:07:08 +0000 (22:07 +0000)] 
Guard with IP_PKTINFO as well.

6 years agoFold all CMSG parsing into a common function.
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.

6 years agoDHCP: Close the BPF socket once BOUND
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.

6 years agoBSD: Don't keep PF LINK socket open needlessly
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.

6 years agoRemove the send/recv structures from dhcpcd context and allocate
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.

6 years agoFix whitespace introduced by my last patch
Roy Marples [Thu, 14 Feb 2019 21:26:47 +0000 (21:26 +0000)] 
Fix whitespace introduced by my last patch