Commit Graph

261 Commits

Author SHA1 Message Date
Roy Marples
f61961f5cb queue: Support TAILQ_FOREACH_MUTABLE
Basically another name for TAILQ_FOREACH_SAFE.
2019-08-28 13:52:38 +01:00
Roy Marples
ecbfe26bf8 DragonFlyBSD: hooks live in /usr/libexec
Which is inconsitent with dhcpcd living in /sbin!
Still, that's what it is. While here, if the build system
defines directories, don't re-define them.
2019-08-28 13:50:06 +01:00
Roy Marples
8d8adc107a configure: Fix test for open_memstream
glibc-2.19 needs the return value testing....
2019-07-28 12:53:03 +01:00
Roy Marples
eadb341911 Merge branch 'memstream' 2019-07-04 12:22:46 +01:00
Oleksandr Kravchuk
e08a91245d Fix typo in configure 2019-06-25 22:28:35 +02:00
Roy Marples
c8521994da script: Write variables to a FILE
Each variable is NULL terminated inside the file just like the
control stream which saves us from having to flatten it when
writing to the control stream.
Once written, create env pointers to the start of each string
just after the NULL terminator.

This also means that we just need to free two buffers when
dhcpcd exits (FILE buffer and env buffer) rather than each variable
individually.

If open_memstream(3) is not supported by libc then dhcpcd will
write to a file in /tmp instead.
2019-06-18 11:33:53 +01:00
Roy Marples
1257e19195 Merge branch 'master' into rbtree 2019-05-04 11:05:17 +01:00
Roy Marples
ac90079292 compat: Provide consttime_memequal if not in libc
Public domain version by Matthias Drochner <drochner@netbsd.org>
2019-04-19 21:42:07 +01:00
Roy Marples
696dcaa488 Merge branch 'master' into rbtree 2019-04-16 20:02:36 +01:00
Roy Marples
8fd4972237 sun: Fix carrier detection, MTU detection and plumbing
dhcpcd no longer needs ifconfig to do the initial plumbing.
2019-04-14 12:54:16 +03:00
Roy Marples
c58052d5f4 Re-arrange so to reduce diff to upsteam. 2019-03-04 16:07:05 +00:00
Roy Marples
49786ffc6b Fix whitespace 2019-03-03 23:44:51 +00:00
Roy Marples
89491b3d30 Fix configure reporting of rb_tree_init 2019-03-03 23:39:20 +00:00
Roy Marples
f29e69ecc8 Add rbtree(3) from NetBSD if not present in libc. 2019-03-03 22:59:13 +00:00
Roy Marples
18b036c11b configure: --with-udev explicity requires libudev to be present 2019-01-11 12:39:33 +00:00
Roy Marples
9dd073782d configurfe: Remove extra --includedir. It's not hit anyway. 2019-01-11 12:30:46 +00:00
Roy Marples
ec70a25eb7 Make config.h more pretty 2018-07-24 08:44:17 +01:00
Roy Marples
411b7d11d5 udev: Use our logerr framework instead of syslog(3) 2018-03-27 07:52:25 +00:00
Roy Marples
64eff6e2e8 vanity: space out config.h a bit better 2018-03-27 07:23:31 +01:00
Roy Marples
bc8201c93b Add support for setproctitle(3). 2018-02-13 10:22:31 +00:00
Roy Marples
b1dc929f3e configure: make --includedir=/usr/src/foo work 2018-01-07 13:24:21 +00:00
Roy Marples
214dd54f26 Fix prior on stricter shells. 2017-10-05 14:33:48 +01:00
Roy Marples
a571693624 Detect hmac(3) in libc or the library containing MD5.
If not found, a compat function is provided, taken from NetBSD.
2017-10-05 14:13:02 +01:00
Roy Marples
62d4bc9fb2 Add compat/strlcpy.c from OpenBSD libc to use instead of
defining strlcpy to snprintf.
This makes dhcpcd smaller on platforms lacking strlcpy(3).
2017-10-04 16:07:49 +01:00
Roy Marples
42fcdf6c42 When using gcc, add the -Wlogical-op flag when debugging. 2017-05-04 08:54:52 +01:00
Roy Marples
dd4214e686 Style. 2017-04-21 23:33:46 +01:00
Roy Marples
f92f797cc1 With the logger removed, we no longer need to test for printf %m support. 2017-04-02 09:53:17 +01:00
Roy Marples
635e46756d Use new strtoi changes. 2017-03-22 15:27:45 +00:00
Roy Marples
86c3d76088 Report correct config test for arc4random_uniform 2017-03-22 11:27:59 +00:00
Roy Marples
9277b70b0b Remove configure opts for prior. 2017-03-21 20:58:35 +00:00
Roy Marples
a62d8cd3c4 Remove posix_spawn(3) compat code.
All supported OS's have this in libc now.
2017-03-21 20:56:59 +00:00
Roy Marples
754d53d500 Remove the strlcpy compat code and just #define it to snprintf(3).
This is the same and reduces code size.
2017-03-21 20:16:47 +00:00
Roy Marples
f7c5502685 Configure correct hook dir. 2017-03-20 00:44:57 +00:00
Roy Marples
39c601ba43 Move md5 and sha256 out to compat.
Stop using .. to find config.h.
2017-03-19 20:21:18 +00:00
Roy Marples
334e3e7016 bpf: ARP and BOOTP filter improvements
The ARP filter now checks hardware and protocol length matches
the interface, it's not from the interface itself and either the
source ip or target ip is one of our addresses of interest.

The BOOTP filter now checks for BOOTREPLY and matching xid.
If the interface hardware address fits inside chaddr then
that is checked as well.
2017-03-05 21:05:24 +00:00
Roy Marples
bec31dc81d Detect .git directory and add debugging flags. 2017-02-23 01:03:08 +00:00
Roy Marples
9ea0405b0b Improve nl80211 support as we now know how to work out the SSID we're
connected to.
2016-11-17 12:10:18 +00:00
Roy Marples
c7c282d9f7 Do somewith with getline result in configure to make it pass. 2016-11-08 23:03:28 +00:00
Roy Marples
4e40c20810 Default DBDIR from /var/db to /var/db/dhcpcd.
Move dhcpcd.duid and dhcpcd.secret from /etc into /var/db/dhcpcd.
Move leases and RDM monotonc from /var/db into /var/db/dhcpcd.
All moves files have the dhcpcd{.-} prefix dropped.
2016-11-08 12:17:20 +00:00
Roy Marples
f5bbda3ca9 make distinfo now produces a .distinfo file which contains checksum(s) of
the dist file. This distinfo file is then signed with a PGP key.
2016-11-04 15:37:43 +00:00
Roy Marples
c66f265746 Support kernels which implement RFC5227.
This means we don't have to open an ARP socket unless we need to ARPing.
Allow ARP an ARPing to be optional features.
2016-10-14 08:55:04 +00:00
Roy Marples
e43c5c2b8a Fix build system to make import correctly for authentication. 2016-10-07 09:42:38 +00:00
Roy Marples
bd76235377 Only enable IPv4LL when INET is enabled.
Only enable DHCPv6 when INET6 is enabled.
2016-09-27 10:21:31 +00:00
Roy Marples
6a765a4ffd Allow DHCPv6 support to be compiled out. 2016-09-27 10:17:39 +00:00
Roy Marples
8113e962fb Allow IPv4LL to be compiled out. 2016-09-20 09:29:39 +00:00
Roy Marples
e5fc8ac453 Allow dhcpcd to be built without Authentiction support for system media with
extreme size constraints.
2016-09-19 09:08:11 +00:00
Roy Marples
b0601fe416 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.
2016-09-16 15:49:01 +00:00
Roy Marples
98cc5e0b72 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.
2016-09-09 09:56:26 +00:00
Roy Marples
c62f687eb8 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.
2016-09-02 08:09:47 +00:00
Roy Marples
bb1838f3ed Remove Solaris IN6_IFF_* defines from configure and add the to ipv6.h,
similar to Linux.
While here, add IN_IFF_* counter-parts in ipv4.h.
2016-07-26 21:09:35 +00:00