summaryrefslogtreecommitdiff
path: root/sbin/dhclient
AgeCommit message (Collapse)Author
2020-07-07Revert r1.121 and rewrite merge_option_data() to achieve same effectKenneth R Westerback
w/o using string functions on data that *MIGHT NOT* be NUL terminated. Fiddle parse_domain_name_list() to avoid string functions for the same reason. Problem encountered by Jesper Wallin when running with vm.malloc_conf=CFGJUR, although he later proved 'J' (more junking) was the actual trouble maker.
2020-06-03Simplify logic in add_route(), eliminating pointless code duplication andKenneth R Westerback
improving clarity. No intentional functional change.
2020-05-28A few stray 'ifa' overloadings.Kenneth R Westerback
2020-05-28Reduce 'ifa' overloading by renaming some parameters 'address'.Kenneth R Westerback
2020-05-28Reduce 'ifa' overloading by renaming proposal field from 'ifa' toKenneth R Westerback
'address'.
2020-05-26Wrap some overly long lines.Kenneth R Westerback
2020-05-26Nuke a superflous local array in release_lease().Kenneth R Westerback
2020-05-21Rename various parameters and variables to eliminate misleadingKenneth R Westerback
allusions to 'rtstatic'.
2020-05-21extract_classless_route() -> extract_route() as there is only the one routeKenneth R Westerback
extraction function.
2020-05-21Rename route_in_rtstatic() to route_pos() to more clearly reflect itsKenneth R Westerback
current usage.
2020-05-20Remove no longer necessary RTLEN.Kenneth R Westerback
2020-05-20Fix typo in comment.Kenneth R Westerback
2020-05-20Rename proposal{} fields rtstatic_len, rtsearch_len and rtdns_len toKenneth R Westerback
routes_len, domains_len, ns_len. Removes obsolete alignment with names of RTM_PROPOSAL fields and makes code easier to read. No intentional functional change.
2020-05-20Replace fixed 128-byte fields for search domains, static routes andKenneth R Westerback
domain name servers with variable sized uint8_t chunks. Allows larger lists of search domains and static routes while making common situations use much less memory. Original report of breaching the 128-byte limit for static routes from James Cook via misc@. Testing of various versions by Andreas Kusalananda.
2020-05-19Eliminate imsg_propose{}, imsg_revoke{} and imsg_tell_unwind{} asKenneth R Westerback
unnecessary wrappers, since they all contained a single field that could be used as is. Suggested by claudio@
2020-05-15Shuffle and tweak code in lease_as_proposal() to allocate the proposalKenneth R Westerback
after the variable length data (static routes, search path, dns servers) sizes are deteremined. No intentional functional change. Allows potential change to variable length proposals.
2020-05-15Fix domain-search option processing. Testing one value and then usingKenneth R Westerback
a different value to limit memcpy() is a bad thing. Discovered & fix tested by Andreas Kahari. Thanks!
2020-05-15Be more careful in extracting the uint16_t value of interface-mtu, andKenneth R Westerback
in printing the int field we store it in. i.e. '%d' not '%u. Discovered while tracking down breakage reported by Andreas Kahari on bugs@.
2020-05-14Massage merge_option_data() to be more careful when dealing with 'D'Kenneth R Westerback
(domain search) and 't' (text) options. Enables append/prepend for the domain-search option by inserting blanks between the domains and ensures the presence of a terminating NUL when merging text.
2020-05-13Repair 'domain-search' parsing broken in r1.191.Kenneth R Westerback
2020-05-13We don't count a terminating NUL in the length of option data.Kenneth R Westerback
2020-05-13Nuke a variable that is always set to 0.Kenneth R Westerback
2020-05-13No need to memcpy() into a string created by strdup().Kenneth R Westerback
2020-05-09Shuffle and clarify logic creating the contents of resolv.conf.Kenneth R Westerback
No intentional functional change.
2020-05-08Nuke unneeded 'inits' field in struct proposal. 'mtu' being 0 is enough of a ↵Kenneth R Westerback
clue to avoid setting interface mtu.
2020-05-08Nuke 'set but never used' addrs field in struct proposal.Kenneth R Westerback
2020-04-27If the DHCP server disappears between OFFER'ing and ACK'ing a lease,Kenneth R Westerback
stop trying to get an ACK from that server after 'timeout' seconds. Give up and try to get another lease. Possible infinite loop pointed out by Alexander Markert on tech@.
2020-04-26Tighten up NAK handling. Inform unwind when the active lease isKenneth R Westerback
discarded. Update leases file when active lease is discarded. Discard NAK'ed offers even if there is no active lease. Always transition to INIT. Issues discovered after inappropriate behaviour resported by Alexander Markert and Pierre Emeriaud.
2020-04-24Stray whitespace.Kenneth R Westerback
2020-04-21Send broadcast packets to INADDR_BROADCAST, not INADDR_ANY.Kenneth R Westerback
Should fix '-r' (a.k.a. release a lease) for leases without a valid DHCP_SERVER_IDENTIFIER. Spotted by Alexander Markert. Thanks!
2020-04-09No need to check for NULL before free().Kenneth R Westerback
From Geoff Hill.
2020-02-10briefly mention /etc/examples/ in the FILES section of all theIngo Schwarze
manual pages that document the corresponding configuration files; OK jmc@, and general direction discussed with many
2020-02-02Tweak dhclient(8) timing defaults depending on SMALL rather than usingKenneth R Westerback
/dev/stdin to fake a dhclient.conf file during install. Simplifies and shortens install.sub code. Allows further restrictions to be applied to '-c' specified files.
2020-01-26Don't validate '-c' with S_ISREG(). The install script uses /dev/stdin.Kenneth R Westerback
Noticed by sebastia@
2020-01-24Allow carp(4) interfaces to be configured via dhcp.Kenneth R Westerback
Original diff & testing from dtucker@ ok beck@ dtucker@
2020-01-23Separate command line syntax parsing from semantic validation ofKenneth R Westerback
command line contents. Display usage() when syntax is incorrect and relevant error messages when semantic checks fail. More akin to the way other commands handle the syntax/semantic split. Idea taken from a larger diff by kn@. ok kn@
2020-01-20Move warning about DHO_STATIC_ROUTES (option 33) to debug.Kenneth R Westerback
Continued emittance noticed by mlarkin@ ok florian@
2019-12-17Reject leases that do not provide a subnet mask for the address beingKenneth R Westerback
provided. Restores behaviour previously provided by the default dhclient.conf.
2019-11-27use _PATH_ names for unveil if possibleTheo de Raadt
2019-11-22Polish logic talking to unwind.Kenneth R Westerback
ok florian@
2019-11-22DNS Proposals are treated as replacements in unwind now.Florian Obser
To withdraw a proposal sent an empty list of nameservers. This one is a bit of a hack by me to keep everything in sync for now. A better version from krw is coming soon.
2019-11-19Inform unwind about DNS servers it finds in leases.Kenneth R Westerback
ok florian@
2019-11-06No need to write resolv.conf after deciding to get a new lease,Kenneth R Westerback
or after deciding to terminate or when AUTOCONF4 is not set.
2019-11-06Correct the logic deciding when to write resolv.conf.Kenneth R Westerback
Fixes switching back to wifi relevant resolv.conf when wired interface loses link.
2019-10-31Constrain and correct the routes being deleted when applying a newKenneth R Westerback
lease. Constrain by only looking at static routes, which are the only kind dhclient will add. Correct by realizing direct /32 routes in the lease look different when returned from the routing table. Further correct route comparison by applying appropriate netmask to both destination addresses before comparing them. Fixes "arpresolve: ... route contains no arp information" issue reported on bugs@. Much problem analysis and fix testing by Lauri Tirkkonen. Thanks!
2019-08-06Use pw->pw_dir when chroot'ing, not _PATH_VAREMPTY.Kenneth R Westerback
Brings various dhcp related daemons into line with the common idiom. ok florian@
2019-08-05dhclient.leases(5) is not required for dhclient(8) to work, so justKenneth R Westerback
carry on if it can't be accessed. e.g. if /var/db is not present in single user mode.
2019-08-05If the leases file cannot be opened for writing, just issue a warningKenneth R Westerback
and carry-on. Similar to treatment of /etc/resolv.conf[.tail]. Lets /var/db/dhclient.leases.if be on RO filesystem.
2019-08-01Don't leak resolv.conf contents.Kenneth R Westerback
2019-07-31space between macro arg and punctuation;Jason McIntyre