Commit Graph

96 Commits

Author SHA1 Message Date
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
David E. O'Brien
33abda25ac Import Patchlevel 5 of the ISC 2.0 dhcp client. 2000-11-04 19:57:10 +00:00
David E. O'Brien
4a0d94aa19 Fix conflicts. 2000-08-09 18:38:26 +00:00
David E. O'Brien
3b5006fdf4 Vendor approved fix where with some CIDR subnets, dhclient would set the
broadcast address to the [sub]net address.

Approved by:	Ted Lemon <mellon@nominum.com>
Submitted by:	Ben Smithurst <ben@scientia.demon.co.uk>
2000-08-09 18:37:31 +00:00
David E. O'Brien
084059f84f Use the cleaner "-n" syntax w/in [] rather then compare against `""'.
Submitted by:	green
2000-07-28 09:20:39 +00:00
David E. O'Brien
df463686ea Prevent 'set' from it interpreting the shell var as an argument.
Submitted by:	green
2000-07-28 08:53:40 +00:00
David E. O'Brien
8e128180b2 The result of 'set' gives parameters starting with $1, not $0.
Submitted by:	green
2000-07-28 08:46:08 +00:00
David E. O'Brien
cfcf9e97c9 Back out rev 1.12 (safe quoting) until I have a chance to rework the change
and get wider testing.  Too many people are having problems with the
script in its current form.
2000-07-24 20:50:18 +00:00
David E. O'Brien
61203ed3a0 Fix vendor bogon where one of dhcp_option_ev_name()'s formal parameter
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.)
2000-07-20 19:51:37 +00:00
David E. O'Brien
e6d7feef80 Careful with long, command-line provided interface names.
Obtained from:	OpenBSD (rev 1.5)
2000-07-20 09:56:18 +00:00