2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-28 21:07:43 +00:00

312 Commits

Author SHA1 Message Date
David Hankins
87a08cccd5 - DHCPINFORM handling for clients that properly set ciaddr and come to the
server via a relay agent has been repaired. [ISC-Bugs #16355]
2006-08-22 17:13:25 +00:00
David Hankins
78c553c4a0 Removing the new I/O changes from HEAD. [ISC-Bugs #16328] 2006-08-09 14:57:48 +00:00
David Hankins
b22de5005c - A new dhcp server option 'adaptive-lease-time-threshold' has been added
which causes the server to substantially reduce lease-times if there are
  few (configured percentage) remaining leases.  Thanks to a patch submitted
  from Christof Chen. [ISC-Bugs #15409]
2006-07-31 23:17:24 +00:00
Shane Kerr
6d103865fb Merged rt12324, DHCPLEASEQUERY. 2006-07-25 13:26:00 +00:00
David Hankins
334bf4910f - The DHCP Relay Agent Information Option / Link Selection Sub-Option
is now supported.  (See RFC3527 for details). [ISC-Bugs #16251]
2006-07-17 15:16:43 +00:00
Shane Kerr
c36d062ea3 Minor fix, see rt16176. 2006-06-19 20:39:28 +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
1b2ab55fdd - A bug where leases not in ACTIVE state would get billed to billed classes
(classes with lease limitations) was fixed.  Non-active leases OFFERed
  to clients are no longer billed (but billing is checked before offering).
  [ISC-Bugs #16168]
2006-06-15 17:52:06 +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
dcc557db27 - Some time value size fixes in 3.0.4 brought on from FreeBSD /usr/ports were
misapplied to server values rather than client values.  The server no longer
  advertises 8-byte lease-time options when on 64-bit platforms.
  [ISC-Bugs #16036]
2006-05-17 20:15:32 +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
25b988c68f - The IO system now tracks all local IP addresses, so that the DHCP
applications (particularly the dhcrelay) can discern between what frames
  were tranmsitted to it, and what frames are being carried through it which
  it should not intercept. [ISC-Bugs #15573]
2006-02-27 23:56:13 +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
b43c87ad59 - RFC3942 compliance, site-local option spaces start at 224 now, not 128.
[ISC-Bugs #13142]
2005-09-30 19:15:55 +00:00
David Hankins
c75473d800 Merge changes between 3.0.3b1 and 3.0.3rc1 to HEAD. 2005-07-07 16:39:08 +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
Ted Lemon
f7a68a215f Detect double-null-terminated hostname - a bug in some Lexmark printers. 2002-01-17 17:01:46 +00:00
Ted Lemon
a609e69bba sync with branch 2001-08-10 10:50:50 +00:00
Ted Lemon
d758ad8cac Merge changes between 3.0rc7 and 3.0rc8pl2. 2001-06-27 00:31:20 +00:00
Ted Lemon
31bbee784c Sync with 3.0rc7 2001-05-17 19:04:09 +00:00
Ted Lemon
9cd0871cc3 Stash relay agent options when the client is in REBINDING or INIT-REBOOT. 2001-05-03 18:22:58 +00:00
Ted Lemon
225fed9174 Fix some host references. 2001-04-27 21:32:48 +00:00
Ted Lemon
79f3c35c6d - Fix a case where a by-value argument pointer is dereferenced, resulting
in a memory smash.
2001-04-18 18:58:39 +00:00
Ted Lemon
b7d4762721 Fix a core dump in dhcprelease. 2001-03-22 21:36:49 +00:00
Ted Lemon
59bdb6a11a This time for sure! (fix for spinning). 2001-03-20 22:25:30 +00:00
Ted Lemon
894820f2dd Actually fix the spin that I thought I'd fixed previously. 2001-03-20 07:29:35 +00:00
Ted Lemon
b1820749bd - Fix a bug that would cause the server to spin looking for leases to free.
- Fix a non-null pointer store.
2001-03-17 00:48:34 +00:00
Ted Lemon
7f65aa81c2 - Check client identifier on hw_lease before giving it to the client.
- Don't try to reference host to lease if there's no host.
2001-03-16 01:55:38 +00:00
Ted Lemon
cb8176c4ae Always reference count leases. 2001-03-15 23:22:33 +00:00
Ted Lemon
6c6084374e - Fix DHCPINFORM non-return bug.
- Log released leases always.
- Byte swap secs on log message.
- Fix a possible null pointer dereference that could happen in certain
  obscure cases.
2001-03-14 15:44:39 +00:00
Damien Neil
15c24b882b Changed supersede_lease() to return 1, even if the commit option is
not specified.  (Before, it would always return 0 if commit was not
given.)  Fixed up the one call to supersede_lease() which expected
the old behavior.

Added a check to supersede_lease() to return an error if the pimmediate
flag is given, and commit is not.  (You should never be sending information
on an uncommitted lease to a peer.)

Separated the failover queue update (the propogate flag) test from
the commit test in supersede_lease(), so that you can now enqueue an
update on an uncommitted lease.
2001-02-15 21:34:08 +00:00
Ted Lemon
27e90ede57 - Add tracing hooks.
- Fix a bug in handling of DHCPNAK that would make the server act like
  it wasn't authoritative.
2001-02-12 21:00:02 +00:00
Ted Lemon
de528760a8 Fix a memory leak. Only return agent options that were sent. 2001-01-26 05:57:35 +00:00
Ted Lemon
bfe2d221d7 - Fix some pedantic allocation problems.
- Fix handling of agent options.
- Fix handling of giaddr debugging features.
2001-01-25 08:32:26 +00:00
Ted Lemon
f8f3494034 - Don't respond to DHCPDISCOVERS when we're not responding.
- Don't load balance RENEWING and REBINDING clients.
2001-01-19 11:03:56 +00:00
Ted Lemon
174f5ef554 Add a ping-check parameter. Pass old lease to ddns_updates. 2001-01-16 23:57:23 +00:00
Ted Lemon
797d58b313 Don't say (not authoritative) when we are. 2001-01-08 08:23:21 +00:00
Ted Lemon
bf9d9d2720 If ddns-updates is not set, default to enabled. 2001-01-04 00:15:50 +00:00
Ted Lemon
4f76762762 - If we receive a dhcp-server-identifier option in a DHCPREQUEST, print it
in the log.
- Fix abandoned lease reclamation.
- Do correct reference counting when doing one-lease-per-client.
2000-12-28 23:28:17 +00:00
Damien Neil
b992d7e23d DDNS implementation rewrite. DDNS should now operate according to
<draft-ietf-dhc-dhcp-dns-12.txt>.

common/options.c, common/tables.c, includes/dhcp.h:
  Split the fqdn.name option into fqdn.hostname and fqdn.domainname.

includes/dhcpd.h, server/Makefile.dist, server/ddns.c, server/dhcp.c,
server/mdb.c, server/stables.c:
  Added a new file (server/ddns.c) containing the DDNS updates code.
  This file exports two functions: ddns_updates() and ddns_removals().
  ddns_updates() is called when a lease is granted, and ddns_removals()
  is called when the lease expires or is released.

server/dhcpd.c:
  Remove the previous DDNS update code, and add default code for the
  ddns-hostname, ddns-domainname, ddns-ttl, and ddns-rev-domainname
  server options.
2000-12-11 18:56:45 +00:00
Ted Lemon
c6708cba5c Remember lease flags when doing the commit routine. 2000-12-05 07:21:31 +00:00
Ted Lemon
1d8b8d992a Restore code that was removed for debugging and accidentally committed. 2000-11-30 14:04:06 +00:00
Ted Lemon
9e3831637a Pass client state to eval functions. Lots of other stuff. 2000-11-28 23:27:24 +00:00
Ted Lemon
bca944231b Disable unicast broadcast hack, but leave a place for it to be configured. 2000-10-13 18:58:12 +00:00
Ted Lemon
9030b3137f Get rid of all the special-case encapsulations. 2000-10-10 23:07:24 +00:00
Ted Lemon
86ec3f8cd4 Use lt -> scope, not lease -> scope, which is probably empty. 2000-09-14 12:15:33 +00:00
Ted Lemon
c76aff911e - Put back the code that checks the server configuration for the
dhcp-max-message-size option, which was apparently lost in the
  transition from 2.0 to 3.0.
2000-09-12 20:09:14 +00:00
Ted Lemon
3d789c2314 - Remove a bogus enhancement to lease NAK code.
- Always exit dhcprequest() through out: label.
2000-09-08 01:23:43 +00:00
Ted Lemon
3acf1dca2e Don't even try to do billing on static leases. 2000-09-01 18:30:36 +00:00
Ted Lemon
d642c2a6ac Get rid of an unnecessary test. 2000-09-01 16:57:44 +00:00