- Fixes to allow code to compile on Mac OS X Leopard (10.5).
+- When server is configured with options that it overrides, a warning is
+ issued when the configuration file is read, rather than at the time the
+ option is overridden. This was important, because the warning was given
+ every time the option was overridden, which could create a lot of
+ unnecessary logging.
+
Changes since 4.0.0b3
- The reverse dns name for PTR updates on IPv6 addresses has been fixed to
return declaration;
}
+ /*
+ * If the configuration attempts to define on option
+ * that we ignore, then warn about it now.
+ *
+ * In DHCPv4 we do not use dhcp-renewal-time or
+ * dhcp-rebinding-time, but we use these in DHCPv6.
+ *
+ * XXX: We may want to include a "blacklist" of
+ * options we ignore in the future, as a table.
+ */
+ if ((option->code == DHO_DHCP_LEASE_TIME) ||
+ ((local_family != AF_INET6) &&
+ ((option->code == DHO_DHCP_RENEWAL_TIME) ||
+ (option->code == DHO_DHCP_REBINDING_TIME))))
+ {
+ log_error("WARNING: server ignoring option %s "
+ "in configuration file.",
+ option->name);
+ }
+
finish_option:
et = (struct executable_statement *)0;
if (!parse_option_statement
putULong(state->expiry, (u_int32_t)offered_lease_time);
i = DHO_DHCP_LEASE_TIME;
- if (lookup_option (&dhcp_universe, state -> options, i))
- log_error ("dhcp-lease-time option for %s overridden.",
- inet_ntoa (state -> ciaddr));
oc = (struct option_cache *)0;
if (option_cache_allocate (&oc, MDL)) {
if (make_const_data(&oc->expression, state->expiry,
offered_lease_time /= 2;
putULong(state->renewal, (u_int32_t)offered_lease_time);
i = DHO_DHCP_RENEWAL_TIME;
- if (lookup_option (&dhcp_universe, state -> options, i))
- log_error ("overriding dhcp-renewal-time for %s.",
- inet_ntoa (state -> ciaddr));
oc = (struct option_cache *)0;
if (option_cache_allocate (&oc, MDL)) {
if (make_const_data(&oc->expression, state->renewal,
+ offered_lease_time / 4);
putULong(state->rebind, (u_int32_t)offered_lease_time);
i = DHO_DHCP_REBINDING_TIME;
- if (lookup_option (&dhcp_universe, state -> options, i))
- log_error ("overriding dhcp-rebinding-time for %s.",
- inet_ntoa (state -> ciaddr));
oc = (struct option_cache *)0;
if (option_cache_allocate (&oc, MDL)) {
if (make_const_data(&oc->expression, state->rebind,