summaryrefslogtreecommitdiff
path: root/sbin/dhclient
AgeCommit message (Collapse)Author
2016-09-04Use 'daemonize' instead of 'no_daemon', just like in dhcpd and dhcrelay.Jeremie Courreges-Anglas
ok krw@
2016-09-02Kill 'ifi' global.Martin Pieuchot
ok henning@, krw@
2016-09-02Treat backoff_cutoff as a hard cutoff, not the midpoint in a rangeKenneth R Westerback
from .5 to 1.5 ofthe value. This is how the man page describes it and nobody can remember why it was not being used as a hard limit. ok benno@
2016-09-01tweak previous;Jason McIntyre
2016-09-01Document new default timeouts/intervals.Kenneth R Westerback
2016-09-01Cut back the default values for the various timeout/interval values. We noKenneth R Westerback
longer live in a 10Mb/sec shared media world with 1Mhz Vaxen DHCP servers. ok benno@ otto@ phessler@
2016-09-01Informative comments describing the various timing fields (initial_interval,Kenneth R Westerback
reboot_timeout, etc.) when setting them to their defaults.
2016-08-31REQUEST packets are not just sent when an interface reboots. So don't shortKenneth R Westerback
circuit the waiting for ACK's by giving up after reboot_timeout. ok tedu@
2016-08-31Use reboot_timeout (default: 1) instead of initial_interval (default: 3) whenKenneth R Westerback
the interface reboots. Thus the fallback from REQUEST to DISCOVER will take place after the intended reboot_timeout seconds. ok tedu@ mpi@
2016-08-31Remove the 'client' global and make it per-ifp.Martin Pieuchot
ok krw@
2016-08-23Make the 'ifi' global local to dhclient.c and pass it as an argument toMartin Pieuchot
functions needing it. This is the first step to support multiple interfaces in one dhclient(8) instance. ok krw@
2016-08-16Track SSID in leases file and only consider leases from the current SSID whenKenneth R Westerback
starting up dhclient on wifi interfaces. In theory will preserve leases from other SSID's and speed up obtaining a lease by not wasting time attempting to re-acquire a lease from a different SSID. Experimental feature from n2k16 needing some real world testing before g2k16.
2016-07-31Ask for DHO_BOOTFILE_NAME and DHO_TFTP_SERVER by default. May proveKenneth R Westerback
useful to autoinstall in the future and in the meantime can provide information on what the dhcp server has done with the desired server name and file name info. Original diff from Patrik Lundin via tech@
2016-07-23Back out the dhclient BPF change. There are DHCP servers out there whichStefan Sperling
send frames to the ethernet broadcast address, so this will need some more thought and it's too late for 6.0. Problem reported by Holger Mikolon. ok mpi@
2016-07-22Actually DECLINE and delete unused offers. Don't just say so in a comment.Kenneth R Westerback
In situations where >1 offer is received this will eliminate unbounded memory growth and make us a more polite netizen. In some corner cases it might prevent reuse of inappropriate older offers. ok millert@
2016-07-21Use explicit idiom when testing the result of strcmp() and strncmp().Kenneth R Westerback
i.e. == 0 and != 0 as appropriate. No intentional functional change. Suggested by & ok tom@
2016-07-20Shrink priv_write_file() API so that it does less, and the callers askTheo de Raadt
it to do less. Discussion with guenther. ok krw
2016-07-20As a general rule, fchown before fchmod is a safer order (because manyTheo de Raadt
systems throw away bits upon chown). Not in this case, but code gets copied.. ok krw
2016-07-19Narrow the BPF read filter rules so only packets sent to theKenneth R Westerback
interface's LLADDR pass. Rely on dhclient's existing ability to detect and react to LLADDR changes. This limits the number of packets that get dropped as a result of dhclient setting BIOCSFILDROP on the bpf descriptor. Problem with bridges and multiple dhclients noted by stsp@. ok mpi@ stsp@ deraadt@ henning@
2016-06-03update default value for rebootTed Unangst
2016-06-03The networks I use are sufficiently fast that a 10 second "reboot" timeoutTed Unangst
is not necessary, and in fact quite annoying when I swtich networks and want to get back to the init state quickly. Default instead to 1 second. The very few users who encounter problems may edit dhclient.conf. ok benno krw does not object
2016-05-08Use /dev/bpf0 instead of /dev/bpf (without loop though), as suggested byMartin Natano
sthen@. to make remote upgrades without media less painful. ok tb@
2016-05-03Move to /dev/bpf; ok tb jmcMartin Natano
2016-04-28If the attempt to broadcast a DCHPDISCOVER packet returns EAFNOSUPPORT,Kenneth R Westerback
don't bother to keep trying to get a lease. It ain't gonna happen. Just print and error message and exit.
2016-02-06Eliminate #include inside *.h files and include only needed headers inKenneth R Westerback
each *.c file. Inspired by mention of header silliness by Edgar Pettijohn and mmcc@ on tech@.
2016-02-03be very careful accepting packets via bpf. First check that theKenneth R Westerback
fixed part of the IP header is completely present before using its header length field. Then use the data in the IP header to ensure the entire IP packet is present. Then check that the entire UDP header is present. Then use the data in the UDP header to ensure all the data it thinks is present is actually present. Started when tj@ and a few others noticed ISC "DHCP CVE-2015-8605: UDP payload length not properly checked". ok sthen@ henning@
2016-01-26Use an unsigned int rather than an int when iterating through all 32mmcc
bits in the form: for (i = 1; i; i <<= 1) This avoids undefined operations when shifting into and out of the highest-order bit. ok millert@
2015-12-19Don't exit if a route can't be added. Just log particulars andKenneth R Westerback
let someone else figure it out. ok mpi@
2015-12-19Delete superfluous "continue;" just before end of loop.Kenneth R Westerback
2015-12-19Delete superfluous "close(s);return" just before "close(s);<functionKenneth R Westerback
exit>".
2015-12-18Check ioctl() result with == -1, not < 0. Break long line.Kenneth R Westerback
2015-12-12Send DECLINE messages in response to ACK messages that turn out toKenneth R Westerback
have inadequate or invalid leases. In particular leases for addresses that are already configured on a different interface. After the DECLINE, return to INIT state and start looking for a valid lease. This conforms much closer to the relevant RFC's. Avoids 'hanging' dhclient(8) during boot when the attempt to configure the address fails without dhclient(8) realizing it. Issue found and various fixes tested by mpi@. Feedback from beck@ and reyk@. ok mpi@
2015-12-10Pledge.Kenneth R Westerback
Diff from Ricardo Mestre. ok deraadt@
2015-12-07Convert to arc4random_uniform.tb
ok krw@
2015-12-05EAGAIN handling for imsg_read. OK henning@ benno@Claudio Jeker
2015-12-03No need to continuously check the current rdomain of the interfaceKenneth R Westerback
using the SIOCGIFRDOMAIN ioctl. If the rdomain is changed an RTM_IFINFO message is generated on the old rdomain indicating the interface is down. This will cause dhclient to exit, just like our manual check did but even faster! Should make pledging easier. Behaviour confirmed by phessler@
2015-11-12When link loss is reported, cancel any active timeout and wait forKenneth R Westerback
link to return. Inadvertantly broken in r1.308. Problem noted by tedu@
2015-10-26Give dhclient(8) the ability to use option 119, a.k.a. "DomainKenneth R Westerback
Search" if supplied by the server. Requested by a few. Original diff from Ray Lai via tech@. Tested & ok claudio@
2015-09-08Correct strsep() usage to free() correct string. Spotted by andKenneth R Westerback
original diff from Michael McConville via tech@. Thanks! ok millert@ beck@ guenther@ jca@
2015-09-05Some whitespace bulking out a diff unnecessarily.Kenneth R Westerback
2015-08-31Support deviant but historically blessed practice of acceptingKenneth R Westerback
multiple domain names in dhcp option 15 (Domain Name). This allows resolv.conf 'search' statements to be built with multiple entries. Adhere to the limits stated in resolv.conf(5) - no more than 6 domains and less than 1024 characters total length. Encountered in the wild and fix tested by beck@. Feedback from deraadt@
2015-08-19Missing prototypes. Noted by deraadt@Kenneth R Westerback
2015-05-18Tweak parsing so that hostnames starting with 0-9 are accepted.Kenneth R Westerback
Reported long ago by matthieu@. Also Jacob Berkman via the lists. Tests and suggestions from Jacob and Matthieu.
2015-05-18Stop rejecting leases with a subnet that overlaps a subnet alreadyKenneth R Westerback
present. The latest routing stack code can now handle these situations. Much requested by beck@ and others. Detailed discussion at s2k15 identified required routing changes. ok claudio@
2015-05-02Hoist common assignments out of a series of if/if-else statementsKenneth R Westerback
in get_token(). Simplifies code and shrinks future diff. No intentional functional change.
2015-05-02Correct switch between current and previous line buffers whenKenneth R Westerback
encountering a carriage return in the input. Found by jsg@ a long time ago in a respository far, far away.
2015-04-16Tweak error output.Gleydson Soares
ok krw@
2015-02-15convert bcmp to memcmpTed Unangst
ok doug millert miod
2015-02-10Groundwork for better route support over multiple interfaces byKenneth R Westerback
using RTM_IFA to bind routes to an interface. Keep the subnet route conflict avoidance code for the time being. diff from claudio@ as part of larger routing magic diff. ok claudio@ mpi@
2015-02-08Get rid of a bunch of memset()'s where struct variables and arraysKenneth R Westerback
are clearly properly initialized in the same area. Prompted by the recent shrinkage of most imsg structs.