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

265 Commits

Author SHA1 Message Date
Evan Hunt
e32529a528 dhc6_lease_destroy() and dhc6_ia_destroy() now set lease and IA
pointers to NULL after freeing, to prevent subsequent accesses to freed
memory.  [rt17352]
2007-12-08 19:36:00 +00:00
Shane Kerr
b9137d42af Insure we let people Request addresses that we suggested in Advertise.
See RT ticket #17302 for more.
2007-12-06 00:07:12 +00:00
Francis Dupont
c54db70868 fix dhcp6.status-code success parsing 2007-12-03 19:10:19 +00:00
Francis Dupont
20ae1affb0 almost editorial stuff 2007-11-30 21:51:43 +00:00
David Hankins
b024480eba - The server now limits clients that request multiple addresses to one
address per IA by default, which can be adjusted through the
  "limit-addrs-per-ia" configuration option.  [ISC-Bugs #17271]
2007-11-20 18:34:37 +00:00
David Hankins
bead14ea8b - The server will now include multiple IA_NA's and multiple IAADDRs within
them, if advertised by the client.  It still only seeks to allocate one
  new address. [ISC-Bugs #17254]
2007-11-14 23:44:46 +00:00
David Hankins
290b43b9cb Remove unreviewed sources from HEAD. 2007-11-06 18:31:36 +00:00
David Hankins
b1d3778ce8 - Relative time may now be used as a qualifier for 'allow' and 'deny' access
control lists.  These directives may be used to assist in re-addressing
  address pools without having to constantly reconfigure the server.  Please
  see 'man dhcpd.conf' for more information on allow/deny 'after time' syntax.
  Thanks to a patch from Christof Chen.  [ISC-Bugs #17110]
2007-10-31 19:13:33 +00:00
David Hankins
e4a6be15e8 Might even work. 2007-10-30 23:08:16 +00:00
Evan Hunt
75135a3f7f Use different paths for PID and lease files when running in DHCPv4 or
DHCPv6 mode, so that servers for both protcols can be run simultaneously on
a single interface. [rt17227]
2007-10-27 19:15:37 +00:00
Evan Hunt
e2624b82f1 - Reworked cons_options() and store_options() to fix a buffer
overflow that could result in a DoS (CVS 2007-0062).  Also general
  code tidying. [rt17090]
- Also fixed a spurious error message on the client. [rt17250]
2007-10-26 22:46:50 +00:00
David Hankins
5279b8f3ee - The client leasing subsystem was streamlined and corrected to account
more closely for changes in client link attachment selection.
  [ISC-Bugs #17198]
2007-10-24 00:54:12 +00:00
David Hankins
109e00db7f - Compilation with DLPI and -Werror has been repaired. [ISC-Bugs #17189] 2007-10-03 23:36:27 +00:00
Shane Kerr
d19e816ece Fix ugly output on config errors.
See RT ticket #17011 for more.
2007-08-29 15:56:56 +00:00
David Hankins
0c20eab3c8 - 'request' and 'also request' syntaxes have been added to accomodate
the DHCPv6 client configuration.  'send dhcp6.oro' is no longer
  necessary.  [ISC-Bugs #17023]
2007-08-23 16:06:09 +00:00
Shane Kerr
06eb8bab55 Fix a number of warnings (and a few real bugs) found by enabling
gcc warnings.

See RT ticket #17013 for more.
2007-08-22 13:41:37 +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
Shane Kerr
bda3316935 Handle IPv6 parsing better. Adds generic whitespace handling to
parser.
See RT ticket #16862 for more.
2007-06-20 10:38:55 +00:00
Shane Kerr
9b21e73e3c Check for valid prefixes in configuration.
See RT ticket #16944 for more information.
2007-06-19 17:06:03 +00:00
David Hankins
627ad6d620 - AC_CHECK_HEADERS() defines HAVE_NET_IF_DL_H not HAVE_IF_DL_H. 2007-06-07 23:40:19 +00:00
David Hankins
dd3282251e - Two new operators, ~= and ~~, have been integrated to implement
boolean matches by regular expression (such as may be used in
  class matching statements).  Thanks to a patch by Alexandr S.
  Agranovsky, which underwent slight modification.  [ISC-Bugs #8155]
2007-06-07 15:52:30 +00:00
Evan Hunt
af5fa17626 - Add support for dhcpv6 "Release" messages [rt16905]
- Add -x option, which causes running dhclient processes to exist
  gracefully *without* releasing leases [rt16741]
(Merging both at once because the first one depended on the second one)
2007-06-06 22:57:32 +00:00
Evan Hunt
804401cc8e Merge in changes that were needed in 3.1.0 to silence NetBSD compiler
warnings. [rt16907]
2007-05-29 18:11:56 +00:00
Shane Kerr
66eaae186e Handle hostnames that start with numbers.
This involved needing to look at more than one token at a time, so
this patch moves from read() to mmap() of files, as a way to gracefully
rewind.

See RT ticket #16516 for (a lot) more.
2007-05-23 15:29:49 +00:00
David Hankins
6dd7efa210 Load net/if_dl.h if it exists (FreeBSD compile fix). 2007-05-19 21:35:21 +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
8ea19a715c - dhclient will now fork() into the background once it binds to an
IPv6 address, or immediately if the -n flag is supplised.
  [ISC-Bugs #16872]

- -q is now the default behaviour on dhclient, with -d or -v enabling
  non-quiet (stderr logging) mode.  [ISC-Bugs #16872]
2007-05-18 18:45:51 +00:00
Shane Kerr
727cae264f Merge errors from rt16849. Must remember to use "-u" when I'm making
diffs. :(
2007-05-18 14:45:23 +00:00
Shane Kerr
d9b43370a4 Expire old IPv6 leases. Also a number of fixes.
See RT ticket #16849 for details.
2007-05-18 09:26:58 +00:00
David Hankins
6705543f81 - Additional warnings and such from robie. [ISC-Bugs #16865d] 2007-05-17 18:27:11 +00:00
Shane Kerr
99fe695e1c FreeBSD, NetBSD, OpenBSD support added in (again).
See RT ticket #16865 for more (still expect some warnings).
2007-05-16 22:27:35 +00:00
David Hankins
98bd7ca099 DHCPv6 branch merged to HEAD. 2007-05-08 23:05:22 +00:00
Evan Hunt
83c0372e28 Assorted fixes for broken network devices: IP header length field is now
determined from payload, because some NIC drivers return more data than
they actually recived; IP and UDP packets now stored in aligned data
structures; outgoing packet TTL increased from 16 to 128. [rt15583]
2007-04-27 23:54:06 +00:00
Evan Hunt
1ba87b376b A new server config option "fqdn-reply" specifies whether the server
should send out option 81 (FQDN).  Defaults to "on".  If set to "off",
the FQDN option is not sent, even if the client requested it.  This is
needed because some clients misbehave otherwise. [rt16624]
2007-04-27 22:48:00 +00:00
David Hankins
9aa3f3a55d - Some bugs were fixed in the 'emergency relay agent options hologram'
which is used to retain relay agent option contents from when the
  client was in INIT or REBIND states.  This should solve problems where
  relay agent options were not echoed from the server, even when giaddr
  was set.  [ISC-Bugs #16787]
2007-04-20 15:25:26 +00:00
David Hankins
4d2eaafb35 - A new server config option, 'do-reverse-updates', has been added
which causes the server to abstain from performing updates on PTR
  records.  Thanks to a patch from Christof Chen at Allianz.
  [ISC-Bugs #16781]
2007-04-03 16:46:03 +00:00
Shane Kerr
c57db45ce9 Spelling fixes. See RT ticket 16513 for details. 2007-01-29 10:25:55 +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
4c7ffd58fc Silencing compiler warnings in ths run of development. [ISC-Bugs #16425] 2006-10-09 17:47:43 +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
David Hankins
b543fea9d4 - A new common configuration executable statement, execute(), has been
added.  This permits dhcpd or dhclient to execute a named external
  program with command line arguments specified from other configuration
  language.  Thanks to a patch written by Mattias Ronnblom, gotten to us
  via Robin Breathe. [ISC-Bugs #13728]
2006-07-31 22:19:51 +00:00
Shane Kerr
6d103865fb Merged rt12324, DHCPLEASEQUERY. 2006-07-25 13:26:00 +00:00
David Hankins
dba5803b95 - Support for compressed 'domain name list' style DHCP option contents, and
in particular the domain search option (#119) was added. [ISC-Bugs #15934]
2006-07-22 02:24:16 +00:00
David Hankins
3004bebf47 - A new DDNS related server option, update-conflict-detection, has been
added.  If this option is enabled, dhcpd will perform normal DHCID
  conflict resolution (the default).  If this option is disabled, it will
  instead trust the assigned name implicitly (removing any other bindings
  on that name).  This option has not been made available in dhclient.
  [ISC-Bugs #16165]
2006-07-19 17:14:55 +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
5e86441636 - A new common (server or client) option, 'db-time-format local;', has
been added which prints the local time in /var/db/dhcpd.leases rather
  than UTC.  Thanks to a patch from Ken Lalonde. [ISC-Bugs #2678]
2006-06-06 16:35:18 +00:00
David Hankins
d19e2cf7de Compiler warnings (a few were bugfixes internal to HEAD development) silenced.
[ISC-Bugs #16133]
2006-06-05 16:42:59 +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