summaryrefslogtreecommitdiffstats
path: root/contrib/isc-dhcp/client/dhclient.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove isc-dhcp files from HEAD now that we're using the OpenBSDbrooks2005-06-291-3555/+0
| | | | | | | dhclient. Reminded by: ru Approved by: re (blanket dhclient)
* Make 'client DNS forward update' working again which got broken in rev.mbr2004-08-161-1/+3
| | | | | | | | RC9 of dhclient 3.0.1. This fix will be part of dhclient 3.0.2. It is also part of the official redhat package. Submitted by: Jason Vas Dias <jvdias@redhat.com> Discussed on: dhcp-hackers@isc.org
* Recommit removed Rev. 1.40. This fix does solve a FPE with negative leasembr2004-08-161-8/+23
| | | | | | | | | | | time as described in the PR below. It seems that this patch should have been part of the vendor tree but got accidently missed in the 3.0.1 final version. It will definitly be part of 3.0.2 but until then it's a long way to go. Submitted by: ISC (Vendor) PR: bin/54517
* It could happen that the renew/rebind times in the leasefile werembr2004-08-161-2/+13
| | | | | | | | | | | | | expired but the expire time itself was still valid and in the future. If this happened we ended up using the state S_RENEW with an INADDR_BROADCAST address set in the request and dhclient never got any answer back. The only workaround was to delete the lease file. Fix this case with a check for the S_RENEW and a fallback to the S_INIT state. PR: bin/69361 Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
* Sync a reverted part of dhclient.c with the vendor source. It seemsmbr2004-08-161-23/+8
| | | | that a buxfix from rc14 got backed out again. We do the same.
* Resolve conflicts from dhclient 3.0.1 final import.mbr2004-08-151-1/+1
| | | | No functional changes in this import.
* Fix a number of incorrect assumptions regarding the size of time_t.des2004-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | The code has its own TIME type, which is actually defined to time_t, but it still used u_int32_t in some places. In addition, dhclient not only had two separate global cur_time variables, one of which was defined as u_int32_t and the other as TIME, but cur_time was sometimes shadowed by local variables, leading to widespread confusion as to which of these variable was being referenced. There is a lesson in here somewhere: a decent compiler with warnings enabled should have caught all of this long before it became a problem. This patch has been submitted to the vendor, but it will likely be some time before they release a version that includes it. Approved by: mbr
* Resolve conflicts.mbr2004-06-261-37/+43
|
* Dhclient dumps core on suspend/resume cycles. If the client isn't activembr2004-01-251-4/+9
| | | | | | | | | then we need to go to the reboot state or in state_bound it will core on the de-reference of client -> active -> options since client -> active = NULL. While we are here, fix the indentation. Submitted by: Doug Ambrisko <ambrisko@ambrisko.com>
* If we have a working link again after connectivity loss, or if we needmbr2004-01-191-4/+27
| | | | | | | | | | to renew a lease, contact the dhcp-server directly instead of using INADDR_BROADCAST all the time. This should fix some brain-dead dhcp server implementations which give you all the time a new IP if the lease has not yet expired. Instead of using ICMP to check if the server is alive, we just check the return value of sendto() and additionally have a timeout there.
* Resolve conflicts:mbr2003-09-021-13/+35
| | | | * rev. 1.33/1.25
* Sync with ISC repo. Use SIGTERM instead of SIGKILL, make oldpid a long andmbr2003-09-021-9/+12
| | | | cast it into a pid_t.
* Change name of state_link() to state_polling() to make itmbr2003-08-101-47/+37
| | | | | | | | | | | | | | | | more clear what it does. Trim interface_active() to just do what it should do. Check if we got link or not and if the NIC supports it. No special treatment for mediachecks here anymore. Simplify the code a lot, and remove doublicated parts. Fix two minor spelling errors. Add one missing #ifdef ENABLE_POLLING_MODE Reviewed by: mdodd
* Fix devices which do not support ifm_status. Always returnmbr2003-08-091-8/+13
| | | | | | | TRUE for them. Reported by: mdodd Tested by: Craig Rodrigues <rodrigc@crodrigues.org>
* Do not poll during discover. Add a polling tunable to the interfacembr2003-08-071-4/+25
| | | | | | struct to be able to turn polling on/off. Tested by: Larry Rosenman <ler@lerctr.org>
* - Fix the polling code to work with media settings in dhclient.conf.mbr2003-08-071-36/+176
| | | | | | | | | | | | | | | | | | | | | | | | - Rename linkstatus to linkstate which is more correct. - Sort any leases each time we loose and regain link. With the first version we spammed the dhclient.leases file. - When there was no link on a interface, polling has been done twice. This has been fixed with a bigger sleep interval. - interface_active() now returns only a assumed state of the link. If we are using media settings, we cannot be sure that the link actually works. That means we assume that the link is working and continue to send requests as usual on the interface and loop over all possible media options. Polling is still done. If your interface gets suddenly link, dhclient will send a dhcp discover request. After all media settings have been tried a few times, dhclient will sleep. If one does change networks very often, it can help to set the "retry timeout" to a low value like 100 seconds. The default is over six minutes. Tested by: Larry Rosenman <ler@lerctr.org>, imp
* Change ieee802 to ieee80211.mbr2003-08-061-52/+52
| | | | | | Add bogospaces to match the ISC style. Suggested by: eivind
* Don't wait forever if there is no link, go to backgroundmbr2003-07-281-0/+2
| | | | after 2 x polling time.
* Enable dhclient to poll the interface state and send onlymbr2003-07-281-4/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | requests if the interface has an active link. This is a great benefit if you often change networks with your laptop and you do not like to kill/restart dhclient all the time. Changes are automatically detected and the link is refreshed. The change allows us to start dhclient in background mode Enable dhclient to poll the interface state and send only requests if the interface has an active link. This is a great benefit if you often change networks with your laptop and you do not like to kill/restart dhclient all the time. Changes are automatically detected and the link is refreshed. The change allows us to start dhclient in background mode while the network cable is not plugged in. To control the polling interval, the option -i has been introduced. It takes seconds as parameter, the minimum is one second, the default is five seconds. Polling is done in seconds, not microseconds, because dhclient does internally work with timeouts in seconds. This change will be part of the next major ISC-dhcpd release. Tested by: bms, imp, and many many others. Reviewed by: murray, eivind, dhclient folks
* We don't have cat(1) and kill(1) on the miniroot disks.mbr2003-03-231-9/+15
| | | | | | | | This fix will be committed to the ISC repo later, but for now take this file out of the vendor tree. Reviewed by: phk Approved by: murray
* Add a -v(erbose) flag to undo our -q(uiet) default.obrien2003-03-181-0/+3
|
* Resolve conflicts.murray2003-01-151-15/+15
| | | | (import approved by: re)
* Resolve conflicts.murray2002-09-301-4/+7
|
* Resolve conflicts:murray2002-04-011-13/+41
| | | | | | | | * $FreeBSD$ * connect std{in,out,err} (r1.19). * prefer strlcpy to strpy (r1.13). * quiet by default (r1.6). * document -D option.
* Resolve conflicts.murray2002-02-191-1112/+1953
| | | | | | | | * $FreeBSD$ * connect std{in,out,err}. (r1.19) * prefer strlcpy to strpy. (r1.13) * quiet by default. (r1.6) * document -D option.
* Connect std{in,out,err} to *something* so that "hooks" scripts that writeobrien2001-07-161-0/+7
| | | | | | | | | | to std{err,out} will not spam /etc/resolv.conf. Ted Lemon fixed the problem in version 3 of the client, but only for the pre-daemonized case. Thanks to Brian for pointing that out and helping to make our future dhclient (v3) better. Submitted by: brian
* Fix conflicts.obrien2000-11-041-1/+1
|
* Fix conflicts.obrien2000-08-091-1/+1
|
* Fix vendor bogon where one of dhcp_option_ev_name()'s formal parameterobrien2000-07-201-1/+1
| | | | | | | | types did not match the prototype. (Note: this is one bug that an Ada compiler would have found as when you typedef a new type, the new type is not assignment compatabile with the type used to make it up. C should only be so featureful.)
* Make sure we delete the PID file when we exit.obrien2000-07-201-0/+2
| | | | | Obtained from: OpenBSD rev 1.3 (this semi-security fix was hidden as a lease time fix)
* Add yet more options to usage() that the author did not document.obrien2000-07-201-2/+2
|
* Careful with long, command-line provided interface names.obrien2000-07-201-1/+1
| | | | Obtained from: OpenBSD (rev 1.7)
* Fix conflicts.obrien2000-07-201-84/+147
|
* Removed the doubled $FreeBSD$.obrien2000-06-261-2/+0
|
* Merge in rev 1.2 ("-1"), and rev 1.6 (be quiet).obrien2000-06-261-5/+11
|
* Fix -1 (onetry) fails, exit(2) rather than exit(1) so an error from thisobrien1999-06-251-3/+3
| | | | option is distingishable from other errors.
* Clean up conflicts.obrien1999-06-241-4/+5
|
* Fix conflicts.obrien1999-05-021-44/+87
|
* Be quiet by default.obrien1999-04-021-1/+1
|
* fix conflicts.obrien1999-03-221-2/+2
|
* fix conflictsobrien1999-02-281-13/+20
|
* fix conflictsobrien1999-02-111-37/+106
|
* add -1 option: Try once, if we fail, EXITobrien1999-02-101-1/+8
| | | | Obtained from: OpenBSD
* Virgin import of ISC-DHCP v2.0b1pl6obrien1999-02-101-0/+2052
OpenPOWER on IntegriCloud