2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-24 19:08:08 +00:00

119 Commits

Author SHA1 Message Date
Shawn Routhier
edad9be5cd [master] Remove vix.com and nominum.com
Remove old information from copyrights and
    man pages.
2014-01-26 10:52:15 -08:00
Shawn Routhier
619304cd87 [master] Support using v6 relay options in server decicions. 2013-11-25 21:00:41 -08:00
Shawn Routhier
f88446f16b [master] Emit log messages when the server is stable
Emit a log message when the server had completed initialization
and is about to start dispatching.  And emit log messages when
both peers in a failover pair have reached the normal state.
2013-11-08 12:29:20 -08:00
Shawn Routhier
a7341359cc -n [master]
[rt27912]
    Add code to suppor on {commit expiry release} statements for DHCPv6.
    There are several pieces to this change
    1) Add space in the iasubopt structure to hold the statement pointers
    2) Update the execute code to fill in the structures as necessary
    3) Execute the statements when appropriate
    Many of the changes in the non-v6 code are to pass the v6 structures
    around to the execute code.
2013-08-27 13:40:47 -07:00
Shawn Routhier
08b2d34783 [master]
Modify the class and subclass code to allow for dynamic addition and
removal of subclasses.  See 27452 for details.
2013-06-05 18:15:49 -07:00
Shawn Routhier
0f750c4fb1 [master]
[rt23833]
Clean up a number of items identified by the Coverity
static analysis tool.  Runs courtesy of Red Hat.
2012-10-16 15:05:24 -07:00
Shawn Routhier
d13db163c7 Modify the code that determines if an outstanding DDNS request
should be cancelled.  This patch results in cancelling the
outstanding request less often.  It fixes the problem caused
by a client doing a release where  the  txt and ptr records
weren't removed from the DNS.
[ISC-BUGS #27858]
2012-03-19 22:29:06 +00:00
Shawn Routhier
b047bd385b Add support for Infiniband over sockets to the server and
relay code.  We've tested this on Solaris and hope to expand
support for Infiniband in the future.  This patch also corrects
some issues we found in the socket code.  [ISC-Bugs #24245]
2012-02-16 21:05:28 +00:00
Shawn Routhier
0ef9a46e33 Modify the DDNS handling code. In a previous patch we added logging
code to the DDNS handling.  This code included a bug that caused it
to attempt to dereference a NULL pointer and eventually segfault.
While reviewing the code as we addressed this problem, we determined
that some of the updates to the lease structures would not work as
planned since the structures being updated were in the process of
being freed: these updates were removed.  In addition we removed an
incorrect call to the DDNS removal function that could cause a failure
during the removal of DDNS information from the DNS server.
Thanks to Jasper Jongmans for reporting this issue.
[ISC-Bugs #27078]
CVE: CVE-2011-4868
2011-12-30 23:08:41 +00:00
Shawn Routhier
919f14071d 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]
2011-02-18 18:18:20 +00:00
David Hankins
33692791d7 - "The LDAP Patch" that has been circulating for some time, written by
Brian Masney and S.Kalyanasundraram and maintained for application to
  the DHCP-4 sources by David Cantrell has been included.  Please be
  advised that these sources were contributed, and do not yet meet the
  high standards we place on production sources we include by default.
  As a result, the LDAP features are only included by using a compile-time
  option which defaults off, and if you enable it you do so under your
  own recognizance.  We will be improving this software over time.
  [ISC-Bugs #17741]
2010-03-24 21:49:03 +00:00
David Hankins
fdfebedf3e - An optimization described in the failover protocol draft is now included,
which permits a DHCP server operating in communications-interrupted state
  to 'rewind' a lease to the state most recently transmitted to its peer,
  greatly increasing a server's endurance in communications-interrupted.
  This is supported using a new 'rewind state' record on the dhcpd.leases
  entry for each lease.  [ISC-Bugs #19601]
2010-02-03 23:25:25 +00:00
Shawn Routhier
a47d63362f Update copyright years 2009-11-24 02:06:57 +00:00
Shawn Routhier
98bf16077d Support for asynchronous ddns per ticket 19216 - convert to using isclib and
dnslib.
2009-10-28 04:12:30 +00:00
Shawn Routhier
2c85ac9b24 Switch isc urls from http to https and correct sw to services or software
for new web site as appropirate.
2009-07-23 18:52:21 +00:00
David Hankins
b8d45c67ea - Secondary servers in a failover pair will now perform ddns removals if
they had performed ddns updates on a lease that is expiring, or was
  released through the primary.  As part of the same fix, stale binding scopes
  will now be removed if a change in identity of a lease's active client is
  detected, rather than simply if a lease is noticed to have expired (which it
  may have expired without a failover server noticing in some situations).
  [ISC-Bugs #19826b]
2009-07-22 17:00:01 +00:00
David Hankins
95fd7038a2 - Memory leak in the load_balance_mine() function is fixed. This would
leak ~20-30 octets per DHCPDISCOVER packet while failover was in use
  and in normal state. [ISC-Bugs #19548]

- Various compilation fixes have been included for the memory related
  DEBUG #defines in includes/site.h.  [ISC-Bugs #19548]
2009-04-07 19:55:52 +00:00
David Hankins
26e59ee99b - Using reserved leases no longer results in 'lease with binding state
free not on its queue' error messages, thanks to a patch from Frode
  Nordahl. [ISC-Bugs #19274]
2009-01-30 22:31:22 +00:00
David Hankins
66cebfcb89 - ./configure was extended to cover many optional build features, such
as failover, server tracing, debugging, and the execute() command.
  [ISC-Bugs #17678]
2008-02-28 21:21:56 +00:00
Evan Hunt
dccb6edf66 Updated copyright strings for 4.1.0a1 release 2008-01-24 02:43:06 +00:00
David Hankins
6368a1bd72 - Multiple (up to "delayed-ack x;" maximum) DHCPv4 packets are now queued and
released in bursts after single fsync() events when the upper limit is
  reached or if the receiving sockets go dry.  The practical upshot is
  that fsync-coupled server performance is now multiplicitively increased.
  The default delayed ack limit is 28.  Thanks entirely to a patch from
  Christof Chen.
2008-01-21 19:53:21 +00:00
David Hankins
2574fdb165 Declare variables prior to code so as to produce code that can be compiled
without C99 compliance.
2008-01-08 17:51:01 +00:00
Francis Dupont
be62cf0675 finer granularity timers 2008-01-03 00:30:14 +00:00
David Hankins
3c12f7461b - The warning logged when an address range doesn't fit in the subnets
they were declared has been updated to be more helpful and identify the
  typo in configuration that created the spanning addresses.
  [ISC-Bugs #17270]
2007-12-13 16:50:17 +00:00
Francis Dupont
20ae1affb0 almost editorial stuff 2007-11-30 21:51:43 +00:00
David Hankins
aa3e348e8b - An assertion in lease counting relating to reserved leases was repaired.
[ISC-Bugs #17130]
2007-10-01 15:12:19 +00:00
Shane Kerr
28868515f6 Code cleanup to remove warnings from "gcc -Wall".
See RT ticket #16988 for more.
2007-07-13 06:43:43 +00:00
David Hankins
b8221d9512 - supersede_lease() now requeues leases in their respective hardware
address hash bucket.  This mirrors client identifier behaviour.
  [ISC-Bugs #16936]
2007-06-08 18:56:30 +00:00
David Hankins
706792c9d3 Copyright++ 2007-05-19 19:16:28 +00:00
David Hankins
fe5b0fdd70 - Replaced ./configure shellscripting with GNU Autoconf. [ISC-Bugs #16405b]
- RELNOTES/README++
- s/wether/whether/ in dhcp-options.5 manpage edits.
2007-05-19 18:47:15 +00:00
David Hankins
98bd7ca099 DHCPv6 branch merged to HEAD. 2007-05-08 23:05:22 +00:00
David Hankins
9163e15d4e - Error in rt16831 repaired...append the n_hw tail of the insert point to
the n_hw point of the current lease...not the n_uid tail.
2007-05-04 21:46:50 +00:00
David Hankins
d5b6835f89 - The server's "by client-id" and "by hardware address" hash table lists
are now sorted according to the preference to re-allocate that lease to
  returning clients.  This should eliminate pool starvation problems
  arising when "INIT" clients were given new leases rather than presently
  active ones. [ISC-Bugs #16831]
2007-04-26 20:06:25 +00:00
David Hankins
6708d944e1 - Some default hash table sizes were tweaked, some upwards, some downwards.
3.1.0a1's tables resulted in a reduction in default server memory use.
  The new selected values provide more of a zero sum (increasing the size
  of tables likely to be populated, decreasing the size of tables unlikely).

- Lease structures appear in three spearate hashes: by IP address, by UID,
  and by hardware address.  One type of table was used for all three, and
  improvements to IP address hashing were applied to all three (so UID and
  hardware addresses were treated like 4-byte integers).  There are now two
  types of tables, and the uid/hw hashes use functions more appropriate
  to their needs.

- The max-lease-misbalance percentage no longer causes scheduled rebalance
  runs to be skipped: it still governs the schedule, but every scheduled
  run will attempt balance.

[ISC-Bugs #16396]
2006-10-27 22:54:13 +00:00
David Hankins
616d67cb0a - The servers now try harder to transmit pending binding updates when
entering normal state. [ISC-Bugs #16412]

- UPDREQ/UPDREQALL handling was optimized - it no longer dequeues and
  requeues all pending updates.  This should reduce the number of spurious
  'xid mismatch' log mesasges. [ISC-Bugs #16412]
2006-09-27 18:27:27 +00:00
David Hankins
808d45fd9d Head bugfix, dueling BNDUPD/ACKs [ISC-Bugs #16346b] 2006-08-28 21:35:03 +00:00
Shane Kerr
6d103865fb Merged rt12324, DHCPLEASEQUERY. 2006-07-25 13:26:00 +00:00
David Hankins
8757898765 - Abandoned or dissociated (err condition) leases now remove any related
dynamic dns bindings.  Thanks to a patch from Patrick Schoo.
  [ISC-Bugs #15836]
2006-07-18 18:15:53 +00:00
David Hankins
2426234f7c - Failover pairs now implement 'MAC Affinity' on leases moving from the
active to free states.  Leases that belonged to the failover secondary
  are moved to BACKUP state rather than FREE upon exiting EXPIRED state.
  If lease rebalancing must move leases, it tries first to move leases
  that belong to the peer in need.
- The server no longer sends POOLREQ messages unless the pool is severely
  misbalanced in the peer's favor (see 'man dhcpd.conf' for more details).
- Pool rebalance events no longer happen upon successfully allocating a
  lease.  Instead, they happen on a schedule.  See 'man dhcpd.conf' for the
  min-balance and max-balance statements for more information.

  [ISC-Bugs #13308]
2006-06-16 19:26:45 +00:00
David Hankins
b500bd4c23 - Some patches to improve DHCP Server startup speed from Andrew Matheson
have been incorporated. [ISC-Bugs #3154]
2006-06-09 15:51:02 +00:00
David Hankins
f7fdb21693 - Varying option space code and length bit widths (8/16/32) are now
supported.  This is a milestone in acheiving RFC 3925 "VIVSO" and
  DHCPv6 support. [ISC-Bugs #15979]
2006-06-01 20:23:18 +00:00
David Hankins
2d767ea0a4 There are 6 lease pools now, not 5. [ISC-Bugs #16051] 2006-05-30 19:46:37 +00:00
David Hankins
3a16098f0b Pulling work between V3-0-4B3 and present v3-release-branch to HEAD. 2006-05-05 20:32:31 +00:00
David Hankins
a55ccdd037 - Support for 'reserved' (psuedo-static) and BOOTP leases via failover
was introduced. [ISC-Bugs #13672]
- The failover implementation was updated to comply with revision 12 of
  the protocol draft. [ISC-Bugs #13672]
2006-04-27 17:26:42 +00:00
David Hankins
ba65ea235f Silence sign change warnings. [ISC-Bugs #15884] 2006-03-02 19:02:56 +00:00
David Hankins
88cd8aca9e - Merge changes between 3.0.3RC1 and 3.0.4-BETA-3 into HEAD (silence
robie).
2006-02-24 23:16:32 +00:00
David Hankins
06e77c34fb Corrections to changes made on HEAD pursuant to review of changes between
V3.0.3 and HEAD.  [ISC-Bugs #15348]
2005-09-30 17:57:32 +00:00
David Hankins
98311e4ba9 MASSIVE merge from V3-RELEASE-BRANCH into HEAD. HEAD and V3-RELEASE are
now synced as of tag V3-0-3-BETA-1.
2005-03-17 20:15:29 +00:00
James Brister
f3fe382d68 Fixes for QoS support. 2001-07-10 20:36:06 +00:00
Ted Lemon
d758ad8cac Merge changes between 3.0rc7 and 3.0rc8pl2. 2001-06-27 00:31:20 +00:00