Shawn Routhier [Wed, 18 May 2011 20:01:55 +0000 (20:01 +0000)]
Client Script fixes
[ISC-Bugs #23045] Typos in client/scripts/openbsd
[ISC-Bugs #23565] In the client scripts add a zone id (interface id) if
the domain search address is link local.
[ISC-Bugs #1277] In some of the client scripts add code to handle the
case of the default router information being changed without the address
being changed.
Tomek Mrugalski [Thu, 12 May 2011 14:01:15 +0000 (14:01 +0000)]
- If a client renews before 'dhcp-cache-threshold' percent of its lease
has elapsed (default 25%), the server will reuse the allocated lease
(provide a lease within the currently allocated lease-time) rather
than extend or renew the lease. This absolves the server of needing
to perform an fsync() operation on the lease database before reply,
which improves performance. [ISC-Bugs #22228]
Shawn Routhier [Wed, 11 May 2011 00:47:22 +0000 (00:47 +0000)]
Minor code cleanups - but note port change for #23196
[ISC-Bugs #23470] - Modify when an ignore return macro is defined to
handle unsed error return warnings for more versions of gcc.
[ISC-Bugs #23196] - Modify the reply handling in the server code to
send to a specified port rather than to the source port for the incoming
message. Sending to the source port was test code that should have
been removed. The previous functionality may be restored by defining
REPLY_TO_SOURCE_PORT in the includes/site.h file. We suggest you don't
enable this except for testing purposes.
[ISC-Bugs #22695] - Close a file descriptor in an error path.
[ISC-Bugs #19368] - Tidy up variable types in validate_port.
Tomek Mrugalski [Tue, 10 May 2011 14:38:58 +0000 (14:38 +0000)]
Linux Packet Filter interface improvement. sockaddr_pkt structure is used,
rather than sockaddr. Packet ethertype is now forced to ETH_P_IP.
[ISC-Bugs #18975]
Documentation fixes
[ISC-Bugs #17959] add text to AIX section describing how to have it send
responses to the all-ones address.
[ISC-Bugs #19615] update the includes in dhcpctl/dhcpctl.3 to be more correct
[ISC-Bugs #20676] update dhcpd.conf.5 to include the RFC numbers for DDNS
The DHCP server now responds to DHCPLEASEQUERY messages from agents using
IP addresses not covered by a subnet in configuration. The server also
returns vendor-class-id option, if client sent it. [ISC-Bugs #21094]
- Parameters configured to evaluate from user defined function calls can
now be correctly written to dhcpd.leases.
- If a 'next-server' parameter is configured in a dynamic host record via
OMAPI as a domain name, the syntax written to disk is now correctly parsed
upon restart. [ISC-Bugs #22266]
Several time related improvements:
- set initial delay to 0 to speed up client start
- added 'initial-delay' parameter to possibly revert to old behavior
- better handling of very short (1 or 2s) leases
- client lease records are recorded at most once every 15 seconds
- ICMP ping-check is now timed more precisely
- Servers that don't offer lease-time are now black-listed
[ISC-Bugs #19660]
Add the option "--no-pid" to the client, relay and server code,
to disable writing a pid file. Add the option "-pf pidfile"
to the relay to allow the user to supply the pidfile name at
runtime. Add the "with-relay6-pid-file" option to configure
to allow the user to supply the pidfile name for the relay
in v6 mode at configure time.
[ISC-Bugs #23351] [ISC-Bugs #17541]
Shawn Routhier [Thu, 24 Mar 2011 21:17:08 +0000 (21:17 +0000)]
In dhclient check the data for some string options for
reasonableness before passing it along to the script that
interfaces with the OS. [ISC-Bugs #23722] CVE: CVE-2011-0997
Shawn Routhier [Fri, 18 Feb 2011 18:26:46 +0000 (18:26 +0000)]
Handle some DDNS corner cases better. Maintain the DDNS transaction
information when updating a lease and cancel any existing transactions
when removing the ddns information.
[ISC-Bugs #23103]
Shawn Routhier [Thu, 20 Jan 2011 19:37:51 +0000 (19:37 +0000)]
When processing a request in the DHCPv6 server code that specifies
an address that is tagged as abondened (meaning we received a
decline request for it previously) don't attempt to move it from
the inactive to active pool as doing so can result in the server
crshing on an assert failure. Also retag the lease as active
and reset it's timeout value.
[ISC-Bugs #21921]
Shawn Routhier [Thu, 30 Dec 2010 22:43:33 +0000 (22:43 +0000)]
Disable the use of kqueue in the ISC library. This avoids a problem
between the fork and socket code that caused the dhcpd process to
use all available cpu if the program daemonized itself.
[ISC-Bugs #21911]
Shawn Routhier [Wed, 29 Dec 2010 23:01:42 +0000 (23:01 +0000)]
When processing the format flags for a given option consume the
flag indicating an optional value correctly. A symptom of this
bug was an infinite loop when trying to parse the slp-service-scope
option. Thanks to a patch from Marius Tomaschewski.
[ISC-Bugs #22055]
Shawn Routhier [Tue, 14 Dec 2010 23:12:09 +0000 (23:12 +0000)]
Limit the timeout period allowed in the dispatch code to 2^^32-1 seconds.
Thanks to a report from Jiri Popelka at Red Hat.
[ISC-Bugs #22033], [Red Hat Bug #628258]
Shawn Routhier [Tue, 14 Dec 2010 22:07:47 +0000 (22:07 +0000)]
Don't pass the ISC_R_INPROGRESS status to the omapi signal handlers.
Passing it through to the handlers caused the omshell program to fail
to connect to the server. [ISC-Bugs #21839]
Fix the paranthesis in the code to process configuration statements
beginning with "auth". The previous arrangement caused
"auto-partner-down" to be processed incorrectly. [ISC-Bugs #21854]
Shawn Routhier [Mon, 13 Dec 2010 20:36:04 +0000 (20:36 +0000)]
Fix the handling of connection requests on the failover port.
Previously a connection request from a source that wasn't
listed as a failover peer would cause the server to become
non-responsive. [ISC-Bugs #22679]
CERT: VU#159528 CVE: CVE-2010-3616
Shawn Routhier [Fri, 3 Dec 2010 20:32:14 +0000 (20:32 +0000)]
Restore printing of values in omshell to the style pre 21518. For
21518 we changed the print routines to always display time values
as a hex list. This had a side effect of printing all data strings
as a hex list. We shall investigate other ways of displaying time
values more usefully. [ISC-Bugs #22626]
David Hankins [Wed, 3 Nov 2010 23:22:38 +0000 (23:22 +0000)]
- ./configure on longer searches for -lcrypto to explicitly link against.
This fixes a bug where 'dhclient' would have shared library dependencies
on '/usr/lib'. [ISC-Bugs #21967]
Shawn Routhier [Fri, 22 Oct 2010 20:05:44 +0000 (20:05 +0000)]
Handle a relay forward message with an unspecified address in the
link address field. Previously such a message would cause the
server to crash. [ISC-Bugs #21992]
Shawn Routhier [Wed, 13 Oct 2010 22:34:45 +0000 (22:34 +0000)]
Update the code to parse dhcpv6 lease files to accept a semi-colon at
the end of the max-life and preferred-life clauses. In order to be
backwards compatible with older lease files not finding a semi-colon
is also accepted. [ISC-Bugs #22303].
Minor changes for scripts, configure.ac and Makefiles
[ISC-Bugs #19147] Use domain-search instead of domain-name in manual and
example conf file. Thanks to a patch from David Cantrell
at Red Hat.
[ISC-Bugs #19761] Restore address when doing a rebind in DHCPv6
[ISC-Bugs #19945] Properly close the quote on some arguments.
[ISC-Bugs #20952] Add 64 bit types to configure.ac
[ISC-Bugs #21308] Add "PATH=" to CLIENT_PATH envrionment variable
Fixes to lease input and output.
[ISC-Bugs #20418] - Some systems don't support the "%s" argument to
strftime, paste together the same string using mktime instead.
[ISC-Bugs #19596] - When parsing iaid values accept printable
characters.
[ISC-Bugs #21585] - Always print time values in omshell as hex
instead of ascii if the values happen to be printable characters.
Parse date strings more properly - the code now handles semi-colons in
date strings correctly. Thanks to a patch from Jiri Popelka at Red Hat.
[ISC-Bugs #21501, #20598]
Another batch of fixes:
Correct error handling in DLPI [ISC-Bugs #20378]
Remove __sun__ and __hpux__ typedefs in osdep.h as they are now being
checked in configure. [ISC-Bugs #20443]
Modify how the cmsg header is allocated the v6 send and received routines
to compile on more compilers. [ISC-Bugs #20524]
When parsing a domain name free the memory for the name after we are
done with it. [ISC-Bugs #20824]
Minor code fixes
[ISC-Bugs #19566] When trying to find the zone for a name for ddns allow
the name to be at the apex of the zone.
[ISC-Bugs #19617] Restrict length of interface name read from command line
in dhcpd - based on a patch from David Cantrell at Red Hat.
[ISC-Bugs #20039] Correct some error messages in dhcpd.c
[ISC-Bugs #20070] Better range check on values when creating a DHCID.
[ISC-Bugs #20198] Avoid writing past the end of the field when adding
overly long file or server names to a packet and add a log message
if the configuration supplied overly long names for these fields.
[ISC-Bugs #21497] Add a little more randomness to rng seed in client
David Hankins [Tue, 7 Sep 2010 23:56:05 +0000 (23:56 +0000)]
- Fixed a bug that leaks host record references onto lease structures,
causing the server to apply configuration intended for one host to any
other innocent clients that come along later. [ISC-Bugs #22018]
David Hankins [Wed, 14 Jul 2010 18:54:05 +0000 (18:54 +0000)]
Correct false attribution of recent bug fixes to 'changed since 4.2.0rc1'
which implies they were present in 4.2.0 final, and instead identify
them as 'changed since 4.2.0'.
David Hankins [Tue, 13 Jul 2010 20:56:56 +0000 (20:56 +0000)]
- The .TH tag for the dhcp-options manpage was typo repaired
thanks to a report from jidanni and the Debian package maintenance
team. [ISC-Bugs #21676] {Debian Bug#563613}
David Hankins [Tue, 13 Jul 2010 18:44:08 +0000 (18:44 +0000)]
- 'get-host-names true;' now also works even if 'use-host-decl-names true;'
was also configured. The nature of this repair also fixes another
error; the host-name supplied by a client is no longer overridden by a
reverse lookup of the lease address. Thanks to a patch from Wilco Baan
Hofman supplied to us by the Debian package maintenance team.
[ISC-Bugs #21691] {Debian Bug#509445}