[dhcp-agent-commits] dhcp-agent/src dhcp-conf.c,1.11,1.12 dhcp-server-conf.c,1.4,1.5
Status: Alpha
Brought to you by:
actmodern
From: <act...@us...> - 2003-07-13 04:52:51
|
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; |