Age | Commit message (Collapse) | Author |
|
|
|
|
|
lease address replaces all current addresses. Shuffle some
code from bind_lease() into set_mtu()/set_address() to
shrink bind_lease().
|
|
|
|
|
|
minimum required to ensure that resolv.conf is
written out on startup/HUP.
Noticed by and fix tested by jmc@
|
|
RTM_DELADDR and RTM_NEWADDR are no longer of interest.
Pointed out by jca@
|
|
dhclient taking control of the interface.
In particular do not exit when addresses are manually added to or
deleted from the interface dhclient(8) is concerned about. Note that
such changes will still be removed whenever dhclient(8) is re-started
or gets a different lease during renewal.
|
|
"<var> == 0", "!(<var> & FLAG)" with
"(<var> & FLAG) == 0", "!<func()>"
with "<func()> == 0" and "!<define>" with
"<define> == 0". And the positive cases
as well.
A few stray == NULL and != NULL as well.
|
|
"<pointer> == NULL". And of course "<pointer>"
expressions with "<pointer> != NULL".
|
|
renewal lease into canonical forms and compare those rather than the
leases themselves. Eliminates spurious interface and route
manipulation when irrelevant aspects of the leases are changed by the
DHCP server.
Problem found by Paul de Weerd when his DHCP server returned
renewed leases differing only by a decremented dhcp-lease-time option.
ok mpi@
|
|
renaming "if_register_bpf()" to "get_bpf_sock()",
"if_register_send()" to "get_udp_sock()" and
"if_register_receive()" to "configure_bpf_sock()".
Pull back interface_info knowledge and just pass
the interface name, rdomain and bpf socket fd as
required.
|
|
for resolving 'egress' and adding a route. Move creation
of main()'s ioctlfd up so it can be used for the
'egress' resolution.
|
|
declarations.
|
|
|
|
|
|
table (dhcp_options) involved. Provide functions
code_to_name(), name_to_code(), code_to_format() and
replace direct access to dhcp_options with them. Eliminate
unneeded 'struct option'.
Unhook tables.c from Makefile.
|
|
and sometimes uintNN_t.
|
|
DHO_COUNT.
|
|
No more struct interface_info knowledge in privsep.[ch]
|
|
unpack_options(). Store the unpacked options in a static
variable. Move remaining raw packet processing from unpack_options()
to packethandler().
No more struct interface_info knowledge in options.c
|
|
pack options into. Not all the gory details of interface_info.
Move some of the raw packet processing out of options.c's
do_packet() and into the more obvious dispatch.c's
packethandler().
Mention that RFC791 is why we use 576-byte UDP packets.
|
|
pass the interface name and the TAILQ to put static leases into.
Add a TAILQ for static leases to struct client_config to hold the
static leases until it's time to add them to ifi.
Add add_lease() to add leases to a TAILQ while checking for
leases that are superseded by the new lease.
|
|
fd'd from main loops as required. One socket to do
ioctl's per process (called ioctlfd) and one socket to
do route messages per socket (called routefd).
Clean up local variable declaration lists in passing.
|
|
lease_as_string() and rewrite_option_db() only use the
interface name, so supply just the name.
Tweak interface_link_forceup() to use the same param
name as other functions taking the interface name.
|
|
and friends. i.e. ifi->name, ifi->rdomain, or both.
|
|
whenever dhclient dies. Eliminates differences in handling
and thus need to intercept signals INT, TERM, USR1,
USR2. Eliminates need for 'zapzombies' field and thus
entire struct imsg_flushroutes. Eliminates need for 'imsg'
parameter to and associated logic in priv_flush_routes().
Address, routes and '-L' file are still cleaned out when
binding a lease.
|
|
sockets to cut down on unwanted IPv6 messages.
suggested by & ok claudio@
|
|
ifa we use to get the interface hw address. One less socket() and
ioctl()! MIssed cleanup from shift to just watching RTM_IFINFO
messages for rdomain switch.
|
|
address configured by dhclient should cause exit, not restart. There
is no need to invoke sendhup(). Just exit and let the privileged child
follow.
|
|
function. Don't exit dispatch() loop on SIGHUP, wait for privileged
child to execvp() dhclient. Eliminate struct imsg_hup since its
contents were not being used except in priv_cleanup(). And
'active_addr' works just as well there.
Cleaner and eliminates some extraneous log entries.
|
|
the reception of a IMSG_HUP message and trigger the
desired restart.
Nuke the now pointless IFI_HUP.
|
|
in one process does not mean the other process can see the
change. Nuke the pointless IFI_NEW_LLADDR.
|
|
text in various forms in different error messages. Also makes the error
messages consistent by always displaying the full path name.
|
|
expire.
|
|
REBOOT'ing. It will be pointing to a recorded lease if
anything. So rely on get_recorded_lease() to return the
next valid candidate lease, which might be the lease
ifi->active was pointing at.
|
|
var = time(NULL). Flip "struct interface *" to be the first
parameter in set_timeout(), as in other functions taking the
state info.
|
|
|
|
|
|
and not cause the lease to be declined. Restore inadvertantly
changed behaviour. Tweak logic to also ignore invalid
host names in domain-search.
Reported by Christer Solskogen via misc@
|
|
the rest of the dhcp state. One less struct (dhcp_timeout) to
worry about, one less field (ifi) to keep track of.
|
|
then remove set_timeout() and rename set_timeout_interval() to
set_timeout().
|
|
are assigned to an int variable.
|
|
|
|
|
|
|
|
|
|
current address if one arrives inside select_timeout. So there
is no need to keep a list of received offers. Just keep the
best one and DECLINE the rest. Nuke now unused 'offered_leases'
TAILQ.
Also fixes the oddity that the *last* offer for the current
address is taken rather than the *first*.
|
|
first problem rather than continuing to look for other reasons
to decline them. Nuke is_invalid field since it is now unused.
More informative log message when a lease is determined to be
unacceptable.
|
|
has DHO_DHCP_MESSAGE_TYPE info.
|