summaryrefslogtreecommitdiff
path: root/sbin/dhclient
AgeCommit message (Collapse)Author
2008-06-07stop spurious "got link" which nooone noticed, but everyone should have; ok krwTheo de Raadt
2008-05-26If an interface has no link at startup, try to force it up, and thenTheo de Raadt
give it about 4 seconds of (silent) grace period before doing the verbose search for a link... tested by various developers who got burned a bit
2008-05-09- don't give up when the link is not available on startup: dhclientReyk Floeter
goes to background and listens on the routing socket for link to come up before it retries. - renew the lease whenever the link was lost and becomes active again. - listen for link state changes on non-ethernet devices like wireless, the link state becomes active when the wireless has been associated to the AP and becomes active. this helps to automatically renew the lease when the user is roaming. ok beck@, deraadt@
2008-03-12Code was not passing script exit status; fix with macro.Hugh Graham
deraadt@ OK
2007-11-12dont spew debug output when the SIOCGIFMEDIA ioctl errors with ENOTTY.David Gwynne
ok krw@ henning@
2007-10-16sync the synopsis and usage of commandsIgor Sobrado
ok jmc@
2007-10-16"script" does not belong in the lease declaration section;Jason McIntyre
from Vincent GROSS ok henning
2007-09-02use calloc() to avoid malloc(n * m) overflows; checked by djm canacar jsgTheo de Raadt
2007-08-14make default_lease_time a #define; ok krw@ henning@Kevin Steves
2007-08-11Kill a couple of 'echo' statements that can never produce visibleKenneth R Westerback
output. i.e. not visible on the screen, nor in any log. If nothing else, makes dhclient-script smaller for install media. 'yesh kill' (sic) henning@
2007-07-18eliminate duplicate code to open lease file and just open atKevin Steves
startup; ok krw@ henning@
2007-06-02safer snprintf construct with more paranoid length calculationPeter Valchev
ok millert
2007-05-31fix a funny memory miscalculation bug in options parsingPeter Valchev
ok henning otto theo
2007-05-31convert to new .Dd format;Jason McIntyre
2007-03-02caret missing, From: "Matthew R. Dempsky" <mrd@alkemio.org>Henning Brauer
2007-03-02and the second use of the spaces array might overflow too, in anotherHenning Brauer
way...
2007-03-02If a syntax error is found past 80 columns, parse_warn accessed memoryHenning Brauer
outside of the `spaces' array when trying to print the caret marker found by "Matthew R. Dempsky" <mrd@alkemio.org>, fix inspired by a.velichinsky@gmail.com. discussed with krw
2007-02-25No point in using zero'd fields in the parsed options. Use the optionsKenneth R Westerback
in the lease, whence the parsed info was moved. Fixes "Bogus servername" messages when processing an offer and stops bogus filename info from being stored in the lease. Found while testing a Tucson hotel's dhcp service. ok @stevesk "looks good" henning@.
2007-02-25remove unused/dangling prototypes and comment reference;Kevin Steves
from Mark Lumsden
2007-02-25no need to quote/escape here; ok krw@Kevin Steves
2007-02-15make read connection closed message a debug(); ok henning@Kevin Steves
2007-02-14spacing and a typo that fell out of the readTheo de Raadt
2007-02-14use errwarn functions vs. syslog(); ok henning@ krw@Kevin Steves
2007-02-13move includes only needed in dhclient.c; ok henning@Kevin Steves
2007-02-13error check socket() return; ok henning@Kevin Steves
2007-02-01Don't count ethernet as overhead for UDP packet constuction. GivesKenneth R Westerback
14 more bytes of option space! A change ISC made a long time ago. ok stevesk@ (DHCP) canacar@ (bpf)
2007-01-29Don't malloc memory to store option data in leases, just appropriateKenneth R Westerback
the malloc'd memory from the parsed option buffer since it would be thrown away after the copy anyway. 'looks sane' millert@
2007-01-27We only poll on the bpf fd and the routing socket fd. No need forKenneth R Westerback
complex list code to keep track. So nuke it. Also eliminate unnecessary variable ('dead') that means 'rfdesc is closed'. Just set rfdesc to -1 when it is closed and use that. As suggested by millert@ and claudio@, don't bother setting revents members to zero since poll() does that. Np functional change, just less code. 'looks good' claudio@ 'I like where this is going' henning@
2007-01-25Cleanup some more code. Eliminate dhcp(), bootp(), parse_options() byKenneth R Westerback
moving the minimal code into do_packet(). Eliminate repeated code for checking the client hardware address and the reject list by putting those checks into do_packet as well. No functional change, just much easier to read. ok stevesk@
2007-01-16More cleanup. Eliminate 'struct packet' by cleverly passing asKenneth R Westerback
parameters just those things actually needed and using existing structs and information. No functional change. ok stevesk@
2007-01-14Don't treat any packet with an invalid option buffer or an invalidKenneth R Westerback
message type option of 0 as a BOOTP offer. Don't process any option buffer after one is found to be corrupt. Don't process overflow buffers in a BOOTP packet. At least try to accept DHCP offers even if a bad options buffer is encountered. Brings code more into line with current ISC dhclient. ok stevesk@
2007-01-11Since bootp_packet_handler is always set to do_packet before weKenneth R Westerback
process any packets, eliminate that abstraction and just call do_packet directly. No functional change. ok stevesk
2007-01-11remove unused #define DHCP_MIN_LENKevin Steves
2007-01-11Reject all packets with an option claiming to extend past the end ofKenneth R Westerback
an option buffer. No longer accept the 6th such packet. From ISC. ok ckuethe@ stevesk@
2007-01-08Don't leak strings.Kenneth R Westerback
ok miod@
2007-01-08Initialize incoming packet buffer with DHO_END (0xff) rather thanKenneth R Westerback
DHO_PAD (0x00) so that option scanning will terminate on hitting initialized data rather than scanning and ignoring trailing DHO_PAD characters. Suggested by & ok stevesk
2007-01-06Fix options parsing. Last commit lost the proper length of theKenneth R Westerback
incoming packet. But since we bzero() the packet buffer before copying the incoming data into it, and the options are at the end, and we use a fixed sized buffer, and 0's are ignored as pad options, and proper option lists end with 0xff, it's simplier to always try to scan the whole buffer. Problem found by, and patch tested by kettenis@.
2007-01-04Eliminate the 'len' parameter from send_packet() since it alwaysKenneth R Westerback
contains the global value client->packet_length. Use client->packet_length. No functional change. Suggested by stevesk@.
2007-01-04Another round of cleanup. There is only one instance of structKenneth R Westerback
dhcp_packet and it is contained in the global *client. So don't pass around pointers to a struct that contains a pointer to the dhcp_packet instance. Just use the global client->packet. Eliminate unused struct packet members and parameter lists accordingly. No functional change. Suggestions by stevesk@. ok stevesk@
2007-01-04<sys/un.h> not neededKevin Steves
2006-12-28please lintTheo de Raadt
2006-12-28parenthesis not needed here; consistent with usage in other areas.Kevin Steves
no binary change.
2006-12-28small knf (extra space, newline)Kevin Steves
2006-12-28no extra "\n" in note(); ok krw@ henning@Kevin Steves
2006-12-27Since we only have the single global struct interface_info, weKenneth R Westerback
obviously have single global struct client_state and struct client_config nested inside interface_info and client_state respectively. Pull them out to their own global variables and eliminate a bunch (i.e. hundreds) of multi-level dereferences. Make it much nicer to read. No functional change. "makes sense" henning@ Testing stevesk@, ok stevesk@
2006-12-26Our dhclient only handles one interface. Simplify code by using theKenneth R Westerback
single, global, instance of 'struct interface_info' (ifi) rather than passing around pointers to it. "I agree" henning@ Testing moritz@ stevesk@, ok stevesk@
2006-12-26There must be no alias address set, so check ifi->client->aliasMoritz Jodeit
for NULL before dereferencing it. OK henning@ krw@ deraadt@
2006-12-22delete prototypes for functions that don't existKevin Steves
2006-12-18remove statement for send parameter: "except that the client canKevin Steves
specify a dhcp-lease-time option other than the default requested lease time, which is two hours". we don't by default send a dhcp-lease-time option in request/discover. ok jmc@, henning@ 'if you are sure'
2006-12-18this is clearer and consistent with other areas; ok henning@Kevin Steves