On some platforms where interfaces come up very slowly, this can
cause a race-condition with dhcpd coming up before all the interfaces
have finished initializing.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
This fixes a crash that happens when dhcpd is configured with a failover
peer, and the failover peer goes down. The crash is due to a dereference
of a freed object. When tracing is enabled (which is the default) the
object in question is referenced by the tracing code and so doesn't get
freed prematurely. I have observed this crash on two different target
platforms (mips and x86_64), and it is reproducible on non-OpenWRT
distros by building isc-dhcpd using --disable-tracing.
This has been reported to ISC, but their response was that it's a low
priority as the simple work-around is to leave tracing enabled.
Re-enabling the tracing code only increases the size of the executable
by about 24KB.
Signed-off-by: Heath Kehoe <yaheath@gmail.com>
The internal nameservers and the DHCP default domain should be
squirted into /tmp/resolv.conf.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
dhcrelay has the ability to monitor interfaces for requests
in a single direction only rather than listening to all
interfaces for requests.
Doing this allows one to suppress the duplication of having
the relay forward requests from the same network that the
DHCP server is on.
Signed-off-by: Brian J. Murrell <brian@interlinx.bc.ca>
Sometimes it's necessary to set per-host options like:
list dhcp_option 'option:always-broadcast,true'
for hosts that don't understand unicast replies. There might
be other options you might want to set on a per-host basis,
such as extensions-path, dhcp-message-text, etc.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Some /etc/config-destined files are in files/ and suffixed with
.conf while others are in files/etc/config/ which isn't consistent.
Put everything in files/ and call it good.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Convert init-script to procd and allow to configure
isc-dhcp-server via UCI. Allow most by-network and by-host options
supported by dnsmasq.
User-defined dhcp-options are not supported yet, neither are tags.
Existing configurations with use-edited /etc/dhcpd.conf are still
respected, hence to enjoy the new features you have to migrate
your configuration to UCI and delete /etc/dhcpd.conf.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Version bumped to 4.3.5. Separated out compile/install steps since
compiling with $DESTDIR yields bogus results. Removed rfc-3527 patch
as something similar (better) is now upstream (well, more complete
error checking anyway). Change relay scripts from '-l ifname' to
'-U ifname' to correspond to upstream changes.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>