Commit Graph

105 Commits

Author SHA1 Message Date
Martin Blapp
a74e1146f3 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
Martin Blapp
cf5d2c6934 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
Martin Blapp
51adeba1aa The previous fix (rev 1.25) is only needed in the second place. 2003-09-15 15:48:12 +00:00
Martin Blapp
2d5e32058b 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
Martin Blapp
864ce58afa 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
Martin Blapp
fb26c675fb Resolve conflicts. 2003-09-02 11:13:21 +00:00
Martin Blapp
c262a571d1 Resolve conflicts.
* rev. 1.22
2003-09-02 11:10:29 +00:00
Martin Blapp
09f775bd13 Resolve conflicts:
* rev. 1.33/1.25
2003-09-02 11:09:45 +00:00
Martin Blapp
a26181dca1 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
Martin Blapp
e32ea5472a 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
Martin Blapp
0b284f2c7c 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
Martin Blapp
44b6b1aaa4 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
Martin Blapp
ceef306a27 - 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
Martin Blapp
40e0881fab Change ieee802 to ieee80211.
Add bogospaces to match the ISC style.

Suggested by:	eivind
2003-08-06 15:19:52 +00:00
Martin Blapp
565f17391d 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
Martin Blapp
ca27808a34 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
Martin Blapp
636a538d15 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
David E. O'Brien
8d5c19ffbc Centralize _PATH_* definitions.
Submitted by:	Tim Kientzle <kientzle@acm.org> (embellished by me)
2003-05-05 22:49:23 +00:00
Martin Blapp
b0f74fbd3a 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
David E. O'Brien
ae573770aa Add a -v(erbose) flag to undo our -q(uiet) default. 2003-03-18 19:46:55 +00:00
David E. O'Brien
ee0e0df35c Make the "SEE ALSO" suitable for FreeBSD. 2003-01-16 07:36:45 +00:00
David E. O'Brien
6e38cc5509 Make isc_dhcp_3_0_1_rc11's "SEE ALSO" suitable for FreeBSD. 2003-01-16 07:31:49 +00:00
David E. O'Brien
1888ca53cd 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
David E. O'Brien
cf2acbc3a2 Make isc_dhcp_3_0_1_rc11's "SEE ALSO" suitable for FreeBSD. 2003-01-16 07:23:57 +00:00
David E. O'Brien
bd6635cff2 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
David E. O'Brien
41f294aba1 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
David E. O'Brien
5ad7270f30 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
Murray Stokely
d4bba2e43d Resolve conflicts. 2003-01-15 10:47:32 +00:00
Murray Stokely
1593a68cca Resolve conflicts.
(import approved by: re)
2003-01-15 10:44:05 +00:00
Murray Stokely
8a71375ab6 Import ISC DHCP 3.0.1 RC10 client. 2003-01-15 10:31:26 +00:00
Murray Stokely
d294e7fb70 Resolve conflicts. 2002-09-30 08:45:34 +00:00
Murray Stokely
c36726bfe1 Import ISC DHCP 3.0.1 RC9 client. 2002-09-30 08:39:27 +00:00
Murray Stokely
41156c80b5 Resolve conflicts. 2002-04-01 08:09:50 +00:00
Murray Stokely
d04685cfb2 Resolve conflicts:
* $FreeBSD$
  * connect std{in,out,err} (r1.19).
  * prefer strlcpy to strpy (r1.13).
  * quiet by default (r1.6).
  * document -D option.
2002-04-01 08:02:18 +00:00
Murray Stokely
09ba34e687 Resolve conflicts:
* $FreeBSD$ line.
  * Prefer strlcpy to strcpy (r1.6).
  * dhclient-script pathname.
2002-04-01 07:59:50 +00:00
Murray Stokely
33075c330b Import ISC DHCP 3.0.1 RC8 client. 2002-04-01 07:54:44 +00:00
Murray Stokely
a2f98fcc9e Resolve conflicts. Remove references to dhcpd from the man page,
since only the client exists in the base system.
2002-02-19 12:43:18 +00:00
Murray Stokely
e51a769ab7 Resolve conflicts.
* Space the output consistently. (r1.19)
  * Use the cleaner "-n" syntax instead of comparing against "". (r1.17)
  * Fix arp invocation. (r1.13)
2002-02-19 12:10:40 +00:00
Murray Stokely
74a4b94fe6 Resolve conflicts.
* $FreeBSD$
  * Fix numerous typos.
  * Use correct path for dhclient-script.
2002-02-19 12:07:09 +00:00
Murray Stokely
727d8dcff2 Resolve conflicts.
* $FreeBSD$
  * connect std{in,out,err}. (r1.19)
  * prefer strlcpy to strpy. (r1.13)
  * quiet by default. (r1.6)
  * document -D option.
2002-02-19 12:04:29 +00:00
Murray Stokely
5e84f73d96 Resolve conflicts :
* $FreeBSD$ id, obrien copyright.
  * Document the -D option. (r1.6)
  * Correct man page reference and fix typo. (r1.8)

Reviewed by: obrien
2002-02-19 12:00:47 +00:00
Murray Stokely
92c4d51b6d Resolve conflicts :
* $FreeBSD$ line.
  * Remove dhcpd and dhcprelay from the SEE ALSO section, since these
    are not in the base system.
2002-02-19 11:57:47 +00:00
Murray Stokely
c31fe933fc Resolve conflicts :
* $FreeBSD$ line.
  * Prefer strlcpy to strcpy (r1.6).
  * dhclient-script pathname.
2002-02-19 11:55:09 +00:00
Murray Stokely
ce99b771f8 Import ISC DHCP 3.0.1 RC6 client. 2002-02-19 11:04:34 +00:00
Murray Stokely
4f80634345 This commit was generated by cvs2svn to compensate for changes in r90908,
which included commits to RCS files with non-trunk default branches.
2002-02-19 11:04:34 +00:00
Giorgos Keramidas
0063afffd5 dhclient-script.conf lives in /etc and not /sbin.
PR:		docs/32008
Submitted by:	John E Hein <jhein@timing.com>
Approved by:	obrien
2002-01-23 13:56:41 +00:00
David E. O'Brien
06cb5f26f7 Connect std{in,out,err} to *something* so that "hooks" scripts that write
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
2001-07-16 01:56:48 +00:00
David E. O'Brien
393efa2bde Consistently space the output. 2001-03-31 09:26:03 +00:00
David E. O'Brien
c6c78b97ca * Consistently use the `make_resolv_conf' function.
* Better handling of the 127.0.0.1 route.
* Minor style tweak to reduce diffs from v3 script and ours.

Obtained from:	ISC v3 client script
2000-11-04 20:45:35 +00:00
David E. O'Brien
7b9e3929de Fix conflicts. 2000-11-04 19:59:11 +00:00