2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-29 05:17:57 +00:00

963 Commits

Author SHA1 Message Date
Shawn Routhier
01fa619fab -n [master]
26510
 Add support for classes in the IPv6 code
2013-08-27 14:20:09 -07: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
Mark Andrews
dc9d7b08aa - Silence benign static analysis warnings.
[ISC-Bugs #33428]
2013-05-15 10:49:54 +10:00
Mark Andrews
a24b9f23d0 - Use newer auto* tool packages and turn on RFC_3542 support on Mac OS.
[ISC-Bugs #26303]
2013-03-28 17:11:06 +11: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
10613724a9 [master]
The client now passes information about the options it requested
from the server to the script code via environment variables.
These variables are of the form requested_<option_name>=1 with
the option name being the same as used in the new_* and old_*
variables. [ISC-Bugs #29068]
2012-11-13 12:56:02 -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
881442e20f [rt26108]
Update auto generated files for rt26108
2012-10-11 21:53:13 +00:00
Shawn Routhier
529be52a84 Add common/tests/Atffile and server/tests/Atffile to the distribution
and rebuild the auto generated files
2012-08-23 18:14:17 +00:00
Tomek Mrugalski
85c8df6dd0 [master] Merge branch 'rt25901_atf'
Conflicts:
	configure
2012-08-14 15:20:46 +02:00
Tomek Mrugalski
0b6c9c0dc3 [rt25901_atf] Removed unnecessary statement. 2012-08-08 20:58:02 +02:00
Tomek Mrugalski
5fe45d0791 [rt25901_atf] autotool files regenerated 2012-07-02 10:59:47 +02:00
Shawn Routhier
e563ec2e58 When attempting to convert a DUID from a client id option
into a hardware address handle unexpected client ids properly.
Thanks to Markus Hietava of Codenomicon CROSS project for the
finding this issue and CERT-FI for vulnerability coordination.
[ISC-Bugs #29852]
CVE: CVE-2012-3570
2012-06-27 21:33:25 +00:00
Shawn Routhier
de87ffe336 Previously the server code was relaxed to allow packets with zero
length client ids to be processed.  Under some situations use of
zero length client ids can cause the server to go into an infinite
loop.  As such ids are not valid according to RFC 2132 section 9.14
the server no longer accepts them.  Client ids with a length of 1
are also invalid but the server still accepts them in order to
minimize disruption.  The restriction will likely be tightened in
the future to disallow ids with a length of 1.
Thanks to Markus Hietava of Codenomicon CROSS project for the
finding this issue and CERT-FI for vulnerability coordination.
[ISC-Bugs #29851]
CVE: CVE-2012-3571
2012-06-27 21:20:19 +00:00
Shawn Routhier
32e651c418 A problem with missing get_hw_addr function when --enable-use-sockets
was used is now solved on GNU/Linux, BSD and GNU/Hurd systems. Note
that use-sockets feature was not tested on those systems. Client and
server code no longer use MAX_PATH constant that is not defined on
GNU/Hurd systems. [ISC-Bugs 25979]
2012-06-08 23:28:11 +00:00
Tomek Mrugalski
c08a70750c [rt25901_atf] Test checkin. 2012-06-06 13:49:47 +02:00
Shawn Routhier
cbbd2714d6 - Rotate the lease file when running in v6 mode.
[ISC-Bugs #24887]
2012-05-15 21:07:17 +00:00
Shawn Routhier
d19fa5a1b5 Fix the NA and PD allocation code to handle the case where a client
provides a preference and the server doesn't have any addresses or
prefixes available.  Previoulsy the server ignored the request with
this patch it replies with a NoAddrsAvail or NoPrefixAvai respone.
By default the code performs according to the errata of August 2010
for RFC 3315 section 17.2.2, to enable the previous style see the
seciton on RFC3315_PRE_ERRATA_2010_08 in includes/site.h.  This option
may be removed in the future.
Thanks to Jiri Popelka at Red Hat for the patch.
[ISC-Bugs #22676]
2012-04-10 22:13:46 +00:00
Shawn Routhier
bc7f8b8e39 Multiple items to clean up IPv6 address processing.
When processing an IA that we've seen check to see if the
addresses are usable (not in use by somebody else) before
handing it out.
When reading in leases from the file discard expired addresses.
When picking an address for a client include the IA ID in
addition to the client ID to generally pick different addresses
for different IAs.
[ISC-Bugs #23138] [ISC-Bugs #27945] [ISC-Bugs #25586]
[ISC-Bugs #27684]
2012-04-10 00:54:35 +00: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
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
2568cd6a5e autoheader regeneration 2012-02-16 22:08:21 +00:00
Shawn Routhier
e3c948003b Add a compile time check for the presence of the noreturn attribute
and use it for log_fatal if it's available.  This will help code
checking programs to eliminate false positives.
[ISC-Bugs 27539]
2012-02-16 22:07:04 +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
87132514a0 In the DDNS code handle error conditions more gracefully and add more
logging code.  The major change is to handle unexpected cancel events
from the DNS client code.
[ISC-Bugs 26287].
2012-02-03 22:47:43 +00:00
Tomek Mrugalski
06fb929cbc Regenerated makefiles and scripts (using aclocal-1.10, autoheader-2.61,
automake-1.10 and autoconf-2.61 on docs.lab)
2012-01-31 16:06:53 +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
3221151b74 Enhanced patch for 23595 to handle IPv4 fixed addresses more
cleanly.
2011-10-04 19:36:15 +00:00
Shawn Routhier
d424157d63 Add support for passing DDNS information to a DNS server over
an IPv6 address.  [ISC-Bugs #22647]
2011-09-21 20:36:55 +00:00
Shawn Routhier
086bd8f502 automake regeneration 2011-09-13 23:04:20 +00:00
Shawn Routhier
beaed73f00 DNS Update fix. A misconfigured server could crash during DNS update
processing if the configuration included overlapping pools or
multiple fixed-address entries for a single address.  This issue
affected both IPv4 and IPv6. The fix allows a server to detect such
conditions, provides the user with extra information and recommended
steps to fix the problem.  If the user enables the appropriate option
in site.h then server will be terminated
2011-07-08 22:49:11 +00:00
Tomek Mrugalski
d15aa96419 - Strict checks for content of domain-name DHCPv4 option can now be
configured during compilation time. Even though RFC2132 does not allow
  to store more than one domain in domain-name option, such behavior is
  now enabled by default, but this may change some time in the future.
  See ACCEPT_LIST_IN_DOMAIN_NAME define in includes/site.h.
  [ISC-Bugs #24167]
2011-07-01 12:07:09 +00:00
Shawn Routhier
ee33118373 autoheader regeneration 2011-06-27 16:04:51 +00:00
Shawn Routhier
7cfeb9160d In Solaris 11 switch to using sockets instead of DLPI, thanks
to a patch form Oracle.  [ISC-Bugs #24634].
2011-06-27 16:00:32 +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
c616de4f1e Compilation problem with gcc4.5 and omshell.c resolved. [ISC-Bugs #23831] 2011-05-12 11:16:41 +00:00
Tomek Mrugalski
a34feb7d81 - Code cleanup: remove obsolete PROTO, KandR, INLINE and ANSI_DECL macros
[ISC-Bugs #13151]
2011-05-11 14:01:25 +00:00
Shawn Routhier
fb30f3fc8b 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.
2011-05-11 00:38:56 +00:00
Tomek Mrugalski
023fbaa03e - 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]
2011-04-21 17:53:48 +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
Shawn Routhier
76518e404a autoheader regeneration 2011-04-15 21:59:16 +00:00
Shawn Routhier
391965129d 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]
2010-12-03 20:27:51 +00:00
David Hankins
76f4993d6e automake regeneration 2010-11-03 23:25:20 +00:00
Shawn Routhier
419ed83cb9 automake regeneration 2010-09-14 22:22:19 +00:00
Shawn Routhier
98d797ab41 autoheader regeneration 2010-09-14 22:21:56 +00:00
Shawn Routhier
6aaaf6a460 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.
2010-09-13 22:06:37 +00:00
Shawn Routhier
57fbc77221 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]
2010-09-09 22:18:02 +00:00
Shawn Routhier
4a5098e93f Add code to clear the pointer to an object in an OMAPI handle when the
object is freed due to a dereference.  [ISC-Bugs #21306]
2010-09-07 22:59:23 +00:00
Shawn Routhier
2b58b8650e Modify determination of ttl to use for DDNS update [ISC-Bugs #21126] 2010-05-27 17:19:26 +00:00