Age | Commit message (Collapse) | Author |
|
switch the rtsocket message filter specification so you can or the macros
converting the routing socket message types into the mask used by the
filter. ie:
- ROUTE_SETFILTER(rtfilter, RTM_NEWADDR);
- ROUTE_SETFILTER(rtfilter, RTM_DELADDR);
- ROUTE_SETFILTER(rtfilter, RTM_IFINFO);
- ROUTE_SETFILTER(rtfilter, RTM_IFANNOUNCE);
+ rtfilter = ROUTE_FILTER(RTM_NEWADDR) | ROUTE_FILTER(RTM_DELADDR) |
+ ROUTE_FILTER(RTM_IFINFO) | ROUTE_FILTER(RTM_IFANNOUNCE);
there's a manpage change coming.
ok claudio@
|
|
Log the packets before checking the client state. Makes it easy to
find MACs for 'surprise' DHCP servers.
Positive comments from mbalmer@, jasper@.
|
|
|
|
socket dhclient will get.
ja ja claudio@
|
|
binaries to stop working.
OK krw@, michele@, henning@, dlg@
|
|
|
|
give it about 4 seconds of (silent) grace period before doing the verbose
search for a link...
tested by various developers who got burned a bit
|
|
goes to background and listens on the routing socket for link to come
up before it retries.
- renew the lease whenever the link was lost and becomes active again.
- listen for link state changes on non-ethernet devices like wireless,
the link state becomes active when the wireless has been associated to
the AP and becomes active. this helps to automatically renew the lease
when the user is roaming.
ok beck@, deraadt@
|
|
deraadt@ OK
|
|
ok jmc@
|
|
|
|
|
|
startup; ok krw@ henning@
|
|
ok millert
|
|
in the lease, whence the parsed info was moved.
Fixes "Bogus servername" messages when processing an offer and stops
bogus filename info from being stored in the lease. Found while
testing a Tucson hotel's dhcp service.
ok @stevesk "looks good" henning@.
|
|
from Mark Lumsden
|
|
|
|
|
|
the malloc'd memory from the parsed option buffer since it would be
thrown away after the copy anyway.
'looks sane' millert@
|
|
complex list code to keep track. So nuke it.
Also eliminate unnecessary variable ('dead') that means 'rfdesc is
closed'. Just set rfdesc to -1 when it is closed and use that.
As suggested by millert@ and claudio@, don't bother setting revents
members to zero since poll() does that.
Np functional change, just less code.
'looks good' claudio@ 'I like where this is going' henning@
|
|
moving the minimal code into do_packet(). Eliminate repeated code for
checking the client hardware address and the reject list by putting
those checks into do_packet as well.
No functional change, just much easier to read.
ok stevesk@
|
|
parameters just those things actually needed and using existing
structs and information. No functional change.
ok stevesk@
|
|
process any packets, eliminate that abstraction and just call
do_packet directly.
No functional change.
ok stevesk
|
|
contains the global value client->packet_length. Use
client->packet_length. No functional change.
Suggested by stevesk@.
|
|
dhcp_packet and it is contained in the global *client. So don't pass
around pointers to a struct that contains a pointer to the dhcp_packet
instance. Just use the global client->packet. Eliminate unused struct
packet members and parameter lists accordingly.
No functional change.
Suggestions by stevesk@. ok stevesk@
|
|
|
|
no binary change.
|
|
|
|
|
|
obviously have single global struct client_state and struct
client_config nested inside interface_info and client_state
respectively.
Pull them out to their own global variables and eliminate a bunch
(i.e. hundreds) of multi-level dereferences. Make it much nicer to
read.
No functional change.
"makes sense" henning@
Testing stevesk@, ok stevesk@
|
|
single, global, instance of 'struct interface_info' (ifi) rather than
passing around pointers to it.
"I agree" henning@
Testing moritz@ stevesk@, ok stevesk@
|
|
for NULL before dereferencing it. OK henning@ krw@ deraadt@
|
|
|
|
|
|
|
|
|
|
set once in main() and used everywhere without further checks.
From Matthew R. Dempsky via tech@
|
|
for link for 10 seconds. otherwise, if there was link, no problem!
ok henning, claudio, tested by others
|
|
(for some drivers, this is a bug. for others, it is part of how they work)
therefore before doing the 10-second link test, we must bring the if up.
ok krw, tested marco ckuethe
|
|
directory ("/"). this fixes a problem when dhclient was called in a
working directory like "/mnt" and the user tried to unmount this
directory while dhclient was still running. umount failed because the
device for "/mnt" was still busy and blocked by the running priv child
of dhclient.
ok henning@
|
|
external modification when the RTM_NEWADDR message arrives from the
routing socket. Now dhclient will not exit if 'alias{}' is specified
in dhclient.conf.
Mentioned many times, most recently by Matthias Bertschy on misc@.
ok henning@ beck@
|
|
change before timing out' behaviour of the man page for link-timeout;
ok deraadt@ henning@
|
|
default remains 10 seconds.
|
|
ok henning@
|
|
time. dale just had the same problem and made me look again.
|
|
|
|
but there is no point in refusing the lease based on that. so bitch and
moan and ignore that option but accept the lease.
yes, customer networks are sometimes interesting...
ok millert krw beck
|
|
than always testing the return code and calling error() from the
caller.
From a diff by moritz@, ok henning@.
|
|
dhclient is responsible for one interface. Simply skip interface
declarations for other interfaces and store all info in the one
interface structure.
tested by dlg@, ok henning@
|
|
dhcp_options const.
ok henning@
|