History log of /openbsd-current/usr.sbin/dhcpd/dispatch.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.45 02-Sep-2023 kn

Fix comment about skipped interfaces

After r1.44 "Start on DOWN interfaces" this sentence makes no sense
and just repeats the obvious conditions, so zap it.

With/OK stsp


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.44 20-Nov-2021 kn

Start on DOWN interfaces

Do not skip interfaces during startup because they're not UP.

dhcpd(8) can start listening on such interfaces just fine (given suitable
IPs on them) and interfaces may come UP later in time.

Otherwise dhcpd would fail to start completely if it didn't find any
interface that would be UP early on and administrators had to restart dhcpd.

Other daemons and nc(1)'s `-l' listen just fine on DOWN interfaces as well.

Noticed while switching a bridge(4)/vether(4) setup to veb(4)/vport(4) and
hostname.vport without explicit "up" (vport does not implicitly pulls itself
UP when configuring an address).

OK dlg florian


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.43 12-Apr-2017 krw

One 'foo' per function is enough. Rename one to eliminate shadowing.


Revision tags: OPENBSD_6_1_BASE
# 1.42 13-Feb-2017 krw

Eliminate pointless'%m' (a.k.a. hand rolled strerror()) by using fatal() and
log_warn(). Zap a couple of explicit 'syslog()' calls.


# 1.41 13-Feb-2017 krw

Adjust some long lines.


# 1.40 13-Feb-2017 krw

Do the strerror() elimination dance with log_warnx() -> log_warn(),
fatalx() -> fatal() and even a couple of fprintf(stderr) -> log_warn().


# 1.39 13-Feb-2017 krw

Switch from old errwarn.c logging to shiny new log.[ch].

ok benno@


# 1.38 15-Nov-2016 mestre

Replace bzero(3) with memset(3)

"Looks good" to deraadt@


# 1.37 27-Aug-2016 guenther

Pull in <time.h> for one or more of gmtime, strftime, strptime, time,
timegm, and tzset

ok deraadt@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.36 06-Feb-2016 krw

Eliminate #include inside *.h files and include only needed headers in
each *.c file.

Inspired by mention of header silliness by Edgar Pettijohn and mmcc@
on tech@.


# 1.35 20-Aug-2015 deraadt

stdlib.h is in scope; do not cast malloc/calloc/realloc*
ok millert krw


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.34 08-Oct-2014 deraadt

use reallocarray() to cope with multiplicative integer overflow; ok doug


Revision tags: OPENBSD_5_6_BASE
# 1.33 05-May-2014 pelikan

Don't call the BOOTP handler indirectly.

ok krw


Revision tags: OPENBSD_5_5_BASE
# 1.32 18-Oct-2013 krw

Scattering a few bcopy()'s around source using mostly memcpy() is just
asking for confusion. Replace bcopy()'s with memcpy()'s.


Revision tags: OPENBSD_5_4_BASE
# 1.31 16-May-2013 gerhard

poll(2) might have slept for an arbitrary amount of time. We should
update 'cur_time' after poll(2) returns.

ok otto


# 1.30 19-Apr-2013 sthen

Log (at LOG_INFO) which interfaces dhcpd listens to and (as suggested by
krw) their address. As dhcpd uses BPF, it's not possible to find this
information out from fstat/netstat. ok krw@


Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.29 12-Nov-2011 krw

Zero option processing stack storage to prevent stack garbage that
happens to look like options from being processed as options when
truncated packets received.

Potential problem pointed out by mikeb@, from a couple of NIST
reports (CVE-2011-2748 and CVE-2011-2749).


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE
# 1.28 19-Nov-2010 ajacoutot

Prevent dhcpd(8) from trying to listen on interfaces that don't have a
valid broadcast (e.g. pflog0).

"no objection" krw@, ok claudio@


Revision tags: OPENBSD_4_8_BASE
# 1.27 03-Jul-2010 guenther

Fix the naming of interfaces and variables for rdomains and rtables
and make it possible to bind sockets (including listening sockets!)
to rtables and not just rdomains. This changes the name of the
system calls, socket option, and ioctl. After building with this
you should remove the files /usr/share/man/cat2/[gs]etrdomain.0.

Since this removes the existing [gs]etrdomain() system calls, the
libc major is bumped.

Written by claudio@, criticized^Wcritiqued by me


# 1.26 19-Apr-2010 claudio

If interfaces are specified, get their rdomain and bind dhcpd into the same
domain with setrdomain(). This allows to run dhcpd on multiple rdomains.
OK krw@


Revision tags: OPENBSD_4_7_BASE
# 1.25 02-Jan-2010 krw

Eliminate all uses of dmalloc() where the returned pointer
is checked for NULL and a specific error/warning issued. Add
two such manual warning/error checks and kill those dmalloc
calls. And then there were none, so kill dmalloc(). Whew.


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.24 15-Sep-2008 claudio

When checking if a syscall like open(), ioctl() or writev() failed compare
directly against -1 and do not use a < 0 test. OK henning@


Revision tags: OPENBSD_4_4_BASE
# 1.23 07-May-2008 beck

Add synchronisation support for dhcpd - this allows for two dhcpd's
with the same configuration to be run on the same net and they will
keep their lease files/state in synch, and therefore allowing you to
run redundant dhcpd's. Synchronization code stolen from spamd, uses
an hmac key in /var/db/dhcpd.key if it exists.
ok krw@ deraadt@


Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.22 12-Dec-2006 stevesk

remove unused #defines; no binary change


Revision tags: OPENBSD_4_0_BASE
# 1.21 30-May-2006 ckuethe

This patch renames dhcpd's "struct timeout" to "struct dhcpd_timeout"
so as not to conflict with "struct timeout" from <sys/timeout.h>.
ok henning@


# 1.20 27-May-2006 krw

Don't exit just because an interface has no subnet configured in
dhcpd.conf. Just don't listen on that interface.

Make warning messages textually consistant.

tested & ok beck@


# 1.19 27-May-2006 krw

When an interface is ignored because it has no IP address, say so.
Don't just say 'not found". And always complain, not just when
specific interfaces were requested.

requested by and ok uwe@


# 1.18 11-May-2006 krw

If a list of interfaces is supplied via the command line or
dhcpd.interfaces then

a) don't bother looking up information on interfaces that were not
requested;

b) don't exit if a requested interface is not found, just issue a
warning message;

c) exit if none of the interfaces were found.

The command line for dhcpd shown in ps will continue to show requested
but ignored interfaces.

As usual with dhc* code, whack a bunch of unused states, constants,
flags, etc. Since we only invoke discover_interfaces() with
DISCOVER_SERVER, there is no need to keep track of other
possibilities.


# 1.17 16-Mar-2006 claudio

KNF. No binary change.


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE
# 1.16 31-Jan-2005 millert

Don't malloc fds each time, just realloc() as needed.
There's no need to clear revents -- poll() does that for us.
Move setting of cur_time to the top of the loop for better accuracy.
When poll returns 0, don't check revents since we know none were set.


# 1.15 31-Oct-2004 canacar

change the undocumented -t flag to -n used for configuration testing
and document it. cleanup some unused/unneeded variables while there.
idea & ok henning@


# 1.14 21-Sep-2004 david

spelling fixes; ok jmc@ henning@


# 1.13 16-Sep-2004 deraadt

avoid aliasing with libc functions; ok henning


# 1.12 16-Sep-2004 claudio

Remove the not initialized fallback_interface code and use the normal bpf
interface for that. Also store the hardware (ethernet) address in the state
so that relayed dhcp request are sent to the correct destination.
OK henning@ requested by deraadt@ tested otto@


# 1.11 15-Sep-2004 deraadt

size_t vs ssize_t confusion


Revision tags: OPENBSD_3_6_BASE
# 1.10 25-May-2004 canacar

handle interface removals gracefully. reported by Oliver J. Morais
ok henning@, tedu@


# 1.9 04-May-2004 deraadt

remove things not used, spotted by lint mostly; ok henning


# 1.8 20-Apr-2004 henning

$OpenBSD$


# 1.7 18-Apr-2004 henning

more KNF


# 1.6 18-Apr-2004 deraadt

various knf; henning ok


# 1.5 16-Apr-2004 deraadt

a bunch of knf, ok henning


# 1.4 14-Apr-2004 deraadt

spaces


# 1.3 14-Apr-2004 henning

more crap bites the dust


# 1.2 13-Apr-2004 henning

time_t and kill a few dumb defines


# 1.1 13-Apr-2004 henning

may the whacking begin


# 1.44 20-Nov-2021 kn

Start on DOWN interfaces

Do not skip interfaces during startup because they're not UP.

dhcpd(8) can start listening on such interfaces just fine (given suitable
IPs on them) and interfaces may come UP later in time.

Otherwise dhcpd would fail to start completely if it didn't find any
interface that would be UP early on and administrators had to restart dhcpd.

Other daemons and nc(1)'s `-l' listen just fine on DOWN interfaces as well.

Noticed while switching a bridge(4)/vether(4) setup to veb(4)/vport(4) and
hostname.vport without explicit "up" (vport does not implicitly pulls itself
UP when configuring an address).

OK dlg florian


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.43 12-Apr-2017 krw

One 'foo' per function is enough. Rename one to eliminate shadowing.


Revision tags: OPENBSD_6_1_BASE
# 1.42 13-Feb-2017 krw

Eliminate pointless'%m' (a.k.a. hand rolled strerror()) by using fatal() and
log_warn(). Zap a couple of explicit 'syslog()' calls.


# 1.41 13-Feb-2017 krw

Adjust some long lines.


# 1.40 13-Feb-2017 krw

Do the strerror() elimination dance with log_warnx() -> log_warn(),
fatalx() -> fatal() and even a couple of fprintf(stderr) -> log_warn().


# 1.39 13-Feb-2017 krw

Switch from old errwarn.c logging to shiny new log.[ch].

ok benno@


# 1.38 15-Nov-2016 mestre

Replace bzero(3) with memset(3)

"Looks good" to deraadt@


# 1.37 27-Aug-2016 guenther

Pull in <time.h> for one or more of gmtime, strftime, strptime, time,
timegm, and tzset

ok deraadt@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.36 06-Feb-2016 krw

Eliminate #include inside *.h files and include only needed headers in
each *.c file.

Inspired by mention of header silliness by Edgar Pettijohn and mmcc@
on tech@.


# 1.35 20-Aug-2015 deraadt

stdlib.h is in scope; do not cast malloc/calloc/realloc*
ok millert krw


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.34 08-Oct-2014 deraadt

use reallocarray() to cope with multiplicative integer overflow; ok doug


Revision tags: OPENBSD_5_6_BASE
# 1.33 05-May-2014 pelikan

Don't call the BOOTP handler indirectly.

ok krw


Revision tags: OPENBSD_5_5_BASE
# 1.32 18-Oct-2013 krw

Scattering a few bcopy()'s around source using mostly memcpy() is just
asking for confusion. Replace bcopy()'s with memcpy()'s.


Revision tags: OPENBSD_5_4_BASE
# 1.31 16-May-2013 gerhard

poll(2) might have slept for an arbitrary amount of time. We should
update 'cur_time' after poll(2) returns.

ok otto


# 1.30 19-Apr-2013 sthen

Log (at LOG_INFO) which interfaces dhcpd listens to and (as suggested by
krw) their address. As dhcpd uses BPF, it's not possible to find this
information out from fstat/netstat. ok krw@


Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.29 12-Nov-2011 krw

Zero option processing stack storage to prevent stack garbage that
happens to look like options from being processed as options when
truncated packets received.

Potential problem pointed out by mikeb@, from a couple of NIST
reports (CVE-2011-2748 and CVE-2011-2749).


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE
# 1.28 19-Nov-2010 ajacoutot

Prevent dhcpd(8) from trying to listen on interfaces that don't have a
valid broadcast (e.g. pflog0).

"no objection" krw@, ok claudio@


Revision tags: OPENBSD_4_8_BASE
# 1.27 03-Jul-2010 guenther

Fix the naming of interfaces and variables for rdomains and rtables
and make it possible to bind sockets (including listening sockets!)
to rtables and not just rdomains. This changes the name of the
system calls, socket option, and ioctl. After building with this
you should remove the files /usr/share/man/cat2/[gs]etrdomain.0.

Since this removes the existing [gs]etrdomain() system calls, the
libc major is bumped.

Written by claudio@, criticized^Wcritiqued by me


# 1.26 19-Apr-2010 claudio

If interfaces are specified, get their rdomain and bind dhcpd into the same
domain with setrdomain(). This allows to run dhcpd on multiple rdomains.
OK krw@


Revision tags: OPENBSD_4_7_BASE
# 1.25 02-Jan-2010 krw

Eliminate all uses of dmalloc() where the returned pointer
is checked for NULL and a specific error/warning issued. Add
two such manual warning/error checks and kill those dmalloc
calls. And then there were none, so kill dmalloc(). Whew.


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.24 15-Sep-2008 claudio

When checking if a syscall like open(), ioctl() or writev() failed compare
directly against -1 and do not use a < 0 test. OK henning@


Revision tags: OPENBSD_4_4_BASE
# 1.23 07-May-2008 beck

Add synchronisation support for dhcpd - this allows for two dhcpd's
with the same configuration to be run on the same net and they will
keep their lease files/state in synch, and therefore allowing you to
run redundant dhcpd's. Synchronization code stolen from spamd, uses
an hmac key in /var/db/dhcpd.key if it exists.
ok krw@ deraadt@


Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.22 12-Dec-2006 stevesk

remove unused #defines; no binary change


Revision tags: OPENBSD_4_0_BASE
# 1.21 30-May-2006 ckuethe

This patch renames dhcpd's "struct timeout" to "struct dhcpd_timeout"
so as not to conflict with "struct timeout" from <sys/timeout.h>.
ok henning@


# 1.20 27-May-2006 krw

Don't exit just because an interface has no subnet configured in
dhcpd.conf. Just don't listen on that interface.

Make warning messages textually consistant.

tested & ok beck@


# 1.19 27-May-2006 krw

When an interface is ignored because it has no IP address, say so.
Don't just say 'not found". And always complain, not just when
specific interfaces were requested.

requested by and ok uwe@


# 1.18 11-May-2006 krw

If a list of interfaces is supplied via the command line or
dhcpd.interfaces then

a) don't bother looking up information on interfaces that were not
requested;

b) don't exit if a requested interface is not found, just issue a
warning message;

c) exit if none of the interfaces were found.

The command line for dhcpd shown in ps will continue to show requested
but ignored interfaces.

As usual with dhc* code, whack a bunch of unused states, constants,
flags, etc. Since we only invoke discover_interfaces() with
DISCOVER_SERVER, there is no need to keep track of other
possibilities.


# 1.17 16-Mar-2006 claudio

KNF. No binary change.


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE
# 1.16 31-Jan-2005 millert

Don't malloc fds each time, just realloc() as needed.
There's no need to clear revents -- poll() does that for us.
Move setting of cur_time to the top of the loop for better accuracy.
When poll returns 0, don't check revents since we know none were set.


# 1.15 31-Oct-2004 canacar

change the undocumented -t flag to -n used for configuration testing
and document it. cleanup some unused/unneeded variables while there.
idea & ok henning@


# 1.14 21-Sep-2004 david

spelling fixes; ok jmc@ henning@


# 1.13 16-Sep-2004 deraadt

avoid aliasing with libc functions; ok henning


# 1.12 16-Sep-2004 claudio

Remove the not initialized fallback_interface code and use the normal bpf
interface for that. Also store the hardware (ethernet) address in the state
so that relayed dhcp request are sent to the correct destination.
OK henning@ requested by deraadt@ tested otto@


# 1.11 15-Sep-2004 deraadt

size_t vs ssize_t confusion


Revision tags: OPENBSD_3_6_BASE
# 1.10 25-May-2004 canacar

handle interface removals gracefully. reported by Oliver J. Morais
ok henning@, tedu@


# 1.9 04-May-2004 deraadt

remove things not used, spotted by lint mostly; ok henning


# 1.8 20-Apr-2004 henning

$OpenBSD$


# 1.7 18-Apr-2004 henning

more KNF


# 1.6 18-Apr-2004 deraadt

various knf; henning ok


# 1.5 16-Apr-2004 deraadt

a bunch of knf, ok henning


# 1.4 14-Apr-2004 deraadt

spaces


# 1.3 14-Apr-2004 henning

more crap bites the dust


# 1.2 13-Apr-2004 henning

time_t and kill a few dumb defines


# 1.1 13-Apr-2004 henning

may the whacking begin


Revision tags: OPENBSD_6_2_BASE
# 1.43 12-Apr-2017 krw

One 'foo' per function is enough. Rename one to eliminate shadowing.


Revision tags: OPENBSD_6_1_BASE
# 1.42 13-Feb-2017 krw

Eliminate pointless'%m' (a.k.a. hand rolled strerror()) by using fatal() and
log_warn(). Zap a couple of explicit 'syslog()' calls.


# 1.41 13-Feb-2017 krw

Adjust some long lines.


# 1.40 13-Feb-2017 krw

Do the strerror() elimination dance with log_warnx() -> log_warn(),
fatalx() -> fatal() and even a couple of fprintf(stderr) -> log_warn().


# 1.39 13-Feb-2017 krw

Switch from old errwarn.c logging to shiny new log.[ch].

ok benno@


# 1.38 15-Nov-2016 mestre

Replace bzero(3) with memset(3)

"Looks good" to deraadt@


# 1.37 27-Aug-2016 guenther

Pull in <time.h> for one or more of gmtime, strftime, strptime, time,
timegm, and tzset

ok deraadt@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.36 06-Feb-2016 krw

Eliminate #include inside *.h files and include only needed headers in
each *.c file.

Inspired by mention of header silliness by Edgar Pettijohn and mmcc@
on tech@.


# 1.35 20-Aug-2015 deraadt

stdlib.h is in scope; do not cast malloc/calloc/realloc*
ok millert krw


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.34 08-Oct-2014 deraadt

use reallocarray() to cope with multiplicative integer overflow; ok doug


Revision tags: OPENBSD_5_6_BASE
# 1.33 05-May-2014 pelikan

Don't call the BOOTP handler indirectly.

ok krw


Revision tags: OPENBSD_5_5_BASE
# 1.32 18-Oct-2013 krw

Scattering a few bcopy()'s around source using mostly memcpy() is just
asking for confusion. Replace bcopy()'s with memcpy()'s.


Revision tags: OPENBSD_5_4_BASE
# 1.31 16-May-2013 gerhard

poll(2) might have slept for an arbitrary amount of time. We should
update 'cur_time' after poll(2) returns.

ok otto


# 1.30 19-Apr-2013 sthen

Log (at LOG_INFO) which interfaces dhcpd listens to and (as suggested by
krw) their address. As dhcpd uses BPF, it's not possible to find this
information out from fstat/netstat. ok krw@


Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.29 12-Nov-2011 krw

Zero option processing stack storage to prevent stack garbage that
happens to look like options from being processed as options when
truncated packets received.

Potential problem pointed out by mikeb@, from a couple of NIST
reports (CVE-2011-2748 and CVE-2011-2749).


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE
# 1.28 19-Nov-2010 ajacoutot

Prevent dhcpd(8) from trying to listen on interfaces that don't have a
valid broadcast (e.g. pflog0).

"no objection" krw@, ok claudio@


Revision tags: OPENBSD_4_8_BASE
# 1.27 03-Jul-2010 guenther

Fix the naming of interfaces and variables for rdomains and rtables
and make it possible to bind sockets (including listening sockets!)
to rtables and not just rdomains. This changes the name of the
system calls, socket option, and ioctl. After building with this
you should remove the files /usr/share/man/cat2/[gs]etrdomain.0.

Since this removes the existing [gs]etrdomain() system calls, the
libc major is bumped.

Written by claudio@, criticized^Wcritiqued by me


# 1.26 19-Apr-2010 claudio

If interfaces are specified, get their rdomain and bind dhcpd into the same
domain with setrdomain(). This allows to run dhcpd on multiple rdomains.
OK krw@


Revision tags: OPENBSD_4_7_BASE
# 1.25 02-Jan-2010 krw

Eliminate all uses of dmalloc() where the returned pointer
is checked for NULL and a specific error/warning issued. Add
two such manual warning/error checks and kill those dmalloc
calls. And then there were none, so kill dmalloc(). Whew.


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.24 15-Sep-2008 claudio

When checking if a syscall like open(), ioctl() or writev() failed compare
directly against -1 and do not use a < 0 test. OK henning@


Revision tags: OPENBSD_4_4_BASE
# 1.23 07-May-2008 beck

Add synchronisation support for dhcpd - this allows for two dhcpd's
with the same configuration to be run on the same net and they will
keep their lease files/state in synch, and therefore allowing you to
run redundant dhcpd's. Synchronization code stolen from spamd, uses
an hmac key in /var/db/dhcpd.key if it exists.
ok krw@ deraadt@


Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.22 12-Dec-2006 stevesk

remove unused #defines; no binary change


Revision tags: OPENBSD_4_0_BASE
# 1.21 30-May-2006 ckuethe

This patch renames dhcpd's "struct timeout" to "struct dhcpd_timeout"
so as not to conflict with "struct timeout" from <sys/timeout.h>.
ok henning@


# 1.20 27-May-2006 krw

Don't exit just because an interface has no subnet configured in
dhcpd.conf. Just don't listen on that interface.

Make warning messages textually consistant.

tested & ok beck@


# 1.19 27-May-2006 krw

When an interface is ignored because it has no IP address, say so.
Don't just say 'not found". And always complain, not just when
specific interfaces were requested.

requested by and ok uwe@


# 1.18 11-May-2006 krw

If a list of interfaces is supplied via the command line or
dhcpd.interfaces then

a) don't bother looking up information on interfaces that were not
requested;

b) don't exit if a requested interface is not found, just issue a
warning message;

c) exit if none of the interfaces were found.

The command line for dhcpd shown in ps will continue to show requested
but ignored interfaces.

As usual with dhc* code, whack a bunch of unused states, constants,
flags, etc. Since we only invoke discover_interfaces() with
DISCOVER_SERVER, there is no need to keep track of other
possibilities.


# 1.17 16-Mar-2006 claudio

KNF. No binary change.


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE
# 1.16 31-Jan-2005 millert

Don't malloc fds each time, just realloc() as needed.
There's no need to clear revents -- poll() does that for us.
Move setting of cur_time to the top of the loop for better accuracy.
When poll returns 0, don't check revents since we know none were set.


# 1.15 31-Oct-2004 canacar

change the undocumented -t flag to -n used for configuration testing
and document it. cleanup some unused/unneeded variables while there.
idea & ok henning@


# 1.14 21-Sep-2004 david

spelling fixes; ok jmc@ henning@


# 1.13 16-Sep-2004 deraadt

avoid aliasing with libc functions; ok henning


# 1.12 16-Sep-2004 claudio

Remove the not initialized fallback_interface code and use the normal bpf
interface for that. Also store the hardware (ethernet) address in the state
so that relayed dhcp request are sent to the correct destination.
OK henning@ requested by deraadt@ tested otto@


# 1.11 15-Sep-2004 deraadt

size_t vs ssize_t confusion


Revision tags: OPENBSD_3_6_BASE
# 1.10 25-May-2004 canacar

handle interface removals gracefully. reported by Oliver J. Morais
ok henning@, tedu@


# 1.9 04-May-2004 deraadt

remove things not used, spotted by lint mostly; ok henning


# 1.8 20-Apr-2004 henning

$OpenBSD$


# 1.7 18-Apr-2004 henning

more KNF


# 1.6 18-Apr-2004 deraadt

various knf; henning ok


# 1.5 16-Apr-2004 deraadt

a bunch of knf, ok henning


# 1.4 14-Apr-2004 deraadt

spaces


# 1.3 14-Apr-2004 henning

more crap bites the dust


# 1.2 13-Apr-2004 henning

time_t and kill a few dumb defines


# 1.1 13-Apr-2004 henning

may the whacking begin