Go to file
2009-01-15 14:22:40 +00:00
dhcpcd-hooks New configure reasons NOCARRIER and NAK instead of just sending EXPIRE. 2009-01-15 09:30:11 +00:00
mk Remove .svn dirs from snapshots. 2009-01-13 17:36:11 +00:00
arp.c Add the DHS_PROBE state so that we ignore subsequent offers 2008-12-18 10:23:40 +00:00
arp.h Add a control socket so that interfaces can be dynamically re-set. 2008-09-03 16:49:28 +00:00
bind.c Store the reason we run the script against the interface state. 2009-01-13 17:04:28 +00:00
bind.h Remove some ints and replace with our option mask. 2008-09-05 07:22:03 +00:00
bpf-filter.h Allow ARP_REQUESTS through the filter as well so we work with conflicting IPV4LL probes. This requires the timeout to work of a time instead of a timeout. 2008-07-10 11:55:10 +00:00
bpf.c Remove logger and exclusively uses syslog instead. This saves almost 2K on NetBSD/amd64 from before changing strerror to %m. 2008-09-05 18:24:34 +00:00
common.c whitespace 2009-01-12 16:35:58 +00:00
common.h Work out __restrict better. 2008-11-24 11:21:11 +00:00
config.h Release 4.99.7 2008-12-19 12:52:38 +00:00
configure.c --getinterfaces should be more than sufficient for the control socket. 2009-01-15 14:22:40 +00:00
configure.h --getinterfaces should be more than sufficient for the control socket. 2009-01-15 14:22:40 +00:00
control.c We need to close our listeners before removing the socket so clients close down properly. 2009-01-15 09:58:21 +00:00
control.h Remove the limit for the number of connections to the control socket. 2009-01-12 16:39:01 +00:00
dhcp.c Copyright 2009-01-12 16:31:13 +00:00
dhcp.h Re work the route management so we deal with a changed route table in a renewal/rebind correctly. 2008-12-16 13:28:42 +00:00
dhcpcd-run-hooks.8.in We should use the reason CARRIER as well and run carrier notifications after PREINIT. 2009-01-15 13:31:46 +00:00
dhcpcd-run-hooks.in Fix comment. 2008-09-19 23:31:17 +00:00
dhcpcd.8.in Improve the nohook documentation. 2009-01-05 15:52:08 +00:00
dhcpcd.c --getinterfaces should be more than sufficient for the control socket. 2009-01-15 14:22:40 +00:00
dhcpcd.conf Disable the requesting of MTU by default as there's a lot of buggy servers out there. Plus we maybe trying to use jumbo frames. 2008-06-13 10:10:00 +00:00
dhcpcd.conf.5.in Improve the nohook documentation. 2009-01-05 15:52:08 +00:00
dhcpcd.h Store the reason we run the script against the interface state. 2009-01-13 17:04:28 +00:00
dhcpf.h BOOTP fixes. Also, we don't write a BOOTP lease file. 2008-11-20 09:57:46 +00:00
duid.c get_line now uses a single buffer, strips leading space and skips comments. This reduces malloc usage slightly and gives a cleaner API at the expense of a slight bss increase. 2008-11-05 13:57:54 +00:00
duid.h Add an event loop. 2008-09-02 13:28:11 +00:00
eloop.c static objects are initialized to 0 by default, so don't explicity do this. 2008-10-06 12:45:32 +00:00
eloop.h Fix some LINT errors. 2008-11-10 11:15:27 +00:00
if-bsd.c Adding subnet routes with just sdl_index set does not work for FreeBSD. 2009-01-02 09:31:42 +00:00
if-linux.c You can now add a configure block per ssid if the interface is wireless. 2009-01-01 20:51:04 +00:00
if-options.c You can now add a configure block per ssid if the interface is wireless. 2009-01-01 20:51:04 +00:00
if-options.h You can now add a configure block per ssid if the interface is wireless. 2009-01-01 20:51:04 +00:00
if-pref.c Fix compile errors. 2008-09-09 19:07:37 +00:00
if-pref.h Sort interfaces according to preference and pass this to dhcpcd-run-hooks so we can prefer configs. 2008-09-09 17:07:48 +00:00
ipv4ll.c When declining a DHCP lease and we have an IPv4LL one, don't re announce our IPv4LL lease. 2008-11-14 09:39:09 +00:00
ipv4ll.h Add a control socket so that interfaces can be dynamically re-set. 2008-09-03 16:49:28 +00:00
lpf.c Remove #ifdefs to disable specific bits of code. We now build everything - we're small enough :) 2008-07-23 17:06:42 +00:00
Makefile Sort interfaces according to preference and pass this to dhcpcd-run-hooks so we can prefer configs. 2008-09-09 17:07:48 +00:00
net.c You can now add a configure block per ssid if the interface is wireless. 2009-01-01 20:51:04 +00:00
net.h You can now add a configure block per ssid if the interface is wireless. 2009-01-01 20:51:04 +00:00
README Document the BSD subnet manipulation issue in the README and not the man page. 2008-12-21 20:53:07 +00:00
signals.c Add an event loop. 2008-09-02 13:28:11 +00:00
signals.h Add an event loop. 2008-09-02 13:28:11 +00:00

dhcpcd - DHCP client daemon
Copyright 2006-2008 Roy Marples <roy@marples.name>


Installation
------------
Then just 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 to set the below knobs to avoid
automatic tests.
OS=BSD | Linux

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

You can change the default dir with these knobs.
For example, to satisfy FHS compliance you would do this:-
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.99.6


Hooks
-----
Not all the hooks in dhcpcd-hooks are installed by default.
By default we install 01-test, 10-mtu, 20-resolv.conf and 30-hostname.
To add more simply add them in the HOOKSCRIPTS variable.
make HOOKSCRIPTS=50-ntp install


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/