Go to file
Roy Marples 13c646b4d4 Default to using a DUID + IAID for DHCPv4 Client ID.
Disable requesting the MTU by default as some interface drivers still
incorrectly reset themselves when changing the MTU.
2013-03-26 06:39:58 +00:00
compat Complete transition to pollts(2) 2013-02-18 21:35:24 +00:00
dhcpcd-hooks Implement the core DHCPv6 client for SOLICIT, REQUEST, RENEW, CONFIRM. 2012-11-06 23:40:15 +00:00
.gitattributes Don't export git .gitignore file 2009-10-02 20:57:44 +00:00
.gitignore Replace the mk stubs with a autotools like configure script. 2009-07-14 13:59:30 +00:00
arp.c Change arp errno to match what we use in dhcpcd. 2013-02-19 16:59:58 +00:00
arp.h Remove IPv4 and DHCP4 specific setup from dhcpcd.c and move into ipv4.c 2013-02-02 14:05:55 +00:00
bpf-filter.h Add (c) to Copyright 2009-05-01 13:57:45 +00:00
bpf.c Fix compile on FreeBSD 2013-02-17 16:12:54 +00:00
common.c Remove the xmalloc function. 2013-02-16 13:21:35 +00:00
common.h Change from ppoll(2) to pollts(2). 2013-02-18 21:25:07 +00:00
configure Fix compile on Linux. 2013-02-18 21:45:19 +00:00
control.c Use a proper namespace for eloop 2012-11-13 11:25:51 +00:00
control.h Use a proper namespace for control 2012-11-13 10:17:19 +00:00
defs.h Release dhcpcd-5.99.3 2012-12-19 10:11:50 +00:00
dhcp6.c Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
dhcp6.h It's now possible to compile out IPv4 and IPv6 support by passing 2013-02-04 13:30:35 +00:00
dhcp-common.c Remove the xmalloc function. 2013-02-16 13:21:35 +00:00
dhcp-common.h Remove IPv4 and DHCP4 specific setup from dhcpcd.c and move into ipv4.c 2013-02-02 14:05:55 +00:00
dhcp.c Ensure routes are initialised correctly, fixes #265. 2013-03-17 13:00:03 +00:00
dhcp.h Use TAILQ macros for IPv4 routes. 2013-02-19 15:23:53 +00:00
dhcpcd-run-hooks.8.in Expire the DHCPv6 lease when carrier drops. 2012-11-11 19:56:01 +00:00
dhcpcd-run-hooks.in Implement the core DHCPv6 client for SOLICIT, REQUEST, RENEW, CONFIRM. 2012-11-06 23:40:15 +00:00
dhcpcd.8.in Implement the core DHCPv6 client for SOLICIT, REQUEST, RENEW, CONFIRM. 2012-11-06 23:40:15 +00:00
dhcpcd.c Move IPv6 RA checking and disabling kernel RA higher up the chain. 2013-02-19 16:05:12 +00:00
dhcpcd.conf Default to using a DUID + IAID for DHCPv4 Client ID. 2013-03-26 06:39:58 +00:00
dhcpcd.conf.5.in If we have one interface enabled for IPv6 RS, we stupidly process 2013-02-05 10:15:59 +00:00
dhcpcd.h Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
duid.c Fix DUID support. 2012-10-09 13:14:56 +00:00
duid.h Add (c) to Copyright 2009-05-01 13:57:45 +00:00
eloop.c Use TAILQ macros in eloop for better readability and less code. 2013-02-19 11:18:04 +00:00
eloop.h Rework our signal setup and event loop around ppoll(2). 2013-02-18 20:56:55 +00:00
GNUmakefile Add comment about GNUMakefile 2009-07-14 21:52:43 +00:00
if-bsd.c Fix compile on BSD 2013-02-19 15:28:21 +00:00
if-linux-wireless.c Change from ppoll(2) to pollts(2). 2013-02-18 21:25:07 +00:00
if-linux.c Use TAILQ macros for IPv4 routes. 2013-02-19 15:23:53 +00:00
if-options.c Use TAILQ macros for IPv4 routes. 2013-02-19 15:23:53 +00:00
if-options.h Use TAILQ macros for IPv4 routes. 2013-02-19 15:23:53 +00:00
if-pref.c Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
if-pref.h Add (c) to Copyright 2009-05-01 13:57:45 +00:00
ipv4.c Ensure routes are initialised correctly, fixes #265. 2013-03-17 13:00:03 +00:00
ipv4.h Use TAILQ macros for IPv4 routes. 2013-02-19 15:23:53 +00:00
ipv4ll.c Remove xzalloc function 2013-02-15 21:45:08 +00:00
ipv4ll.h Use a proper namespace for IPv4LL 2012-11-13 11:44:20 +00:00
ipv6.c Use TAILQ macros for IPv4 routes. 2013-02-19 15:23:53 +00:00
ipv6.h It's now possible to compile out IPv4 and IPv6 support by passing 2013-02-04 13:30:35 +00:00
ipv6ns.c Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
ipv6ns.h It's now possible to compile out IPv4 and IPv6 support by passing 2013-02-04 13:30:35 +00:00
ipv6rs.c Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
ipv6rs.h It's now possible to compile out IPv4 and IPv6 support by passing 2013-02-04 13:30:35 +00:00
lpf.c It's now possible to compile out IPv4 and IPv6 support by passing 2013-02-04 13:30:35 +00:00
Makefile It's now possible to compile out IPv4 and IPv6 support by passing 2013-02-04 13:30:35 +00:00
Makefile.inc Replace the mk stubs with a autotools like configure script. 2009-07-14 13:59:30 +00:00
net.c Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
net.h Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
platform-bsd.c Move IPv6 RA checking and disabling kernel RA higher up the chain. 2013-02-19 16:05:12 +00:00
platform-linux.c Move IPv6 RA checking and disabling kernel RA higher up the chain. 2013-02-19 16:05:12 +00:00
platform.h Respect an accept_ra setting of 2, fixes #240. 2012-03-05 10:04:26 +00:00
README It's now possible to compile out IPv4 and IPv6 support by passing 2013-02-04 13:30:35 +00:00
script.c Use a TAILQ macro for our interface list. 2013-02-19 13:37:42 +00:00
script.h Move if_state into interface->if_data as dhcp_state. 2013-02-03 22:55:45 +00:00
signals.c Rework our signal setup and event loop around ppoll(2). 2013-02-18 20:56:55 +00:00
signals.h Rework our signal setup and event loop around ppoll(2). 2013-02-18 20:56:55 +00:00

dhcpcd - DHCP client daemon
Copyright (c) 2006-2013 Roy Marples <roy@marples.name>


Installation
------------
./configure; make; make install
man dhcpcd for command line options
man dhcpcd.conf for configuration options
man dhcpcd-run-hooks to learn how to hook scripts into dhcpcd events


Notes
-----
If you're cross compiling you may need set the platform if OS is different
from the host.
--target=sparc-sun-netbsd5.0

If you're building for an MMU-less system where fork() does not work, you
should ./configure --disable-fork.
This also puts the --no-background flag on and stops the --background flag
from working.

You can change the default dirs with these knobs.
For example, to satisfy FHS compliance you would do this:-
./configure --libexecdir=/lib/dhcpcd dbdir=/var/lib/dhcpcd

We now default to using -std=c99. For 64-bit linux, this always works, but
for 32-bit linux it requires either gnu99 or a patch to asm/types.h.
Most distros patch linux headers so this should work fine.
linux-2.6.24 finally ships with a working 32-bit header.
If your linux headers are older, or your distro hasn't patched them you can
set CSTD=gnu99 to work around this.

Some BSD systems do not allow the manipulation of automatically added subnet
routes. You can find discussion here:
    http://mail-index.netbsd.org/tech-net/2008/12/03/msg000896.html
BSD systems where this has been fixed are:
    NetBSD-5.0

We try and detect how dhcpcd should interact with system services during the
configure stage. If we cannot auto-detect how do to this, or it is wrong then
you can change this by passing shell commands to --service-exists,
--servicecmd and optionally --servicestatus.

To prepare dhcpcd for import into a platform source tree (like NetBSD)
you can use the make import target to create /tmp/dhcpcd-$version and
populate it with all the source files and hooks needed.
In this instance, you may wish to disable some configured tests when
the binary has to run on older versions which lack support, such as getline.
./configure --without-getline


Hooks
-----
Not all the hooks in dhcpcd-hooks are installed by default.
By default we install 01-test, 10-mtu, 20-resolv.conf,
29-lookup-hostname and 30-hostname.
The default dhcpcd.conf disables the lookup-hostname hook by default.
The configure program attempts to find hooks for systems you have installed.
To add more simply
./configure -with-hook=ntp.conf


Compatibility
-------------
dhcpcd-5.0 is only fully command line compatible with dhcpcd-4.0
For compatibility with older versions, use dhcpcd-4.0

dhcpcd no longer sends a default ClientID for ethernet interfaces.
This is so we can re-use the address the kernel DHCP client found.
To retain the old behaviour of sending a default ClientID based on the
hardware address for interface, simply add the keyword clientid to dhcpcd.conf.


ChangeLog
---------
We no longer supply a ChangeLog.
However, you're more than welcome to read the commit log at
http://roy.marples.name/projects/dhcpcd/log/