Commit Graph

188 Commits

Author SHA1 Message Date
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
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
c2d0c13e72 Support buggy FreeBSD rc system out of the box. 2016-03-12 10:52:41 +00:00
Roy Marples
06f90b7c48 Fix snapshot building 2016-02-15 14:23:51 +00:00
Roy Marples
20ea56dd54 Install example hooks 2015-12-22 23:46:17 +00:00
Roy Marples
9ac8f9f811 Grudgingly accede to the vocal minority that dhcpcd should not attempt to
start wpa_supplicant by default on a wireless interface, even if a wpa_ctrl interface is configured for it and wpa_supplicant is not yet started.
2015-12-22 22:50:34 +00:00
Roy Marples
1a44c4668c Revert this part of prior patch. 2015-09-08 12:22:38 +00:00
Roy Marples
8da0096ab3 ifp may not be set, but ctx will be. 2015-09-08 10:32:45 +00:00
Roy Marples
4c4d0308bd Use xz instead of bzip2 to create the distribution. 2015-05-18 11:21:50 +00:00
Roy Marples
2be15e8895 Handle ND options in the same way we handle DHCP and DHCPv6 options. 2015-05-14 19:46:21 +00:00
Roy Marples
0828e822dd Allow snapshots to be built. 2015-02-23 12:16:17 +00:00
Roy Marples
68c8a3cf6f Remove RCSIDs from dhcpcd, they belong in the upstream project only. 2014-11-07 20:56:47 +00:00
Roy Marples
782564885d Redirect fd 3 to config.log.
Redirect all CC errors to fd 3.
2014-09-21 11:39:02 +00:00
Roy Marples
d247cb50e8 Fix dependency and test targets 2014-07-31 00:57:47 +00:00
Roy Marples
a7d5172e59 Fix import so that matching system vs local headers are not imported. 2014-07-30 10:58:20 +00:00
Roy Marples
5c9c7e301b Fix the import to work on Linux as well. 2014-07-30 09:46:33 +00:00
Roy Marples
06a8d816e8 Fix import 2014-07-14 13:58:24 +00:00
Roy Marples
3ed12ab824 Implement Stable Private Addresses for SLAAC as per RFC7217.
Add a SHA256 implementation by Collin Percival if one in libc/libmd not found.
2014-06-02 14:48:33 +00:00
Roy Marples
26c177737e Source now compiles on Solaris, just missing the if-sun.c support so
linking fails.
2014-05-21 23:07:52 +00:00
Roy Marples
7ec6b74bea Sorting interfaces is an IPv4 specific task, so move it into ipv4.c 2014-04-28 12:47:33 +00:00
Roy Marples
1a7ff10050 Move net.c to if.c.
Ensure that if.c and if-KERNEL.c are namespaced correctly.
2014-04-25 10:42:37 +00:00
Roy Marples
c9beb7cc29 gmake-4 supports != shell assignment operator, like BSD make.
This breaks our hack to support both, so workaround by using GNUmakefile at
the toplevel.
Note that building a source release now requires BSD make or gmake-4
2014-04-23 16:00:50 +00:00
Roy Marples
f3d23eb267 Add config-null.mk and a nasty hack to include config.mk instead if it exists.
This allows make clean to work without configure being run.
2014-04-23 14:09:03 +00:00
Roy Marples
90ada440ec Fix make import with compat sources.
Use -lmd for MD5 if available.
2014-02-03 13:09:13 +00:00
Roy Marples
b1aadc616e Tweak stuff for importing 2014-01-31 15:55:16 +00:00
Roy Marples
c73ed17160 Implement RFC 1321 MD5 Message-Digest if not provided in libc.
Implement RFC 2104 HMAC Keyed Hashing.

Implement RFC 3118 Authentication for DHCP Messages
and RFC 3315 Authentication options.
2014-01-25 01:35:53 +00:00
Roy Marples
b3c55f23df Change configure to detect fossil for debugging.
Make dist now exports the current fossil checkin.
Remove old .git files.
2014-01-03 17:16:12 +00:00
Roy Marples
ae4e592fa2 Remove hard coded DHCP/DHCPv6 options and then to dhcpcd-definitions.conf
This file replaces dhcpcd-embedded.conf
This actually results in a slightly smaller binary than before and has the
added advantage that the option definitions are now all held within one file.
2013-12-02 16:42:09 +00:00
Roy Marples
1cd05a96d5 Read the embedded config into global values rather than each time
per interface.

Add config toggles to build dhcpcd-embedded.conf into dhcpcd or
to read it at runtime. The build process will now build .c and .h
files based on dhcpcd-embedded.conf and provide defines to reduce
the number or re-allocs if it grows (ie has the full DHCP option list).
2013-11-29 11:15:03 +00:00
Roy Marples
8e7d8c37a4 Add support for user defined options with embedded and encapsulated options.
Install dhcpcd-embedded.conf to LIBEXECDIR which is read before dhcpcd.conf.

The idea is that this dhcpcd-embedded.conf is maintained only by me to support
RFC DHCP/DHCPv6 options that require known embedded or ncapsulated options
which are not easily added to our option structures in dhcp.c and dhcp6.c.
Eventually we may move the whole structure here so that a smaller binary
is produced and the definitions are easier to maintain.
2013-11-27 20:21:17 +00:00
Roy Marples
a5b1adf308 Pass the correct run directory to dhcpcd-run-hooks 2013-09-21 14:31:06 +00:00
Roy Marples
52dc01927b Fix building with a dev manager 2013-09-12 17:08:34 +00:00
Roy Marples
413652c1b3 Instead of linking directly to libudev, create a plugin system for /dev
management. This allows dhcpcd to work even if udev removed and adds the
ability to change from udev to something else in the future.
2013-09-12 15:43:20 +00:00
Roy Marples
64fd75d9a9 Incase CFLAGS is set, we should still set std 2013-06-25 09:04:10 +00:00
Roy Marples
400f3515aa Add RCSID and CVS headers when importing to NetBSD. 2013-06-20 10:35:16 +00:00
Roy Marples
336dd1b83b Move signal handling into dhcpcd.c
Log the PID of the signal caller
Move syslog functions out of the signal handler if we're not
exiting as it's not safe.
Close existing IPv4 sockets when restarting an interface.
Fix control handling keeping current flags and accepting new ones.
2013-06-07 12:44:19 +00:00
Roy Marples
aae24feb3d It's now possible to compile out IPv4 and IPv6 support by passing
--disable-ipv4 or --disable-ipv6 to configure.
2013-02-04 13:30:35 +00:00
Roy Marples
294eff4df4 Remove IPv4 and DHCP4 specific setup from dhcpcd.c and move into ipv4.c
and dhcp.c
Split configure.c into script.c and move the rest into dhcp.c

This starts the goal of making the base of dhcpcd protocol agnostic and
working towards building IPv4 and/or IPv6 code only to reduce size and
allow growing any future new protocol easier.
2013-02-02 14:05:55 +00:00
Roy Marples
d7555c1259 Add DHCPv6 INFORM support.
This is automatically started when RA flags O is set.
If no DHCPv6 request options are configured in dhcpcd.conf then we
request domain servers and search lists.
2012-10-12 10:31:51 +00:00
Roy Marples
eebe9a1887 Improve IPv6 RA support by allowing dhcpcd to manage the address and routes
instead of the kernel. dhcpcd will only do this if RA is disabled in the kernel
or dhcpcd has been instructed to do this via dhcpcd.conf(5) ipv6ra_own and
ipv6ra_own_default directives.

Send and process IPv6 Neighbor Solicitions and Adverts to prove router
reachability. If a router cannot be reached in this way then it is expired.

When debugging, all ND messages are displayed which will create a lot of log
spam.

To ease packaging, ./configure now accepts LDFLAGS and --enable-static.
2012-07-05 16:37:41 +00:00
Roy Marples
91cd732493 Add an implementation of an IPv6 Router Solicitor as specified in
RFC6016 with regards to RDNSS and DNSSL.
2011-12-15 02:35:47 +00:00
Roy Marples
aab7068082 Move service detection and interaction logic from the hooks to the
configure script. This makes the hooks a lot less messy.
2010-09-09 14:40:27 +00:00
Roy Marples
3e396c7b5f Add distclean target 2010-06-09 21:16:04 +00:00
Roy Marples
bef058c09f Build correctly for Debian packages 2010-06-09 15:32:03 +00:00
Roy Marples
a69c2c712a Fix import target. 2010-02-27 15:33:18 +00:00
Roy Marples
b4e9932ebd Fix the import target a little. 2009-11-20 12:40:59 +00:00
Roy Marples
26fbb9ed3d Improve import so it's more generic. 2009-10-08 20:21:23 +00:00
Roy Marples
e267c1b430 Support more autotools options 2009-07-26 19:29:37 +00:00
Roy Marples
11a66d6dbd Fix import. 2009-07-16 11:03:09 +00:00
Roy Marples
5bbd4fa243 Add import target for easy import into NetBSD 2009-07-15 09:36:43 +00:00