Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv2741/src
Modified Files:
dhcp-conf.c dhcp-server-conf.c
Log Message:
finished range lease definition config
Index: dhcp-conf.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-conf.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** dhcp-conf.c 12 Jul 2003 17:42:36 -0000 1.11
--- dhcp-conf.c 13 Jul 2003 04:52:48 -0000 1.12
***************
*** 76,79 ****
--- 76,80 ----
xfree,
xfree,
+ xfree,
destroy_arg_string_list,
destroy_arg_group,
Index: dhcp-server-conf.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-conf.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** dhcp-server-conf.c 12 Jul 2003 17:42:36 -0000 1.4
--- dhcp-server-conf.c 13 Jul 2003 04:52:48 -0000 1.5
***************
*** 52,58 ****
static const arg_symbol_t *var_arg_symbols[] = { var_symbols, NULL, NULL };
! static const arg_type_t range_lease_arg_types[] = { CONF_IDENTIFIER, CONF_ADDRESS, CONF_ADDRESS, CONF_GROUP};
! static const char **range_lease_arg_strings[] = { var_strings, NULL, NULL, NULL };
! static const arg_symbol_t *range_lease_arg_symbols[] = { var_symbols, NULL, NULL, NULL };
static const arg_type_t option_arg_types[] = { CONF_STRING, CONF_ASSIGNMENT, CONF_STRING_LIST };
--- 52,58 ----
static const arg_symbol_t *var_arg_symbols[] = { var_symbols, NULL, NULL };
! static const arg_type_t range_lease_arg_types[] = { CONF_ADDRESS, CONF_ADDRESS, CONF_GROUP};
! static const char **range_lease_arg_strings[] = { NULL, NULL, NULL };
! static const arg_symbol_t *range_lease_arg_symbols[] = { NULL, NULL, NULL };
static const arg_type_t option_arg_types[] = { CONF_STRING, CONF_ASSIGNMENT, CONF_STRING_LIST };
***************
*** 76,80 ****
DIRECTIVE_RANGE_LEASE,
"range-lease",
! 4,
range_lease_arg_strings,
range_lease_arg_types,
--- 76,80 ----
DIRECTIVE_RANGE_LEASE,
"range-lease",
! 3,
range_lease_arg_strings,
range_lease_arg_types,
***************
*** 267,270 ****
--- 267,276 ----
top_address = *(ip_addr_t *)list_second(args);
+ /* make sure address range is correct. */
+ if(ntohl(bottom_address) >= ntohl(top_address)) {
+ ERROR_MESSAGE("range lease defined with bottom address higher or equal to top address.");
+ return 1;
+ }
+
address_pair = list_create();
list_add(address_pair, &top_address);
***************
*** 284,288 ****
case DIRECTIVE_OPTION:
! if(directive_option_handler(server_conf, lower_directive, GROUP_LEASE_DEF, &option_list))
return 1;
--- 290,294 ----
case DIRECTIVE_OPTION:
! if(directive_option_handler(server_conf, lower_directive, GROUP_LEASE_DEF, option_list))
return 1;
***************
*** 295,298 ****
--- 301,305 ----
lease_def = lease_definition_create(NULL, LEASE_RANGE_ADDRESS, address_pair, option_list, lease_expiry, renew_time, rebind_time);
+
list_add(server_conf->lease_defs, lease_def);
***************
*** 310,314 ****
list_t *option_list, *option_data_list;
char *option_name;
! int i;
const char **option_strings;
--- 317,321 ----
list_t *option_list, *option_data_list;
char *option_name;
! uint8_t i;
const char **option_strings;
***************
*** 326,330 ****
if(!strcmp(option_strings[i], option_name)) {
! option = dhcp_opt_create_from_user_string(i, option_data_list);
break;
}
--- 333,341 ----
if(!strcmp(option_strings[i], option_name)) {
! if((option = dhcp_opt_create_from_user_string(i, option_data_list)) == NULL) {
! ERROR_MESSAGE("illegal specification for option %s", option_name);
! return 1;
! }
!
break;
}
***************
*** 335,338 ****
--- 346,350 ----
return 1;
}
+
option_list = group_data;
|