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.
|
|
intended.
|
|
"<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@
|
|
the bpf socket signals that it has data, call packethandler() in a
loop until no more bpf packets are available.
|
|
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.
|
|
|
|
|
|
chars to parse_decimal() instead of less obvious *fmt; refactor
to eliminate need for the 'alloc:' and 'bad_flag:' labels and the
invidious backwards goto's to them.
|
|
|
|
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.
|
|
names, not just 2 out of 3.
|
|
and sometimes uintNN_t.
|
|
DHO_COUNT.
|
|
No more struct interface_info knowledge in privsep.[ch]
|
|
No more struct interface_info knowledge in packet.c
|
|
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.
|
|
Fix construction of the unicast UDP packets being sent
out via sendmsg(). Accidentally broken in r1.32 (5.6)
when types were juggled.
ok bluhm@
|
|
correct place and passing the invocation the correct parameters.
Noticed by & initial diff from matthieu@
|
|
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.
|
|
fields 'hardware', 'alias', 'media', 'medium', 'ethernet'.
Also remove now-unused parse_ethernet().
Making these parsing failures will smoke out anybody with
leases or conf files from the last century.
|
|
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.
|
|
parameter as the route message already has the correct tableid. So
eliminate the useless parameter.
|
|
need to expose its definition in dhcpd.h. While here change
the parameter from struct interface_info to int and just pass
the only field used (rdomain).
|
|
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@
|
|
the sockets being used to issue ioctl()'s.
ok claudio@
|
|
by directly assigning the socket fd to ifi->bfdesc rather than
returning it and having the caller do the assignment.
|
|
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.
|
|
active address. So no need to check for the magic INADDR_ANY address.
|
|
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.
|
|
priv_write_resolv_conf() code that was moved into the
dispatch loop.
|