]> git.ipfire.org Git - thirdparty/dhcpcd.git/log
thirdparty/dhcpcd.git
8 years agoMerge fixes from branch
Roy Marples [Fri, 7 Oct 2016 10:01:09 +0000 (10:01 +0000)] 
Merge fixes from branch

8 years agoFix import for auth
Roy Marples [Fri, 7 Oct 2016 08:34:00 +0000 (08:34 +0000)] 
Fix import for auth

8 years agoRelease dhcpcd-6.11.4 v6.11.4
Roy Marples [Fri, 7 Oct 2016 08:05:10 +0000 (08:05 +0000)] 
Release dhcpcd-6.11.4

8 years agoCast away some more compile errors.
Roy Marples [Thu, 6 Oct 2016 10:36:47 +0000 (10:36 +0000)] 
Cast away some more compile errors.

8 years agoRemove debug.
Roy Marples [Wed, 5 Oct 2016 19:20:39 +0000 (19:20 +0000)] 
Remove debug.

8 years agoFix sending DHCPv6 vendor option.
Roy Marples [Wed, 5 Oct 2016 19:20:13 +0000 (19:20 +0000)] 
Fix sending DHCPv6 vendor option.

8 years agoUpdate copyright and intent.
Roy Marples [Wed, 5 Oct 2016 16:33:34 +0000 (16:33 +0000)] 
Update copyright and intent.

8 years agoCopy out ND option structs for correct alignment.
Roy Marples [Wed, 5 Oct 2016 16:30:19 +0000 (16:30 +0000)] 
Copy out ND option structs for correct alignment.

8 years agoAssert size for more structs.
Roy Marples [Wed, 5 Oct 2016 15:00:35 +0000 (15:00 +0000)] 
Assert size for more structs.

8 years agoRemove packed from these structs.
Roy Marples [Wed, 5 Oct 2016 14:06:20 +0000 (14:06 +0000)] 
Remove packed from these structs.

8 years agoFix compile on Linux with clang.
Roy Marples [Wed, 5 Oct 2016 12:19:59 +0000 (12:19 +0000)] 
Fix compile on Linux with clang.

8 years agoFix some gcc warnings.
Roy Marples [Wed, 5 Oct 2016 11:44:57 +0000 (11:44 +0000)] 
Fix some gcc warnings.

8 years agoTry and avoid using __packed.
Roy Marples [Wed, 5 Oct 2016 11:28:48 +0000 (11:28 +0000)] 
Try and avoid using __packed.
Instead use __CTASSERT to ensure the structure is the correct size for on-wire.
This allows for more efficient binaries to be produced.

8 years agoAuth should work on void rather than a type.
Roy Marples [Wed, 5 Oct 2016 11:03:32 +0000 (11:03 +0000)] 
Auth should work on void rather than a type.

8 years agoStart work on dhcpcd-7
Roy Marples [Wed, 5 Oct 2016 11:01:00 +0000 (11:01 +0000)] 
Start work on dhcpcd-7

8 years agoCreate new branch named "dhcpcd-6"
Roy Marples [Wed, 5 Oct 2016 10:59:32 +0000 (10:59 +0000)] 
Create new branch named "dhcpcd-6"

8 years agoRemove hack to add IPv6 LL address as early as possible.
Roy Marples [Tue, 4 Oct 2016 09:40:56 +0000 (09:40 +0000)] 
Remove hack to add IPv6 LL address as early as possible.
This only worked on pre NetBSD-7.0 systems which did not support ND6_IFF_AUTO_LINKLOCAL.

By removing it, we make the code smaller and removes the possibility of in-advertently
re-ordering interfaces in dhcpcd during the init phases.

Should finally fix [c9d04817fa].

8 years agoGuard against the possibility of no config..... may fix [c9d04817fa].
Roy Marples [Mon, 3 Oct 2016 20:07:52 +0000 (20:07 +0000)] 
Guard against the possibility of no config..... may fix [c9d04817fa].

8 years agoValidate lease before setting state to REQUEST when REPLY is recieved in
Roy Marples [Mon, 3 Oct 2016 19:41:11 +0000 (19:41 +0000)] 
Validate lease before setting state to REQUEST when REPLY is recieved in
DISCOVER.

8 years agoRevert prior and test for DH6S_REBIND rather than not DH6S_DISCOVER.
Roy Marples [Mon, 3 Oct 2016 17:55:43 +0000 (17:55 +0000)] 
Revert prior and test for DH6S_REBIND rather than not DH6S_DISCOVER.

8 years agoDon't re-enter the discover phase on receipt of an invalid offer if we are already...
Roy Marples [Mon, 3 Oct 2016 16:42:55 +0000 (16:42 +0000)] 
Don't re-enter the discover phase on receipt of an invalid offer if we are already in the discover phase.

8 years agoIf renew or rebind is not set, always use a default from the lowest pltime
Roy Marples [Sun, 2 Oct 2016 15:07:21 +0000 (15:07 +0000)] 
If renew or rebind is not set, always use a default from the lowest pltime
even if the lease does not expire, as some IA/PD might expire.
Thanks to Guy Yur.

8 years agoThe ability to add LL addresses is not dependant on using SLAAC privacy,
Roy Marples [Sun, 2 Oct 2016 10:54:52 +0000 (10:54 +0000)] 
The ability to add LL addresses is not dependant on using SLAAC privacy,
just the carrier being up.

Fixes [c9d04817fa].

8 years agoReport compiled in features in --version.
Roy Marples [Tue, 27 Sep 2016 10:34:29 +0000 (10:34 +0000)] 
Report compiled in features in --version.

8 years agoOnly enable IPv4LL when INET is enabled.
Roy Marples [Tue, 27 Sep 2016 10:21:31 +0000 (10:21 +0000)] 
Only enable IPv4LL when INET is enabled.
Only enable DHCPv6 when INET6 is enabled.

8 years agoAllow DHCPv6 support to be compiled out.
Roy Marples [Tue, 27 Sep 2016 10:17:39 +0000 (10:17 +0000)] 
Allow DHCPv6 support to be compiled out.

8 years agoMove the #ifdef higher to exclude static consts.
Roy Marples [Tue, 27 Sep 2016 09:00:26 +0000 (09:00 +0000)] 
Move the #ifdef higher to exclude static consts.

8 years agoTidy comments
Roy Marples [Tue, 27 Sep 2016 08:57:43 +0000 (08:57 +0000)] 
Tidy comments

8 years agoAllow IPv4LL to be compiled out.
Roy Marples [Tue, 20 Sep 2016 09:29:39 +0000 (09:29 +0000)] 
Allow IPv4LL to be compiled out.

8 years agoNeed to include crypt for MD5 on Linux.
Roy Marples [Mon, 19 Sep 2016 19:03:25 +0000 (19:03 +0000)] 
Need to include crypt for MD5 on Linux.

8 years agoRemove extra comment
Roy Marples [Mon, 19 Sep 2016 19:00:26 +0000 (19:00 +0000)] 
Remove extra comment

8 years agoAdd CAN_DROP_LLADDR so we can easily handle our current inability to remove the IPv6...
Roy Marples [Mon, 19 Sep 2016 17:51:04 +0000 (17:51 +0000)] 
Add CAN_DROP_LLADDR so we can easily handle our current inability to remove the IPv6 LL address on Solaris

8 years agoFix setting IPv6 addresses to zero.
Roy Marples [Mon, 19 Sep 2016 16:16:47 +0000 (16:16 +0000)] 
Fix setting IPv6 addresses to zero.

8 years agoFix a segfault.
Roy Marples [Mon, 19 Sep 2016 15:41:14 +0000 (15:41 +0000)] 
Fix a segfault.

8 years agoMake import now imports the files needed to generate dhcpcd-embedded.{c,h}
Roy Marples [Mon, 19 Sep 2016 13:00:45 +0000 (13:00 +0000)] 
Make import now imports the files needed to generate dhcpcd-embedded.{c,h}
and bundles a small definition.

8 years agoFix building of embedded config with correct specified source.
Roy Marples [Mon, 19 Sep 2016 12:25:39 +0000 (12:25 +0000)] 
Fix building of embedded config with correct specified source.
Update copyrights.

8 years agoAllow dhcpcd to be built without Authentiction support for system media with
Roy Marples [Mon, 19 Sep 2016 09:08:11 +0000 (09:08 +0000)] 
Allow dhcpcd to be built without Authentiction support for system media with
extreme size constraints.

8 years agoFix compile on Linux
Roy Marples [Fri, 16 Sep 2016 19:41:05 +0000 (19:41 +0000)] 
Fix compile on Linux

8 years agoifa_msghdr does not have the alias it's for, which is bad.
Roy Marples [Fri, 16 Sep 2016 19:38:30 +0000 (19:38 +0000)] 
ifa_msghdr does not have the alias it's for, which is bad.
This hack works around it, but it's not 100% accurate :/

8 years agoSMALL target removes the custom logger.
Roy Marples [Fri, 16 Sep 2016 16:21:17 +0000 (16:21 +0000)] 
SMALL target removes the custom logger.

8 years agoFix compile on OpenBSD.
Roy Marples [Fri, 16 Sep 2016 16:03:00 +0000 (16:03 +0000)] 
Fix compile on OpenBSD.

8 years agoOne BSD in the future will include address flags in ifa_msghdr.
Roy Marples [Fri, 16 Sep 2016 15:49:01 +0000 (15:49 +0000)] 
One BSD in the future will include address flags in ifa_msghdr.
A libc in the future will include address flags in ifaddrs.
Although this does make the code a bit more #ifdef messy, the end result
is a smaller binary, and less ioctls to make.

8 years agoWhen validating a lease with an OK but no IA's and in the CONFIRM phase
Roy Marples [Fri, 16 Sep 2016 15:28:46 +0000 (15:28 +0000)] 
When validating a lease with an OK but no IA's and in the CONFIRM phase
then look for IA's in the old lease.
This allows us to get correct expiry and rebind times from old lease but
based from the acquision time of the CONFIRM message.

8 years agoIgnore RTM versions we don't know.
Roy Marples [Thu, 15 Sep 2016 10:36:58 +0000 (10:36 +0000)] 
Ignore RTM versions we don't know.

8 years agoSolaris allows a route per gateway as well.
Roy Marples [Mon, 12 Sep 2016 16:03:19 +0000 (16:03 +0000)] 
Solaris allows a route per gateway as well.

8 years agodhcpcd considers the link down without IFF_UP.
Roy Marples [Mon, 12 Sep 2016 16:02:40 +0000 (16:02 +0000)] 
dhcpcd considers the link down without IFF_UP.

8 years agoOpenBSD allows many routes to the same dest with different gateways.
Roy Marples [Mon, 12 Sep 2016 10:58:32 +0000 (10:58 +0000)] 
OpenBSD allows many routes to the same dest with different gateways.
dhcpcd does not support this yet, so just delete the route until there is an error.
Fixes [ad8b5130d4].

8 years agoAdd the --small configure option which currently removes non essential options
Roy Marples [Fri, 9 Sep 2016 09:56:26 +0000 (09:56 +0000)] 
Add the --small configure option which currently removes non essential options
from being parsed out into dhcpcd-run-hooks and removes support for
DHCPv6 Prefix Delegation.
This is mainly to build a tiny dhcpcd for install media size there are more
extreme space limitations.

8 years agoAlways roundup the required buffer.
Roy Marples [Tue, 6 Sep 2016 16:39:03 +0000 (16:39 +0000)] 
Always roundup the required buffer.

8 years agoMore assert
Roy Marples [Tue, 6 Sep 2016 16:14:31 +0000 (16:14 +0000)] 
More assert

8 years agoDon't dispatch 0 bytes.
Roy Marples [Tue, 6 Sep 2016 14:58:33 +0000 (14:58 +0000)] 
Don't dispatch 0 bytes.

8 years agoWhen receiving multipart messages, receive them again until we get NLMSG_DONE.
Roy Marples [Tue, 6 Sep 2016 13:46:12 +0000 (13:46 +0000)] 
When receiving multipart messages, receive them again until we get NLMSG_DONE.

8 years agoDragonFly needs to ingore RTM_DELADDR as well.
Roy Marples [Tue, 6 Sep 2016 12:05:55 +0000 (12:05 +0000)] 
DragonFly needs to ingore RTM_DELADDR as well.

8 years agoRemove the POLLADDR check out of if-bsd.c and into ipv6.c for other OS's
Roy Marples [Tue, 6 Sep 2016 10:43:49 +0000 (10:43 +0000)] 
Remove the POLLADDR check out of if-bsd.c and into ipv6.c for other OS's

8 years agoRename var to avoid a global on OpenBSD.
Roy Marples [Tue, 6 Sep 2016 10:03:08 +0000 (10:03 +0000)] 
Rename var to avoid a global on OpenBSD.

8 years agoMore iovec array fixes.
Roy Marples [Mon, 5 Sep 2016 22:48:08 +0000 (22:48 +0000)] 
More iovec array fixes.

8 years agoFix more iovec to arrays.
Roy Marples [Mon, 5 Sep 2016 22:35:29 +0000 (22:35 +0000)] 
Fix more iovec to arrays.

8 years agorecvmsg expects an array of iovec structures, not a pointer to the first one.
Roy Marples [Mon, 5 Sep 2016 22:27:47 +0000 (22:27 +0000)] 
recvmsg expects an array of iovec structures, not a pointer to the first one.

8 years agoRe-check address flags when carrier goes down if we poll for address flags.
Roy Marples [Mon, 5 Sep 2016 21:20:14 +0000 (21:20 +0000)] 
Re-check address flags when carrier goes down if we poll for address flags.

8 years agoIf we need to poll for address flags, do this for tentative link-local addresses...
Roy Marples [Mon, 5 Sep 2016 21:19:29 +0000 (21:19 +0000)] 
If we need to poll for address flags, do this for tentative link-local addresses too.

8 years agoDodge more errors when deleting not available anymore.
Roy Marples [Mon, 5 Sep 2016 20:11:44 +0000 (20:11 +0000)] 
Dodge more errors when deleting not available anymore.

8 years agoDon't violate memory when we learn new IPv4LL addresses.
Roy Marples [Mon, 5 Sep 2016 20:08:46 +0000 (20:08 +0000)] 
Don't violate memory when we learn new IPv4LL addresses.

8 years agoWe need a seperate iovec buffer for receiving netlink messages because
Roy Marples [Mon, 5 Sep 2016 20:08:15 +0000 (20:08 +0000)] 
We need a seperate iovec buffer for receiving netlink messages because
we need to send and receive before the first receive has finished.

8 years agoOnly callback when there is a callback.
Roy Marples [Mon, 5 Sep 2016 19:43:14 +0000 (19:43 +0000)] 
Only callback when there is a callback.

8 years agoHandle NLMSG_NOOP and NLMSG_DONE.
Roy Marples [Mon, 5 Sep 2016 19:39:42 +0000 (19:39 +0000)] 
Handle NLMSG_NOOP and NLMSG_DONE.
Move err_netlink to here as well to clarify.

8 years agoEnsure that the IPv6 link-local address always uses the secret key at startup.
Roy Marples [Mon, 5 Sep 2016 15:57:30 +0000 (15:57 +0000)] 
Ensure that the IPv6 link-local address always uses the secret key at startup.

8 years agoRemove IPv4 routes in reverse order to match IPv6.
Roy Marples [Sat, 3 Sep 2016 12:23:03 +0000 (12:23 +0000)] 
Remove IPv4 routes in reverse order to match IPv6.
Thanks to Guy Yur.

8 years agoTest slen is not -1 before setting error on MSG_TRUNC.
Roy Marples [Fri, 2 Sep 2016 14:29:54 +0000 (14:29 +0000)] 
Test slen is not -1 before setting error on MSG_TRUNC.

8 years agoDon't call snprintf needlessly.
Roy Marples [Fri, 2 Sep 2016 14:02:45 +0000 (14:02 +0000)] 
Don't call snprintf needlessly.

8 years agoCheck valid netmask changes.
Roy Marples [Fri, 2 Sep 2016 13:57:42 +0000 (13:57 +0000)] 
Check valid netmask changes.

8 years agoDon't add host routes for the IPv4LL default route.
Roy Marples [Fri, 2 Sep 2016 13:37:07 +0000 (13:37 +0000)] 
Don't add host routes for the IPv4LL default route.

8 years agoWhen deleting routes, delete the stored kernel route as well.
Roy Marples [Fri, 2 Sep 2016 13:10:39 +0000 (13:10 +0000)] 
When deleting routes, delete the stored kernel route as well.
This enables IPv4LL default routes to be re-added if a DHCP lease expires.

8 years agoOnly log errors about getting address flags if the error is not address
Roy Marples [Fri, 2 Sep 2016 12:36:33 +0000 (12:36 +0000)] 
Only log errors about getting address flags if the error is not address
unavailable.

8 years agoRemove the need for statically sized receive buffers for IPv6 ND and DHCPv6
Roy Marples [Fri, 2 Sep 2016 11:34:09 +0000 (11:34 +0000)] 
Remove the need for statically sized receive buffers for IPv6 ND and DHCPv6
messages.

8 years agoProvide better commentary.
Roy Marples [Fri, 2 Sep 2016 10:42:09 +0000 (10:42 +0000)] 
Provide better commentary.

8 years agoOptimise recvmsg_realloc.
Roy Marples [Fri, 2 Sep 2016 10:20:30 +0000 (10:20 +0000)] 
Optimise recvmsg_realloc.

8 years agobytes -> len
Roy Marples [Fri, 2 Sep 2016 09:01:21 +0000 (09:01 +0000)] 
bytes -> len

8 years agoIf more than one iovec then realloc the last one.
Roy Marples [Fri, 2 Sep 2016 08:16:31 +0000 (08:16 +0000)] 
If more than one iovec then realloc the last one.

8 years agoRework the recvmsg_realloc function to handle flags.
Roy Marples [Fri, 2 Sep 2016 08:09:47 +0000 (08:09 +0000)] 
Rework the recvmsg_realloc function to handle flags.

Commit also includes mistakenly added ifam_pid patch for BSD.
It does no harm being here, even though no BSD supports this yet.

8 years agoUse recvmsg_alloc on Solaris too.
Roy Marples [Thu, 1 Sep 2016 17:12:37 +0000 (17:12 +0000)] 
Use recvmsg_alloc on Solaris too.

8 years agoLinux now uses recvmsg_alloc as well, reducing duplicated code.
Roy Marples [Thu, 1 Sep 2016 17:01:26 +0000 (17:01 +0000)] 
Linux now uses recvmsg_alloc as well, reducing duplicated code.

8 years agoRemove debug added accidently in last commit.
Roy Marples [Thu, 1 Sep 2016 14:50:28 +0000 (14:50 +0000)] 
Remove debug added accidently in last commit.

8 years agoUse a dynamically sized buffer for reading route(4) messages on BSD
Roy Marples [Thu, 1 Sep 2016 14:37:48 +0000 (14:37 +0000)] 
Use a dynamically sized buffer for reading route(4) messages on BSD
instead of a fixed 2048 byte buffer.

8 years agoFreeBSD emits RTM_DELADDR for INET addresses that still exit,
Roy Marples [Thu, 1 Sep 2016 13:17:07 +0000 (13:17 +0000)] 
FreeBSD emits RTM_DELADDR for INET addresses that still exit,
for example when dowing the interface.
This is totally bogus, so we ignore it.

While here, only set LINK_UP for RTM_IFINFO messges when IFF_UP is also set.

This should fix dhcpcd working on FreeBSD when downing interfaces and
link is lost.

8 years agoClear LL callbacks when dropping or freeing addresses.
Roy Marples [Thu, 1 Sep 2016 11:48:21 +0000 (11:48 +0000)] 
Clear LL callbacks when dropping or freeing addresses.

8 years agoFix a dropping leases when the ip address is removed by a 3rd party.
Roy Marples [Thu, 1 Sep 2016 11:46:51 +0000 (11:46 +0000)] 
Fix a dropping leases when the ip address is removed by a 3rd party.

8 years agoFix processing of hex and octal strings.
Roy Marples [Wed, 24 Aug 2016 19:32:41 +0000 (19:32 +0000)] 
Fix processing of hex and octal strings.

8 years agoOpenBSD does not refresh address lifetimes on subsequent calls.
Roy Marples [Mon, 22 Aug 2016 19:52:11 +0000 (19:52 +0000)] 
OpenBSD does not refresh address lifetimes on subsequent calls.
Luckily dhcpcd will expire the address regardless, so just se
infinite lifetimes, except for privacy addresses.
Fixes [277e6848da].

8 years agoStop setting RA override becuse it only makes sense when we want the kernel
Roy Marples [Thu, 18 Aug 2016 14:38:49 +0000 (14:38 +0000)] 
Stop setting RA override becuse it only makes sense when we want the kernel
to listen to RA's which we don't want.

8 years agoCheck if we loaded options or not.
Roy Marples [Thu, 18 Aug 2016 14:37:53 +0000 (14:37 +0000)] 
Check if we loaded options or not.

8 years agoOnly stop_interface() if it's active instead of checking if options exist.
Roy Marples [Thu, 18 Aug 2016 11:28:16 +0000 (11:28 +0000)] 
Only stop_interface() if it's active instead of checking if options exist.
Thanks to Koichi Okamoto.

8 years agoNote that the IPv6 address lifetime issue is now fixed in NetBSD.
Roy Marples [Tue, 16 Aug 2016 16:27:02 +0000 (16:27 +0000)] 
Note that the IPv6 address lifetime issue is now fixed in NetBSD.

8 years agoFix formatting.
Roy Marples [Mon, 15 Aug 2016 10:53:49 +0000 (10:53 +0000)] 
Fix formatting.

8 years agoRelease dhcpcd-6.11.3 v6.11.3
Roy Marples [Mon, 15 Aug 2016 10:34:22 +0000 (10:34 +0000)] 
Release dhcpcd-6.11.3

8 years agoEnsure we have an active interface (which we always will).
Roy Marples [Sun, 14 Aug 2016 09:06:41 +0000 (09:06 +0000)] 
Ensure we have an active interface (which we always will).

8 years agoBind to the local-link address rather than directly to the interface to allow
Roy Marples [Sun, 14 Aug 2016 08:51:19 +0000 (08:51 +0000)] 
Bind to the local-link address rather than directly to the interface to allow
many DHCPv6 clients on many interfaces.
This works on all platforms.

8 years agoIf not running in master mode, allow dhcpcd to bind directly to the interface
Roy Marples [Sun, 14 Aug 2016 08:30:13 +0000 (08:30 +0000)] 
If not running in master mode, allow dhcpcd to bind directly to the interface
for DHCPv6. This allows more than once dhcpcd instance to work with DHCPv6.

8 years agoWe no longer need this as we don't alias anymore.
Roy Marples [Sun, 14 Aug 2016 08:25:32 +0000 (08:25 +0000)] 
We no longer need this as we don't alias anymore.

8 years agoEnsure offer_len is 0 after making offer NULL.
Roy Marples [Sat, 13 Aug 2016 15:11:10 +0000 (15:11 +0000)] 
Ensure offer_len is 0 after making offer NULL.
Set offer_len before each memcpy to aid debugging.

8 years agoOnly mask off the signals we are interested in catching.
Roy Marples [Fri, 12 Aug 2016 16:34:01 +0000 (16:34 +0000)] 
Only mask off the signals we are interested in catching.