summaryrefslogtreecommitdiffstats
path: root/sbin/dhclient
Commit message (Collapse)AuthorAgeFilesLines
* Run the privileged dhclient process in its own session.ed2008-06-301-0/+1
| | | | | | | | In the MPSAFE TTY branch, I noticed PTY's to be leaked, because dhclient's privileged process was run inside the session of, say, the login shell. Make sure we call setsid() here. Approved by: philip (mentor), brooks
* Use the -n flag to route(8) when calling "route get". Otherwise we hangbrooks2008-06-091-1/+1
| | | | | | for a long time if we get a lease, but DNS isn't working. MFC after: 1 week
* When sending packets directly to the DHCP server, use a socket and sendbrooks2008-04-151-0/+15
| | | | | | | | directly rather than bogusly sending it out as a link layer broadcast (which fails to be received on some networks). PR: bin/96018 MFC after: 2 weeks
* Add a new function is_default_interface() which determines if thisbrooks2008-03-301-20/+48
| | | | | | | | | | | interface is one with the default route (or there isn't one). Use it to decide if we should adjust the default route and /etc/resolv.conf. Fix the delete of the default route. The if statement was totally bogus and the delete only worked due to a typo. [1] Reported by: Jordan Coleman <jordan at JordanColeman dot com> [1] MFC after: 1 week
* Defer state change on disassociate to avoid unnecessarily dropping thesam2008-03-221-15/+31
| | | | | | | | | | lease: track the current bssid and if it changes (as reported in an assoc/reassoc) event only then kick the state machine. This gives us immediate response when roaming but otherwise causes us to fallback on the normal state machine. Reviewed by: brooks, jhb MFC after: 3 weeks
* correct syslog mask so LOG_DEBUG msgs are not lostsam2008-03-221-1/+1
| | | | MFC after: 2 weeks
* During PREINIT, when giving the interface the address 0.0.0.0, do it as anbrooks2008-01-211-1/+1
| | | | | | | alias to avoid distrubing other addresses. PR: bin/119255 Submitted by: Jaakko Heinonen <jh at saunalahti dot fi>
* Teach dhclient(8) about net80211 link (association) status.jkim2007-12-051-1/+4
| | | | | Reviewed by: brooks MFC after: 3 days
* - Remove references to unexisting man pagesgabor2007-09-201-5/+2
| | | | | | | PR: docs/116099 Submitted by: Ben Kaduk <minimarmot@gmail.com> Approved by: re (bmah) MFC after: 3 days
* Use the -n flag on ifconfig so that dhclient does not cause the kernel modulethompsa2007-07-031-8/+9
| | | | | | | to be reloaded when the interface is torn down. Reviewed by: brooks Approved by: re (kensmith)
* The minimum size of an RFC3442 destination descriptor is five bytes, soemaste2007-04-131-1/+1
| | | | | | | correct test to -ge 5. Without this change an RFC3442 encoded default route would be ignored. Reported by: Cedric Jonas <cedric at decemplex dot net>
* Implement RFC3442, the Classless Static Route option.emaste2007-02-096-4/+137
| | | | | | | | | | | The original DHCP specification includes a route option but it supports only class-based routes. RFC3442 adds support for specifying the netmask width for each static route. A variable length encoding is used to minimize the size of this option. PR: bin/99534 Submitted by: Andrey V. Elsukov <bu7cher@yandex.ru> Reviewed by: brooks
* Add a $FreeBSD$ tag missing after the original import. Note that thisemaste2007-02-091-0/+2
| | | | file isn't actually installed; the one in src/etc is.
* Actually implement rev 1.12 for host names and NIS domain names. Webrooks2007-01-291-1/+0
| | | | | | were removing the invalid option, but still rejecting the lease. Reported by: Yoshihiko Sarumaru <mistral at imasy dot or dot jp>
* It is possible for bpf to return a length such that:brooks2006-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | length != BPF_WORDALIGN(length) This meeans that it is possible for this to be true: interface->rbuf_offset > interface->rbuf_len Handle this case in the test for running out of packets. While OpenBSD's solution of setting interface->rbuf_len to BPF_WORDALIGN(length) is safe due to the size of the buffer, I think this solution results in less hidden assumptions. This should fix the problem of dhclient running away and consuming 100% CPU. PR: bin/102226 Submitted by: Joost Bekkers <joost at jodocus.org> MFC after: 3 days
* Revert the addition of -p. It's flawed in that dhclient should not runbrian2006-08-212-25/+7
| | | | | | | on an interface without carrier. devd should be used instead to handle link up/down events. Put on the right path by: brooks, sam
* Bump the document date. s/dhclient/.Nm/brian2006-08-171-4/+7
| | | | Suggested by: ru
* Correct usage()brian2006-08-171-1/+1
|
* Add a -p switch to dhclient. The switch tells dhclient to persistbrian2006-08-172-5/+20
| | | | | | | | | | despite the interface link status. Add dhclient_flags_iface and background_dhclient_iface rc.conf options. (where iface is a specific interface). These can be used to give interface specific flags to dhclient. Reviewed by: brooks@
* Send client identifier unconditionally. My ancient D-Link router responsejkim2006-07-031-4/+0
| | | | | | | | | with NACK if I don't set it. Setting 'option dhcp-client-identifier' is alternative but it is inconvenient because I have to keep the list of all MAC addresses. As bin/94743 pointed out, it is always sent from Windows clients and I found Mac OS X does the same. OK'd by: brooks
* Remove 'n' from the getopt string. There's no -n option that isimp2006-05-231-2/+2
| | | | | | parsed, so it winds up at usage anyway. Add 'b' to the usage summary. Noticed by Ben Mesander.
* Be more like Windows and Linux and send our hostname in the host-namebrooks2006-05-071-0/+68
| | | | | | | | | option if none is given in the config file. Also add #ifdefd out support for sending a client ID based on our MAC address. PR: bin/94743, bin/76401 Submitted by: Frank Behrens <frank at pinky dot sax dot de> X-MFC after: 6.1-RELEASE
* Correct RFC for NTP.jcamou2006-02-061-1/+1
| | | | | | | PR: docs/92629 Submitted by: Daniel Gerzo <danger@rulez.sk> Noticed by: Michal F. Hanula <f@7f000001.org> Approved by: trhodes (mentor)
* Fix rev 1.12.brooks2006-01-261-1/+1
| | | | | | | | | | | | | /tmp may not be writeable yet when dhclient is first run via /etc/rc.d/netif so using it may not work. Also, writing to a predictable file in /tmp as root is a really bad idea since a malicious user may be able to win a race and insert a symlink which will allow them to cause any file to be overwritten. To solve these problems, create the tempory file in /var/run which will exist this early and is writable only by root. Security: Local risk if users can cause dhclient to run on demand (such as by unplugging and replugging the network cable).
* Give the TIMEOUT case a chance to work by using -t # instead of thebrooks2006-01-241-1/+1
| | | | | | | | OpenBSD -w # when invoking ping. PR: bin/92187 Submitted by: "Shin'ya Kumabuchi" <kumabu at t3 dot rim dot or dot jp> MFC After: 6 days
* Make dhclient-script more agreeable with read-only /etc.wes2006-01-231-9/+10
| | | | | | PR: 90518 Submitted by: John E. Hein <jhein@timing.com> MFC after: 3 days
* Mention the -b flag in the SYNOPSIS.brooks2006-01-101-1/+1
| | | | MFC after: 1 week
* When we give up on an interface, use the arp(8) command to remove allbrooks2006-01-101-2/+5
| | | | | | | | entries from the interface rather than using ifconfig's delete command. This preserves non-dhclient configured addresses (though they are wiped out when dhclient is restarted). MFC after: 1 week
* Allow users to add aliases to the interface.brooks2006-01-101-13/+13
| | | | | PR: bin/87465 (different solution used) MFC after: 1 week
* When we get a bogus hostname in an option, drop the option rather thanbrooks2005-12-101-1/+4
| | | | | | | refusing the lease. This allow obtaining leases on misadministered networks that use host names with underscores in them. MFC After: 3 days
* Avoid updating resolv.conf when no changes have actually occured.brooks2005-09-081-0/+10
| | | | Submitted by: ume
* When we fail to aquire a lease, our lease expires without a sucessfulbrooks2005-09-081-0/+1
| | | | | | | | | renewal, or we lose link, be more forceful about clearing interface state so another interface that connects to the same network has a chance of working. This doesn't address attemping to connect to both at once, but appears to allow unplugging from a wired interface and then inserting a wireless card that associates with an AP bridged to the same LAN.
* When we supersed the subnet-mask, write the forced value to the leasebrooks2005-09-021-10/+14
| | | | | | file. This is what the ISC client does. Submitted by: Rostislav Krasny <rosti dot bsd at gmail dot com>
* Introduce a new helper function check_search() derived for res_hnok tobrooks2005-08-301-0/+56
| | | | | | | | | | | | | | | check the domain-name parameter according to the rules for "search" strings as documented in resolv.conf(5). Specifically, the string must be no more than 256 bytes long and contain no more than six valid domain names separated by white space. The previous unchecked values could result in a mangled resolv.conf file which could effectively deny access to local sites. This is not a security issue as rogue dhcp servers could already do this without sending invalid strings. Reviewed by: cperciva MFC After: 3 days
* The $medium string often contains quoted values with spaces in them (ssids,brooks2005-08-261-6/+6
| | | | | | | for example). Follow the example of the ISC script and wrap ifconfig calls using $medium in eval "..." so this works. Reported by: iedowse
* In read_string(), when the last character was a backslash, unincrementbrooks2005-08-261-0/+1
| | | | | | the output index instead of keeping what ever trash was in the buffer. Reported by: iedowse
* Use a more robust, grep-free command to get the interface of the currentbrooks2005-08-261-2/+1
| | | | | | default route. Submitted by: Rostislav Krasny <rosti dot bsd at gmail dot com>
* Don't and/remove a route to our assigned IP through 127.0.0.1. Itbrooks2005-08-261-4/+4
| | | | | | | serves no apparent purpose (we commented this out ages ago in the ISC scripts) and cases problems with some ADSL setups. Reported by: Rostislav Krasny <rosti dot bsd at gmail dot com>
* MFOpenBSD rev 1.9: fix a buffer overflow when processing config filebrooks2005-08-241-1/+1
| | | | | | | lines that are exactly 81 characters in length. Obtained from: OpenBSD MFC After: 3 days
* Add __FBSDID to all .c files in dhclient to aid in determining filebrooks2005-08-2316-4/+48
| | | | versions when dealing with user problems.
* FreeBSD unconditionally supports write filters now.csjp2005-08-231-2/+0
|
* Further fix receive_packet() by using BPF_WORDALIGN to insure the offsetbrooks2005-07-281-5/+15
| | | | | | is properly aligned when we move to the next packet. Obtained from: ISC dhclient via krw at OpenBSD
* Don't reject packets with server names containing characters that arebrooks2005-07-281-7/+6
| | | | | | | not allowed in domain names. RFC 2132 does not list valid or invalid characters and the ISC client accepts anything here. Reported by: ps
* Fix a bug in the handling of cases where we got a short (or zero)brooks2005-07-271-4/+4
| | | | | | | | capture. Zero length captures caused an infinte loop and short captures probably caused memory corruption and a crash. Reported by: many MFC After: 3 days
* s/if_defaulroute/if_defaultroute/brooks2005-07-261-1/+1
| | | | We may now handle route updates better.
* Change host-name from type "X" to type "t". This allows the client tobrooks2005-07-251-1/+2
| | | | | | | | | | | | | | | | | accept NUL-terminated strings as required by RFC 2132. This solution is not perfect as it removes the ability to send NUL-terminated host-name options which may be required by some broken servers. Given the current lack of an existance proof of such servers and the fact that servers that send NUL-terminated domain names do exist, this seems like an acceptable compromise. A discussion of these issues can be found at: http://marc.theaimsgroup.com/?l=dhcp-client&m=96837107208382&w=2 PR: bin/83468 Reported by: Sean Winn <sean at gothic dot net dot au> MFC-after: 3 days
* treat REASSOC events just like ASSOCsam2005-07-251-0/+1
| | | | MFC after: 3 days
* Bump document date.marks2005-07-201-1/+1
| | | | Reminded by: ru
* Document -b flag of dhclient.marks2005-07-201-0/+4
| | | | | Reviewed by: ru MFC after: 3 days
* Don't complain when we receive smtp, pop, nntp, www, finger, and ircbrooks2005-06-302-0/+13
| | | | | | | server options. Reported by: Max Boyarov <max_b at tut dot by> Approved by: re (dhclient blanket)
OpenPOWER on IntegriCloud