2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-27 20:38:10 +00:00

173 Commits

Author SHA1 Message Date
Ted Lemon
98a8d72e71 - Fix up a minor nit in the fqdn code.
- Consistently tack an end option onto any outgoing option buffer.
2000-12-28 23:16:19 +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
8df547bf26 Fix an uninitialized variable reference 2000-11-29 13:38:36 +00:00
Ted Lemon
dd15a833d1 - Pass client state to eval functions.
- Fix a couple of bugs in agent option handling.
2000-11-28 23:10:28 +00:00
Ted Lemon
b05b429887 Fix up a bunch of suboption parsing bugs. 2000-11-24 04:00:04 +00:00
Ted Lemon
37ab25f678 Take out a bogus option cache dereference. 2000-10-13 18:47:21 +00:00
Ted Lemon
d4efd974e5 Fix a couple of signed vs. unsigned pointer errors. 2000-10-11 07:57:20 +00:00
Ted Lemon
77956158d4 - Make option spaces stored as linked lists first-class objects.
- Use these spaces for the agent option space, fqdn option space and
  nwip option space.
- Make encapsulator and decoder for fqdn option space.
- Support the agent option space the way all option spaces are supported
  to the extent possibol, rather than special-casing it.
- Add an enumerator function for defined options in an option space.
- Support encapsulated options directly with a format string, rather than
  as another special case.
2000-10-10 22:39:47 +00:00
Ted Lemon
723deaee8f Don't print trailing NUL when printing a text string. 2000-09-29 19:58:24 +00:00
Ted Lemon
d8fc506074 - Add Peter Marschall's new sub-array parser.
- Add support for options that have optional parts.
2000-09-16 20:01:09 +00:00
Ted Lemon
6ceb9118e9 Reference count binding scopes. Align IP headers on output. 2000-07-27 09:03:08 +00:00
Ted Lemon
4de4bfcd2c Correctly quote shell meta-characters. 2000-06-28 23:35:22 +00:00
Ted Lemon
ac4b9d4b9a Quote shell special characters. 2000-06-24 06:20:38 +00:00
Ted Lemon
165bce70b2 Fix up various platform-specific errors. 2000-05-17 16:04:26 +00:00
Ted Lemon
20916cae75 - Fix all the OMAPI objects in the DHCP server and client that weren't
being correctly reference-counted.
- Make and use object-specific allocators.
- Add reference/dereference support to hash functions and to timeout
  functions.
2000-05-16 23:03:49 +00:00
Ted Lemon
68f5590808 Make universe_hash using new_hash. 2000-03-18 03:34:11 +00:00
Ted Lemon
49733f31d3 Go back to the BSD license. 2000-03-17 04:00:32 +00:00
Ted Lemon
a77040e7c6 Support new DEBUG_RC_HISTORY_EXHAUSTIVELY flag. 2000-01-27 23:19:35 +00:00
Ted Lemon
37e365b490 - In reference count history, remember the address where the reference
is stored as well as the address of the thing referenced.
2000-01-27 22:40:55 +00:00
Ted Lemon
59ab132462 - Move malloc debug information out of option_state_dereferencers.
- Dump reference count history after handling packet if DEBUG_RC_HISTORY is
  defined.
- Use one macro to compute hash indices.
2000-01-27 22:16:08 +00:00
Ted Lemon
2545e6e7e0 Dump log of new outstanding allocations _after_ freeing the packet. 2000-01-26 17:22:26 +00:00
Ted Lemon
4bd8800e89 Fix compilation errors introduced in the last set of checkins. 2000-01-26 14:56:18 +00:00
Ted Lemon
dbf6124ad2 Support variable scoping, malloc debug. 2000-01-25 01:09:06 +00:00
Ted Lemon
6dd369e003 Add support for NetWare/IP encapsulated option. 2000-01-08 01:35:06 +00:00
Ted Lemon
d9c0544ca9 - Move agent information option handling out of common code, since it's
server-specific.
1999-11-13 23:51:50 +00:00
Ted Lemon
bb404b74d1 - Don't try to process the option buffer if there isn't one, and don't
try to process packets that don't at least have the basic BOOTP guts
  in them.
1999-10-08 17:08:34 +00:00
Ted Lemon
e703795db4 Fix some signed/unsigned pointer incompatibilities for Digital Unix. 1999-10-07 06:42:53 +00:00
Ted Lemon
b1b7b521fe Get a clean compile with all known gcc warnings. 1999-10-07 06:36:35 +00:00
Ted Lemon
4038ec529e - Regularize expression evaluation calls so that they are all passed a pointer
to the incoming packet, if any, the current lease, if any, the parsed
  incoming options, and the in-scope configuration file options.
- Incoming packets are now reference counted, so that the callee can save
  them for later expression evaluation (e.g., in dhcp_reply).
1999-07-31 18:03:55 +00:00
Ted Lemon
c6e7518cc1 - Pull a change from the 2.0 branch to make 'X' options print as strings
if possible.
1999-07-06 16:53:30 +00:00
Ted Lemon
da38df1433 Pervasive changes to support leased_address, reverse and binary_to_ascii. 1999-07-02 20:58:48 +00:00
Ted Lemon
8e0a40b8d9 Enclose abort() calls in POINTER_DEBUG ifdefs and just return otherwise. 1999-05-07 17:36:36 +00:00
Ted Lemon
33c8563849 - Support a site-local option space, so that different site-local
options can be defined in different scopes.
1999-04-23 22:10:52 +00:00
Ted Lemon
2c9c029193 - Cast return values from getShort and getUShort for egcs.
- Fix option lookup function usage.
1999-04-08 19:17:48 +00:00
Ted Lemon
c980aa65ed Pass down the option state in store_options. 1999-04-05 19:03:59 +00:00
Ted Lemon
c9605ddb0b Make option state support more general. 1999-04-05 15:40:59 +00:00
Ted Lemon
f39b6e0089 Update license. 1999-03-16 05:50:46 +00:00
Ted Lemon
ce0ec46d27 Pass parameter request list to cons_options. 1999-03-10 20:39:22 +00:00
Ted Lemon
8ae2d59584 Change names of error functions to be more consistent. 1999-02-24 17:56:53 +00:00
Ted Lemon
ca44c64d39 Add agent_options argument to cons_options 1998-11-06 00:12:40 +00:00
Ted Lemon
a370b55d06 Add new option cache handling code. 1998-11-05 18:42:47 +00:00
Ted Lemon
b480793829 cons_options now takes option_state struct instead of options and agent_options args. Fix bufgfer overflow attack in parameter request list. Change over to expression evaluation code instead of ds tree evaluation code. do_packet now takes a pointer to a dhcp packet instead of a pointer to a character buffer. This fixess another possible overflow. Add per-option-universe lookup and set functions. 1998-06-25 03:02:50 +00:00
Ted Lemon
f4c340534d Add dhcp_option_lookup and agent_option_lookup functions. 1998-04-19 23:19:14 +00:00
Ted Lemon
6f76b6ac67 Allow for null trees. 1998-04-09 04:31:59 +00:00
Ted Lemon
0a98d49899 If client sends a packet with a larger option buffer than allowed in the standard, use the same size option buffer. 1998-03-17 06:12:17 +00:00
Ted Lemon
a7822eac77 Declare arguments that can be promoted so that the compiler's behaviour doesn't change depending on whether or not it follows ANSI. Fix signed vs. unsigned char discrepencies. 1998-03-16 06:19:46 +00:00
Ted Lemon
81477e9101 Parse agent options specially. Pack agent options into outgoing messages if supplied. Allow caller to pass dhcp_max_message_size into cons_options if the original packet is no longer available. 1998-02-06 01:18:33 +00:00
Ted Lemon
eb0a9b2a16 Only use 64-byte option buffer for BOOTP packets 1997-09-16 18:15:25 +00:00
Ted Lemon
a9a9b7f151 Add emit_quotes qualifier to pretty_print_option, so that we don't get extra quotes when emitting strings into configuration scripts 1997-06-02 22:32:05 +00:00
Ted Lemon
00294c5604 Let bootp() check for correct type of packet 1997-05-09 08:07:09 +00:00