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

279 Commits

Author SHA1 Message Date
Thomas Markwalder
f3a44c1037 [master] Enabling dhcp-cache-threshold no longer causes unnecessary DNS updates
Merges in rt37368.
2014-11-24 07:36:13 -05:00
Thomas Markwalder
0a7e1a8ab0 [master] Add use-host-decl-names support to BOOTP
Merges in rt36233.
2014-10-27 14:51:20 -04:00
Thomas Markwalder
e046c82621 [master] Added echo-client-id server parameter
Merges in rt35958 which includes fix for rt32545
    Also updated dhcp/.gitignore
2014-10-17 07:56:01 -04:00
Thomas Markwalder
a07d99bbef [master] Corrects medium impact issues reported by Coverity.
Merges in rt36933
2014-08-28 08:12:30 -04:00
Shawn Routhier
250f7134bb [master] Add support for pool thresholds
Add support to set high and low thresholds for pools for
v4 and v6.  A message will be emitted when the usage of
the pool first exceeds the high threshold.  More messages
will be skipped until the usage has gone below the low
threshold and then back above the high threshold.
2014-06-05 14:55:01 -07:00
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
4d079f0ec0 [master] Better support for INFORM requests.
Add support to use the subnet selection option
and the host declaration statements when processing
an inform request
2013-12-13 12:52:17 -08:00
Shawn Routhier
38ee81bd80 [master] Patch to ignore UIDS
This patch adds an option to allow the administrator to tell the
server to ignore UIDS when choosing a lease.
2013-12-13 12:40:45 -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
8cd88e202b -n [master]
[rt26311]
    Fix the issue with DDNS by checking to see if we have added a pointer
    to the ddns_cb and skipping the cache threshold check if we did.  Also
    expand and correct the cache threshold check into the delayed ack code.
2013-08-27 11:09:12 -07:00
Shawn Routhier
f8380d3ff2 [master]
+- Add support for a simple check that the server id in a request message
+  to a failover peer matches the server id of the server.  This support
+  is enabled by editing the file includes/site.h and uncommenting the
+  definition for SERVER_ID_CHECK.  The option has several restrictions
+  and issues - please read the comment in the site.h file before
+  enabling it.
+  [ISC-Bugs #31463]
2012-11-16 15:02:13 -08:00
Shawn Routhier
d56788df77 [master]
Modify the nak_lease function to make some attempts to find a
server-identifier option to use for the NAK.
2012-11-02 16:37:03 -07:00
Shawn Routhier
6980ae03c3 The 'no available billing' log line now also logs the name of the last
matching billing class tried before failing to provide a billing.
ISC-Bugs #21759]
2012-06-06 23:55:01 +00:00
Tomek Mrugalski
dd9237c309 Fixed many compilation problems ("set, but not used" warnings) for
gcc 4.6 that may affect Ubuntu 11.10 users. [ISC-Bugs #27588]
2012-03-09 11:18:14 +00:00
Shawn Routhier
8bd96ccb21 Two packets were found that cause a server to halt. The code
has been updated to properly process or reject the packets as
appropriate.  Thanks to David Zych at University of Illinois
for reporting this issue.  [ISC-Bugs #24960]
One CVE number for each class of packet.
CVE-2011-2748
CVE-2011-2749
2011-07-19 22:13:26 +00:00
Shawn Routhier
c850c0eec5 Restore common/discover.c, common/options.c and server/dhcp.c
as I mistakenly committed them to head instead of the ticket
branch.
2011-07-02 00:05:35 +00:00
Shawn Routhier
4e41a8d7e0 correct spelling of options 2011-07-01 23:16:37 +00:00
Shawn Routhier
640101e3d3 Correct an unsigned math operation when calculating the options
buffer space for bootp and use a better constant - DHCP packet
size instead of DHCP packet size + udp and iP headers.
Check that we have a packet->options structure before using it.
Only process packets that are longer than a bootp fixed packet
including server and file names.  Previously we allowed for
shorter packets but that wasn't working and nobody noticed.
2011-07-01 23:11:53 +00:00
Tomek Mrugalski
f6a13c3259 Copyright year updated. 2011-05-23 11:04:12 +00:00
Tomek Mrugalski
1b601efa2c Server no longer complains about NULL pointer when configured
server-identifier expression fails to evaluate. [ISC-Bugs #24547]
2011-05-23 10:34:10 +00:00
Mark Andrews
5c09391c07 remove redundant test, unsigned is always >= 0 2011-05-13 01:57:38 +00:00
Tomek Mrugalski
929a236497 - 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]
2011-05-12 13:26:55 +00:00
Tomek Mrugalski
656b1ecebe The DHCP server now responds to DHCPLEASEQUERY messages from agents using
IP addresses not covered by a subnet in configuration. Server also returns
vendor-class-id option, if client sent it. [ISC-Bugs #21094]
2011-04-22 13:21:35 +00:00
Tomek Mrugalski
5d082abd92 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]
2011-04-21 13:24:24 +00:00
Mark Andrews
4176a7009d cast to int for * in $.*s 2011-02-16 03:22:56 +00:00
Mark Andrews
228e444722 address builds where sizeof != int 2010-09-09 06:48:52 +00:00
Shawn Routhier
66be0ad13f 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
2010-09-08 22:13:05 +00:00
David Hankins
ea75d5443c - 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]
2010-09-07 23:55:24 +00:00
David Hankins
524705e54a - '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}
2010-07-13 18:43:41 +00:00
Shawn Routhier
1e05d095c2 Don't include lease time information in the response to a DHCPINFORM
request.  We do this by removing any time information from the option
cache before building the reponse packet.  Bug ticket 21092.
2010-04-20 23:20:20 +00:00
Shawn Routhier
0585235c45 Update the fsync batching patch to work with the isc libraries - 21044 2010-03-12 01:36:57 +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
a35285748d Clean up some compiler warnings 2010-02-02 00:44:06 +00:00
David Hankins
3c941d426d - Cleaned up an unused hardware address variable in nak_lease().
[ISC-Bugs #15382]
2010-02-01 22:03:15 +00:00
Shawn Routhier
a47d63362f Update copyright years 2009-11-24 02:06:57 +00:00
Shawn Routhier
bd0b98c170 Ticket 19830 - enhancment to allow use of host-identifier syntax for DHCPv4
as well as for DHCPv6
2009-11-10 21:12:23 +00:00
David Hankins
5a671e8715 *** empty log message *** 2009-09-11 18:13:12 +00:00
David Hankins
95f5d38cb3 - Fixed a fenceposting bug when a client had two host records configured,
one using 'uid' and the other using 'hardware ethernet'.  [ISC-Bugs #19895]
2009-07-24 17:21:52 +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
a1308b646d - Fixed a bug where relay agent options would never be returned when
processing a DHCPINFORM.  [ISC-Bugs #19303]
2009-07-06 23:33:23 +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
fbcee149f8 - Delayed-ack is now a compile-time option, compiled out by default.
This feature is simply too experimental for right now, and causes
  some problems to some failover installations.  We will revisit this
  in future releases.  [ISC-Bugs #18832]
2008-11-03 18:13:58 +00:00
David Hankins
a4ffedd162 - A cosmetic bug in DHCPDECLINE processing was fixed which caused all
successful DHCPDECLINEs to be logged as "not found" rather than
  "abandoned".  [ISC-Bugs #18605]
2008-09-11 16:11:46 +00:00
David Hankins
8fbb55ff3f - A partner-down failover server no longer emits 'peer holds all free leases'
if it is able to newly-allocate one of the peer's leases.  [ISC-Bugs #18437]
2008-08-19 18:00:24 +00:00
Evan Hunt
51e7687feb Fixed a bug that caused some request types to be logged incorrectly [rt17987] 2008-07-18 01:04:58 +00:00
David Hankins
f8cbf390af - There is now a default 1/4 of a second scheduled delay between delayed
fsync()'s, it can be configured by the max-ack-delay configuration
  parameter.  [ISC-Bugs #17679]
2008-02-28 23:40:45 +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
David Hankins
087b8f18ad - Do not delay-ack STATIC leases.
- Use lease referencers to maintain reference count on the lease structure.
- Log an error if you encounter a lease with no transmit-state.
o These changes were to a feature that has not yet been publically released,
  so there is no RELNOTES entry.
2008-01-28 18:21:06 +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