Commit Graph

161 Commits

Author SHA1 Message Date
des
7c905c6c6c Fix a number of incorrect assumptions regarding the size of time_t.
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
2004-07-06 15:15:14 +00:00
mbr
4c4f36d309 Document the 64bit time_t fix. 2004-06-26 23:19:40 +00:00
mbr
4fa2b98722 Use int32_t to convert the leasetime to fix support for platforms
where time_t is 64-bit.

Submitted by:   des
2004-06-26 23:17:27 +00:00
mbr
c4efde2a38 Our dhclient-script fails to update /etc/resolv.conf if no new
domain name is given and /etc/resolv.conf doesn't exist. Fix this
by using -f (force).

Assigned to ISC as ISC-Bugs #11570

PR:		bin/67613
Submitted by:	Nikos Ntarmos <ntarmos@ceid.upatras.gr>
2004-06-26 10:47:38 +00:00
mbr
4e40f399fe Resolve conflicts. 2004-06-26 10:37:42 +00:00
mbr
1c3c0bb435 This commit was generated by cvs2svn to compensate for changes in r131136,
which included commits to RCS files with non-trunk default branches.
2004-06-26 10:34:24 +00:00
mbr
6142841dce Import ISC DHCP 3.0.1 RC14 client. 2004-06-26 10:34:24 +00:00
mbr
67b460e517 Dhclient dumps core on suspend/resume cycles. If the client isn't active
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>
2004-01-25 11:30:50 +00:00
mbr
43a6cd5e20 If we have a working link again after connectivity loss, or if we need
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.
2004-01-19 22:07:59 +00:00
mbr
27471cd774 Remove files which have been removed in the 3.01RC12 release
of isc-dhcpd.
2004-01-19 15:31:57 +00:00
mbr
3beaab2fac The previous fix (rev 1.25) is only needed in the second place. 2003-09-15 15:48:12 +00:00
mbr
1c9b641a01 Only kill the default route in the release mode if the interface
where the default route is bound to is the same device. Keep it
working for the single user or sysinstall mode, where we just do
what we did before.

Suggested by:   dougb
2003-09-15 04:47:41 +00:00
mbr
16a6960805 Restore behaviour from rev. 1.9. Only log when there is a real change
to the configuration state.

Noticed by:	obrien
2003-09-09 16:19:46 +00:00
mbr
2bba90a51f Import ISC DHCP 3.0.1 RC12 client.
- s/include/includes
- remove already merged files
2003-09-02 11:15:03 +00:00
mbr
66b631bbce Resolve conflicts. 2003-09-02 11:13:21 +00:00
mbr
bc435cf924 Resolve conflicts.
* rev. 1.22
2003-09-02 11:10:29 +00:00
mbr
30c9dcd76d Resolve conflicts:
* rev. 1.33/1.25
2003-09-02 11:09:45 +00:00
mbr
01d6785b06 Import ISC DHCP 3.0.1 RC12 client. 2003-09-02 11:01:27 +00:00
mbr
0f311740fc This commit was generated by cvs2svn to compensate for changes in r119669,
which included commits to RCS files with non-trunk default branches.
2003-09-02 11:01:27 +00:00
mbr
089f3c60d4 Sync with ISC repo. Use SIGTERM instead of SIGKILL, make oldpid a long and
cast it into a pid_t.
2003-09-02 09:09:53 +00:00
mbr
b8e0369153 Change name of state_link() to state_polling() to make it
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
2003-08-10 22:01:37 +00:00
mbr
f318bbf9d2 Fix devices which do not support ifm_status. Always return
TRUE for them.

Reported by:	mdodd
Tested by:	Craig Rodrigues <rodrigc@crodrigues.org>
2003-08-09 20:44:08 +00:00
mbr
450c201b69 Add all interface polling patches. 2003-08-07 15:00:55 +00:00
mbr
61ffd164eb Do not poll during discover. Add a polling tunable to the interface
struct to be able to turn polling on/off.

Tested by:	Larry Rosenman <ler@lerctr.org>
2003-08-07 14:58:46 +00:00
mbr
4f4415b6cd - Fix the polling code to work with media settings in dhclient.conf.
- 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
2003-08-07 07:27:14 +00:00
mbr
ff9091aff7 Change ieee802 to ieee80211.
Add bogospaces to match the ISC style.

Suggested by:	eivind
2003-08-06 15:19:52 +00:00
mbr
2d36cfc14d Fix dhclient infinite loop on ro /etc/resolv.conf
Submitted by:	C J Michaels <cjm2@earthling.net>
Reviewed by:	David W. Hankins
PR:		38778
ISC-Bug:	5754
2003-07-28 22:25:20 +00:00
mbr
df37a5270c Don't wait forever if there is no link, go to background
after 2 x polling time.
2003-07-28 13:25:04 +00:00
mbr
69ed05bf45 Define $FreeBSD$ at the right place. 2003-07-28 11:49:07 +00:00
mbr
6416064bd6 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
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
2003-07-28 08:30:11 +00:00
mbr
88c0fa436a Add notice about the local change in r1.25 2003-07-26 21:29:28 +00:00
gordon
6b7019d5ed Tweak a couple of utilities so they compile cleanly for /rescue. Mostly
path fixes.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-06-29 18:46:18 +00:00
obrien
df429f4699 Centralize _PATH_* definitions.
Submitted by:	Tim Kientzle <kientzle@acm.org> (embellished by me)
2003-05-05 22:49:23 +00:00
mbr
c1f83c0cff We don't have cat(1) and kill(1) on the miniroot disks.
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
2003-03-23 23:29:36 +00:00
obrien
501b002069 Add a -v(erbose) flag to undo our -q(uiet) default. 2003-03-18 19:46:55 +00:00
murray
ef30ad92ed We now include the dhcpctl subdirectory. 2003-01-16 19:05:56 +00:00
obrien
f8813cf88c Update for the isc_dhcp_3_0_1_rc11 import. 2003-01-16 07:53:32 +00:00
obrien
f9b2f24122 Use the stock version of this file -- all our needs have been taken care of. 2003-01-16 07:41:43 +00:00
obrien
0705e3ec53 Make the "SEE ALSO" suitable for FreeBSD. 2003-01-16 07:36:45 +00:00
obrien
206eda625a Make isc_dhcp_3_0_1_rc11's "SEE ALSO" suitable for FreeBSD. 2003-01-16 07:31:49 +00:00
murray
4a18459fb2 Import ISC DHCP 3.0.1 RC11 omshell interface. 2003-01-16 07:29:37 +00:00
murray
aa63a99d3a This commit was generated by cvs2svn to compensate for changes in r109365,
which included commits to RCS files with non-trunk default branches.
2003-01-16 07:29:37 +00:00
obrien
157434a23d Merge rev 1.6 (-D) and rev 1.8 (SEE ALSO suitable for FreeBSD) into
isc_dhcp_3_0_1_rc11.
2003-01-16 07:28:12 +00:00
obrien
247cd2063c Make isc_dhcp_3_0_1_rc11's "SEE ALSO" suitable for FreeBSD. 2003-01-16 07:23:57 +00:00
obrien
e4b571b508 Merge rev 1.2 (correct script path) and 1.6 (prefer strlcpy to strcpy)
into isc_dhcp_3_0_1_rc11.
2003-01-16 07:22:32 +00:00
obrien
ddd05ead26 Merge our spelling changes into isc_dhcp_3_0_1_rc11. 2003-01-16 07:19:43 +00:00
obrien
47bdc7b536 Import isc-dhcpd-3.0.1rc11.
This fixes a security vulnerability in the bundled resolver library.

Requested by:	scottl(re)
2003-01-16 07:04:57 +00:00
obrien
8aff4de412 This commit was generated by cvs2svn to compensate for changes in r109357,
which included commits to RCS files with non-trunk default branches.
2003-01-16 07:04:57 +00:00
murray
47afd0c330 Resolve conflicts. 2003-01-15 10:47:32 +00:00
murray
82de6974f1 Resolve conflicts.
(import approved by: re)
2003-01-15 10:44:05 +00:00