Lines Matching refs:cfile

35 static int parse_binding_value(struct parse *cfile,
38 static void parse_authoring_byte_order (struct parse *cfile);
39 static void parse_lease_id_format (struct parse *cfile);
41 static int parse_iaid_duid(struct parse *cfile, struct ia_xx** ia,
83 struct parse *cfile; in read_conf_file() local
135 cfile = (struct parse *)0; in read_conf_file()
173 status = new_parse(&cfile, -1, fbuf, ulen, filename, 0); /* XXX */ in read_conf_file()
175 status = new_parse(&cfile, file, NULL, 0, filename, 0); in read_conf_file()
177 if (status != ISC_R_SUCCESS || cfile == NULL) in read_conf_file()
181 status = lease_file_subparse (cfile); in read_conf_file()
183 status = conf_file_subparse (cfile, group, group_type); in read_conf_file()
184 end_parse (&cfile); in read_conf_file()
197 struct parse *cfile = (struct parse *)0; in trace_conf_input() local
212 status = new_parse(&cfile, -1, fbuf, flen, data, 0); in trace_conf_input()
213 if (status == ISC_R_SUCCESS || cfile != NULL) { in trace_conf_input()
215 lease_file_subparse (cfile); in trace_conf_input()
217 conf_file_subparse (cfile, root_group, ROOT_GROUP); in trace_conf_input()
218 end_parse (&cfile); in trace_conf_input()
242 isc_result_t conf_file_subparse (struct parse *cfile, struct group *group, in conf_file_subparse() argument
251 token = peek_token (&val, (unsigned *)0, cfile); in conf_file_subparse()
254 declaration = parse_statement (cfile, group, group_type, in conf_file_subparse()
258 skip_token(&val, (unsigned *)0, cfile); in conf_file_subparse()
260 status = cfile->warnings_occurred ? DHCP_R_BADPARSE : ISC_R_SUCCESS; in conf_file_subparse()
269 isc_result_t lease_file_subparse (struct parse *cfile) in lease_file_subparse() argument
276 token = next_token (&val, (unsigned *)0, cfile); in lease_file_subparse()
281 if (parse_lease_declaration (&lease, cfile)) { in lease_file_subparse()
285 parse_warn (cfile, in lease_file_subparse()
288 parse_ia_na_declaration(cfile); in lease_file_subparse()
290 parse_ia_ta_declaration(cfile); in lease_file_subparse()
292 parse_ia_pd_declaration(cfile); in lease_file_subparse()
294 parse_class_declaration(0, cfile, root_group, in lease_file_subparse()
297 parse_class_declaration(0, cfile, root_group, in lease_file_subparse()
300 parse_host_declaration (cfile, root_group); in lease_file_subparse()
302 parse_group_declaration (cfile, root_group); in lease_file_subparse()
306 (cfile, (dhcp_failover_state_t *)0); in lease_file_subparse()
310 parse_server_duid(cfile); in lease_file_subparse()
313 parse_authoring_byte_order(cfile); in lease_file_subparse()
316 skip_to_semi (cfile); in lease_file_subparse()
321 status = cfile->warnings_occurred ? DHCP_R_BADPARSE : ISC_R_SUCCESS; in lease_file_subparse()
356 int parse_statement (cfile, group, type, host_decl, declaration) in parse_statement() argument
357 struct parse *cfile; in parse_statement()
376 token = peek_token (&val, (unsigned *)0, cfile);
380 skip_token(&val, (unsigned *)0, cfile);
381 token = next_token (&val, (unsigned *)0, cfile);
383 parse_warn (cfile, "filename string expected.");
384 skip_to_semi (cfile);
388 parse_warn (cfile, "%s: bad parse.", val);
389 parse_semi (cfile);
394 skip_token(&val, (unsigned *)0, cfile);
404 parse_host_declaration (cfile, group);
406 parse_warn (cfile,
408 skip_to_semi (cfile);
413 skip_token(&val, (unsigned *)0, cfile);
415 parse_group_declaration (cfile, group);
417 parse_warn (cfile,
419 skip_to_semi (cfile);
424 skip_token(&val, (unsigned *)0, cfile);
429 parse_warn (cfile, "shared-network parameters not %s.",
431 skip_to_semi (cfile);
435 parse_shared_net_declaration (cfile, group);
440 skip_token(&val, (unsigned *)0, cfile);
443 parse_warn (cfile,
445 skip_to_semi (cfile);
452 parse_subnet_declaration(cfile,
455 parse_subnet6_declaration(cfile,
486 parse_subnet_declaration(cfile, share);
488 parse_subnet6_declaration(cfile, share);
522 skip_token(&val, (unsigned *)0, cfile);
524 parse_warn (cfile,
526 skip_to_semi (cfile);
529 parse_class_declaration(NULL, cfile, group, CLASS_TYPE_VENDOR);
533 skip_token(&val, (unsigned *)0, cfile);
535 parse_warn (cfile,
537 skip_to_semi (cfile);
540 parse_class_declaration(NULL, cfile, group, CLASS_TYPE_USER);
544 skip_token(&val, (unsigned *)0, cfile);
546 parse_warn (cfile,
548 skip_to_semi (cfile);
551 parse_class_declaration(NULL, cfile, group, CLASS_TYPE_CLASS);
555 skip_token(&val, (unsigned *)0, cfile);
557 parse_warn (cfile,
559 skip_to_semi (cfile);
562 parse_class_declaration(NULL, cfile, group,
567 skip_token(&val, (unsigned *)0, cfile);
571 parse_warn(cfile, "Host %s hardware address already "
576 parse_hardware_param (cfile, &hardware);
580 parse_warn (cfile, "hardware address parameter %s",
586 skip_token(&val, NULL, cfile);
588 if (parse_fixed_addr_param(&cache, cfile, token)) {
592 parse_warn(cfile,
599 parse_warn(cfile,
608 skip_token(&val, (unsigned *)0, cfile);
610 parse_warn (cfile, "pool declared within pool.");
611 skip_to_semi(cfile);
613 parse_warn (cfile, "pool declared outside of network");
614 skip_to_semi(cfile);
616 parse_pool_statement (cfile, group, type);
621 skip_token(&val, (unsigned *)0, cfile);
623 parse_warn (cfile,
625 skip_to_semi (cfile);
628 parse_address_range (cfile, group, type, (struct pool *)0,
634 skip_token(NULL, NULL, cfile);
636 parse_warn (cfile,
638 skip_to_semi(cfile);
641 parse_address_range6(cfile, group, NULL);
645 skip_token(NULL, NULL, cfile);
647 parse_warn (cfile,
649 skip_to_semi(cfile);
652 parse_prefix6(cfile, group, NULL);
656 skip_token(&val, NULL, cfile);
658 parse_warn (cfile,
661 skip_to_semi(cfile);
664 parse_fixed_prefix6(cfile, host_decl);
668 skip_token(&val, NULL, cfile);
670 parse_warn (cfile, "pool6 declared within pool.");
671 skip_to_semi(cfile);
673 parse_warn (cfile, "pool6 declared outside of network");
674 skip_to_semi(cfile);
676 parse_pool6_statement (cfile, group, type);
683 skip_token(&val, (unsigned *)0, cfile);
684 token = next_token (&val, (unsigned *)0, cfile);
690 parse_warn (cfile, "expecting assertion");
691 skip_to_semi (cfile);
696 skip_token(&val, (unsigned *)0, cfile);
700 parse_warn (cfile, "authority makes no sense here.");
701 parse_semi (cfile);
712 skip_token(&val, (unsigned *)0, cfile);
716 skip_token(&val, (unsigned *)0, cfile);
717 token = peek_token (&val, (unsigned *)0, cfile);
720 parse_warn (cfile,
723 skip_to_semi (cfile);
726 parse_option_space_decl (cfile);
731 status = parse_option_name(cfile, 1, &known, &option);
733 token = peek_token (&val, (unsigned *)0, cfile);
736 parse_warn (cfile,
739 skip_to_semi (cfile);
743 skip_token(&val, (unsigned *)0, cfile);
758 parse_option_code_definition(cfile, option);
766 parse_warn (cfile, "unknown option %s.%s",
769 skip_to_semi (cfile);
777 (&et, cfile, 1, option,
792 parse_warn (cfile, "failover peers may only be %s",
795 skip_to_semi (cfile);
798 token = next_token (&val, (unsigned *)0, cfile);
800 parse_failover_peer (cfile, group, type);
802 parse_warn (cfile, "No failover support.");
803 skip_to_semi (cfile);
809 parse_server_duid_conf(cfile);
814 token = next_token (&val, (unsigned *)0, cfile);
815 parse_lease_id_format(cfile);
820 skip_to_semi (cfile);
826 if (!parse_executable_statement (&et, cfile, &lose,
830 parse_warn (cfile,
833 parse_warn (cfile,
836 skip_to_semi (cfile);
888 void parse_failover_peer (cfile, group, type) in parse_failover_peer() argument
889 struct parse *cfile; in parse_failover_peer()
906 token = next_token (&val, (unsigned *)0, cfile);
908 parse_warn (cfile, "expecting \"peer\"");
909 skip_to_semi (cfile);
913 token = next_token (&val, (unsigned *)0, cfile);
920 parse_warn (cfile, "expecting failover peer name.");
921 skip_to_semi (cfile);
929 token = next_token (&val, (unsigned *)0, cfile);
932 parse_warn (cfile, "failover peer reference not %s",
936 parse_warn (cfile, "reference to unknown%s%s",
950 parse_warn (cfile, "state declaration for unknown%s%s",
955 parse_failover_state_declaration (cfile, peer);
960 parse_warn (cfile, "expecting left brace");
961 skip_to_semi (cfile);
966 parse_warn (cfile, "redeclaration of failover peer %s", name);
967 skip_to_rbrace (cfile, 1);
984 token = next_token (&val, (unsigned *)0, cfile);
996 parse_warn (cfile,
1007 if (!parse_ip_addr_or_hostname (&expr, cfile, 0)) {
1008 skip_to_rbrace (cfile, 1);
1019 token = next_token (&val, (unsigned *)0, cfile);
1021 parse_warn (cfile, "expecting number");
1022 skip_to_rbrace (cfile, 1);
1050 token = next_token (&val, (unsigned *)0, cfile);
1052 parse_warn (cfile, "expecting number.");
1053 skip_to_rbrace (cfile, 1);
1071 parse_warn (cfile,
1074 if (!parse_numeric_aggregate (cfile, hba, &hba_len,
1076 skip_to_rbrace (cfile, 1);
1081 parse_warn (cfile,
1095 token = next_token (&val, (unsigned *)0, cfile);
1097 parse_warn (cfile,
1101 parse_warn (cfile, "expecting number");
1102 skip_to_rbrace (cfile, 1);
1108 parse_warn (cfile, "split must be between "
1121 token = next_token (&val, (unsigned *)0, cfile);
1123 parse_warn (cfile, "expecting 'balance'");
1125 skip_to_rbrace (cfile, 1);
1128 token = next_token (&val, (unsigned *)0, cfile);
1130 parse_warn (cfile, "expecting 'max'");
1133 token = next_token (&val, (unsigned *)0, cfile);
1135 parse_warn (cfile, "expecting 'secs'");
1138 token = next_token (&val, (unsigned *)0, cfile);
1140 parse_warn (cfile, "expecting number");
1147 parse_warn (cfile,
1149 skip_to_rbrace (cfile, 1);
1153 if (token != RBRACE && !parse_semi (cfile)) {
1154 skip_to_rbrace (cfile, 1);
1164 parse_warn (cfile, "peer address may not be omitted");
1173 parse_warn (cfile,
1176 parse_warn (cfile,
1205 parse_warn (cfile, "failover peer %s: %s",
1210 void parse_failover_state_declaration (struct parse *cfile, in parse_failover_state_declaration() argument
1220 token = next_token (&val, (unsigned *)0, cfile); in parse_failover_state_declaration()
1222 parse_warn (cfile, "expecting \"peer\""); in parse_failover_state_declaration()
1223 skip_to_semi (cfile); in parse_failover_state_declaration()
1227 token = next_token (&val, (unsigned *)0, cfile); in parse_failover_state_declaration()
1235 parse_warn (cfile, "expecting failover peer name."); in parse_failover_state_declaration()
1236 skip_to_semi (cfile); in parse_failover_state_declaration()
1244 parse_warn (cfile, "unknown failover peer: %s", name); in parse_failover_state_declaration()
1245 skip_to_semi (cfile); in parse_failover_state_declaration()
1249 token = next_token (&val, (unsigned *)0, cfile); in parse_failover_state_declaration()
1251 parse_warn (cfile, "expecting 'state'"); in parse_failover_state_declaration()
1253 skip_to_semi (cfile); in parse_failover_state_declaration()
1260 token = next_token (&val, (unsigned *)0, cfile); in parse_failover_state_declaration()
1262 parse_warn (cfile, "expecting left brace"); in parse_failover_state_declaration()
1264 skip_to_semi (cfile); in parse_failover_state_declaration()
1269 token = next_token (&val, (unsigned *)0, cfile); in parse_failover_state_declaration()
1276 token = next_token (&val, (unsigned *)0, cfile); in parse_failover_state_declaration()
1278 parse_warn (cfile, "expecting 'state'"); in parse_failover_state_declaration()
1281 parse_failover_state (cfile, in parse_failover_state_declaration()
1291 parse_warn (cfile, in parse_failover_state_declaration()
1295 token = next_token (&val, (unsigned *)0, cfile); in parse_failover_state_declaration()
1297 parse_warn (cfile, "expecting a number."); in parse_failover_state_declaration()
1301 parse_semi (cfile); in parse_failover_state_declaration()
1305 parse_warn (cfile, "expecting state setting."); in parse_failover_state_declaration()
1307 skip_to_rbrace (cfile, 1); in parse_failover_state_declaration()
1315 void parse_failover_state (cfile, state, stos) in parse_failover_state() argument
1316 struct parse *cfile; in parse_failover_state()
1325 token = next_token (&val, (unsigned *)0, cfile);
1380 parse_warn (cfile, "unknown failover state");
1381 skip_to_semi (cfile);
1385 token = next_token (&val, (unsigned *)0, cfile);
1390 parse_warn (cfile, "expecting \"at\"");
1391 skip_to_semi (cfile);
1395 stos_in = parse_date (cfile);
1429 void parse_authoring_byte_order (struct parse *cfile) in parse_authoring_byte_order() argument
1437 parse_warn (cfile, in parse_authoring_byte_order()
1440 skip_to_semi (cfile); in parse_authoring_byte_order()
1444 token = next_token(&val, (unsigned *)0, cfile); in parse_authoring_byte_order()
1453 parse_warn(cfile, "authoring-byte-order is invalid: " in parse_authoring_byte_order()
1455 skip_to_semi(cfile); in parse_authoring_byte_order()
1464 token = next_token(&val, &len, cfile); in parse_authoring_byte_order()
1466 parse_warn(cfile, "corrupt lease file; expecting a semicolon"); in parse_authoring_byte_order()
1467 skip_to_semi(cfile); in parse_authoring_byte_order()
1486 void parse_lease_id_format (struct parse *cfile) in parse_lease_id_format() argument
1492 token = next_token(&val, NULL, cfile); in parse_lease_id_format()
1501 parse_warn(cfile, "lease-id-format is invalid: " in parse_lease_id_format()
1503 skip_to_semi(cfile); in parse_lease_id_format()
1510 token = next_token(&val, &len, cfile); in parse_lease_id_format()
1512 parse_warn(cfile, "corrupt lease file; expecting a semicolon"); in parse_lease_id_format()
1513 skip_to_semi(cfile); in parse_lease_id_format()
1550 void get_permit(cfile, permit_head, is_allow, valid_from, valid_until) in get_permit() argument
1551 struct parse *cfile; in get_permit()
1567 token = next_token(&val, NULL, cfile);
1601 if (next_token (&val, NULL, cfile) != TOKEN_BOOTP) {
1602 parse_warn (cfile, "expecting \"bootp\"");
1603 skip_to_semi (cfile);
1611 if (next_token (&val, NULL, cfile) != OF) {
1612 parse_warn (cfile, "expecting \"of\"");
1613 skip_to_semi (cfile);
1617 if (next_token (&val, NULL, cfile) != STRING) {
1618 parse_warn (cfile, "expecting class name.");
1619 skip_to_semi (cfile);
1627 parse_warn(cfile, "no such class: %s", val);
1633 parse_warn(cfile, "duplicate \"after\" clause.");
1634 skip_to_semi(cfile);
1638 t = parse_date_core(cfile);
1649 parse_warn (cfile, "expecting permit type.");
1650 skip_to_semi (cfile);
1660 (next_token (&val, NULL, cfile) != CLIENTS)) {
1661 parse_warn (cfile, "expecting \"clients\"");
1662 skip_to_semi (cfile);
1670 parse_semi (cfile);
1724 void parse_pool_statement (cfile, group, type) in parse_pool_statement() argument
1725 struct parse *cfile; in parse_pool_statement()
1751 parse_warn(cfile, "Dynamic pools are only valid inside "
1753 skip_to_semi(cfile);
1769 if (!parse_lbrace(cfile)) {
1775 token = peek_token(&val, NULL, cfile);
1778 skip_token(&val, NULL, cfile);
1779 token = next_token(&val, NULL, cfile);
1781 (token = next_token(&val, NULL, cfile)) != PEER) {
1782 parse_warn(cfile,
1784 skip_to_semi(cfile);
1796 skip_token(&val, NULL, cfile);
1797 token = next_token (&val, NULL, cfile);
1799 parse_warn(cfile, "expecting 'peer'.");
1800 skip_to_semi(cfile);
1803 token = next_token(&val, NULL, cfile);
1805 parse_warn(cfile, "expecting string.");
1806 skip_to_semi(cfile);
1815 parse_warn(cfile,
1820 parse_semi(cfile);
1825 skip_token(&val, NULL, cfile);
1826 parse_address_range (cfile, group, type,
1830 skip_token(&val, NULL, cfile);
1831 get_permit(cfile, &pool->permit_list, 1,
1836 skip_token(&val, NULL, cfile);
1837 get_permit(cfile, &pool->prohibit_list, 0,
1842 skip_token(&val, NULL, cfile);
1852 parse_warn(cfile, "unexpected end of file");
1856 declaration = parse_statement(cfile, pool->group,
1910 parse_warn(cfile, "Pool declaration with no address range.");
1933 int parse_lbrace (cfile) in parse_lbrace() argument
1934 struct parse *cfile; in parse_lbrace()
1939 token = next_token (&val, (unsigned *)0, cfile);
1941 parse_warn (cfile, "expecting left brace.");
1942 skip_to_semi (cfile);
1951 void parse_host_declaration (cfile, group) in parse_host_declaration() argument
1952 struct parse *cfile; in parse_host_declaration()
1967 name = parse_host_name (cfile);
1969 parse_warn (cfile, "expecting a name for host declaration.");
1970 skip_to_semi (cfile);
1987 if (!parse_lbrace (cfile))
1991 token = peek_token (&val, (unsigned *)0, cfile);
1993 skip_token(&val, (unsigned *)0, cfile);
1997 skip_token(&val, (unsigned *)0, cfile);
1998 parse_warn (cfile, "unexpected end of file");
2005 skip_token(&val, (unsigned *)0, cfile);
2006 if (!parse_semi (cfile))
2014 skip_token(&val, (unsigned *)0, cfile);
2015 if (!parse_semi (cfile))
2022 skip_token(&val, (unsigned *)0, cfile);
2023 token = next_token (&val, (unsigned *)0, cfile);
2025 parse_warn (cfile,
2027 skip_to_rbrace (cfile, 1);
2033 parse_warn (cfile, "unknown group %s in host %s",
2043 if (!parse_semi (cfile))
2053 skip_token(&val, (unsigned *)0, cfile);
2059 parse_warn(cfile,
2062 skip_to_rbrace(cfile, 1);
2067 token = peek_token (&val, (unsigned *)0, cfile);
2069 skip_token(&val, &len, cfile);
2075 (cfile,
2078 parse_warn (cfile,
2080 skip_to_semi (cfile);
2097 if (!parse_semi (cfile))
2104 parse_warn(cfile,
2107 skip_to_rbrace(cfile, 1);
2110 skip_token(&val, NULL, cfile);
2111 token = next_token(&val, NULL, cfile);
2113 token = next_token(&val, NULL, cfile);
2115 parse_warn(cfile,
2118 skip_to_rbrace(cfile, 1);
2123 parse_warn(cfile,
2126 skip_to_rbrace(cfile, 1);
2130 parse_warn(cfile,
2133 skip_to_rbrace(cfile, 1);
2138 status = parse_option_name(cfile, 1, &known, &option);
2143 parse_warn(cfile, "unknown option %s.%s",
2146 skip_to_rbrace(cfile, 1);
2150 if (! parse_option_data(&expr, cfile, 1, option)) {
2151 skip_to_rbrace(cfile, 1);
2156 if (!parse_semi(cfile)) {
2157 skip_to_rbrace(cfile, 1);
2171 declaration = parse_statement(cfile, host->group, HOST_DECL,
2209 parse_warn (cfile, "host %s: %s", host -> name,
2218 int parse_class_declaration (cp, cfile, group, type) in parse_class_declaration() argument
2220 struct parse *cfile;
2239 token = next_token (&val, NULL, cfile);
2241 parse_warn (cfile, "Expecting class name");
2242 skip_to_semi (cfile);
2258 parse_warn(cfile, "no class named %s", val);
2259 skip_to_semi(cfile);
2297 token = peek_token (&val, NULL, cfile);
2299 skip_token(&val, &data.len, cfile);
2315 if (!parse_cshl (&data, cfile)) {
2321 parse_warn (cfile, "Expecting string or hex list.");
2404 token = peek_token (&val, NULL, cfile);
2406 skip_token(&val, NULL, cfile);
2421 if (!parse_lbrace (cfile)) {
2429 token = peek_token (&val, NULL, cfile);
2431 skip_token(&val, NULL, cfile);
2434 skip_token(&val, NULL, cfile);
2435 parse_warn (cfile, "unexpected end of file");
2439 skip_token(&val, NULL, cfile);
2440 if (!parse_semi (cfile))
2445 skip_token(&val, NULL, cfile);
2446 if (!parse_semi (cfile))
2451 parse_warn (cfile,
2453 skip_to_semi (cfile);
2456 skip_token(&val, NULL, cfile);
2457 token = peek_token (&val, NULL, cfile);
2460 skip_token(&val, NULL, cfile);
2462 parse_warn(cfile, "A class may only have "
2464 skip_to_semi(cfile);
2470 if (!parse_boolean_expression (&class->expr, cfile,
2473 parse_warn (cfile,
2475 skip_to_semi (cfile);
2482 parse_semi (cfile);
2485 skip_token(&val, NULL, cfile);
2487 parse_warn (cfile,
2489 skip_to_semi (cfile);
2493 token = next_token (&val, NULL, cfile);
2495 parse_warn (cfile,
2497 skip_to_semi (cfile);
2502 parse_warn (cfile,
2505 skip_to_semi (cfile);
2512 cfile, &lose)) {
2514 parse_warn (cfile,
2516 skip_to_semi (cfile);
2523 parse_semi (cfile);
2526 skip_token(&val, NULL, cfile);
2527 token = next_token (&val, NULL, cfile);
2529 parse_warn (cfile, "expecting \"limit\"");
2531 skip_to_semi (cfile);
2534 token = next_token (&val, NULL, cfile);
2536 parse_warn (cfile, "expecting a number");
2538 skip_to_semi (cfile);
2553 parse_semi (cfile);
2555 declaration = parse_statement (cfile, class -> group,
2598 void parse_shared_net_declaration (cfile, group) in parse_shared_net_declaration() argument
2599 struct parse *cfile; in parse_shared_net_declaration()
2621 token = peek_token (&val, (unsigned *)0, cfile);
2623 skip_token(&val, (unsigned *)0, cfile);
2626 parse_warn (cfile, "zero-length shared network name");
2634 name = parse_host_name (cfile);
2636 parse_warn (cfile,
2638 skip_to_semi (cfile);
2645 if (!parse_lbrace (cfile)) {
2651 token = peek_token (&val, (unsigned *)0, cfile);
2653 skip_token(&val, (unsigned *)0, cfile);
2655 parse_warn (cfile,
2662 skip_token(&val, (unsigned *)0, cfile);
2663 parse_warn (cfile, "unexpected end of file");
2666 skip_token(&val, (unsigned *)0, cfile);
2667 token = next_token (&val, (unsigned *)0, cfile);
2668 new_shared_network_interface (cfile, share, val);
2669 if (!parse_semi (cfile))
2674 declaration = parse_statement (cfile, share -> group,
2684 common_subnet_parsing(struct parse *cfile, in common_subnet_parsing() argument
2694 if (!parse_lbrace(cfile)) { in common_subnet_parsing()
2700 token = peek_token(&val, NULL, cfile); in common_subnet_parsing()
2702 skip_token(&val, NULL, cfile); in common_subnet_parsing()
2705 skip_token(&val, NULL, cfile); in common_subnet_parsing()
2706 parse_warn (cfile, "unexpected end of file"); in common_subnet_parsing()
2709 skip_token(&val, NULL, cfile); in common_subnet_parsing()
2710 token = next_token(&val, NULL, cfile); in common_subnet_parsing()
2711 new_shared_network_interface(cfile, share, val); in common_subnet_parsing()
2712 if (!parse_semi(cfile)) in common_subnet_parsing()
2716 declaration = parse_statement(cfile, subnet->group, in common_subnet_parsing()
2755 void parse_subnet_declaration (cfile, share) in parse_subnet_declaration() argument
2756 struct parse *cfile; in parse_subnet_declaration()
2792 if (!parse_numeric_aggregate (cfile, addr, &len, DOT, 10, 8)) {
2800 token = next_token (&val, (unsigned *)0, cfile);
2802 parse_warn (cfile, "Expecting netmask");
2803 skip_to_semi (cfile);
2809 if (!parse_numeric_aggregate (cfile, addr, &len, DOT, 10, 8)) {
2828 parse_warn (cfile,
2833 skip_to_semi (cfile);
2837 common_subnet_parsing(cfile, share, subnet);
2844 parse_subnet6_declaration(struct parse *cfile, struct shared_network *share) { in parse_subnet6_declaration() argument
2846 parse_warn(cfile, "No DHCPv6 support."); in parse_subnet6_declaration()
2847 skip_to_semi(cfile); in parse_subnet6_declaration()
2861 parse_warn(cfile, "subnet6 statement is only supported " in parse_subnet6_declaration()
2863 skip_to_semi(cfile); in parse_subnet6_declaration()
2868 parse_warn(cfile, "subnet6 statement is only supported " in parse_subnet6_declaration()
2870 skip_to_semi(cfile); in parse_subnet6_declaration()
2900 if (!parse_ip6_addr(cfile, &subnet->net)) { in parse_subnet6_declaration()
2905 token = next_token(&val, NULL, cfile); in parse_subnet6_declaration()
2907 parse_warn(cfile, "Expecting a '/'."); in parse_subnet6_declaration()
2909 skip_to_semi(cfile); in parse_subnet6_declaration()
2913 token = next_token(&val, NULL, cfile); in parse_subnet6_declaration()
2915 parse_warn(cfile, "Expecting a number."); in parse_subnet6_declaration()
2917 skip_to_semi(cfile); in parse_subnet6_declaration()
2925 parse_warn(cfile, "Expecting a number between 0 and 128."); in parse_subnet6_declaration()
2927 skip_to_semi(cfile); in parse_subnet6_declaration()
2932 parse_warn(cfile, "New subnet mask too short."); in parse_subnet6_declaration()
2934 skip_to_semi(cfile); in parse_subnet6_declaration()
2953 parse_warn(cfile, in parse_subnet6_declaration()
2957 skip_to_semi(cfile); in parse_subnet6_declaration()
2961 if (!common_subnet_parsing(cfile, share, subnet)) { in parse_subnet6_declaration()
2969 void parse_group_declaration (cfile, group) in parse_group_declaration() argument
2970 struct parse *cfile; in parse_group_declaration()
2988 token = peek_token(&val, NULL, cfile);
2990 skip_token(&val, NULL, cfile);
2998 if (!parse_lbrace(cfile)) {
3004 token = peek_token(&val, NULL, cfile);
3006 skip_token(&val, NULL, cfile);
3009 skip_token(&val, NULL, cfile);
3010 parse_warn(cfile, "unexpected end of file");
3013 skip_token(&val, NULL, cfile);
3014 parse_semi(cfile);
3017 skip_token(&val, NULL, cfile);
3018 parse_semi(cfile);
3021 skip_token(&val, NULL, cfile);
3022 parse_semi(cfile);
3025 declaration = parse_statement(cfile, g, GROUP_DECL,
3063 struct parse *cfile, in parse_fixed_addr_param() argument
3075 parse_ok = parse_ip_addr_or_hostname(&tmp, cfile, 1); in parse_fixed_addr_param()
3078 parse_ok = parse_ip6_addr_expr(&tmp, cfile); in parse_fixed_addr_param()
3099 token = peek_token(&val, NULL, cfile); in parse_fixed_addr_param()
3101 token = next_token(&val, NULL, cfile); in parse_fixed_addr_param()
3105 if (!parse_semi(cfile)) { in parse_fixed_addr_param()
3133 int parse_lease_declaration (struct lease **lp, struct parse *cfile) in parse_lease_declaration() argument
3162 if (!parse_numeric_aggregate (cfile, addr, &len, DOT, 10, 8)) { in parse_lease_declaration()
3169 if (!parse_lbrace (cfile)) { in parse_lease_declaration()
3175 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3179 parse_warn (cfile, "unexpected end of file"); in parse_lease_declaration()
3194 t = parse_date (cfile); in parse_lease_declaration()
3235 token = peek_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3238 skip_token(&val, &buflen, cfile); in parse_lease_declaration()
3260 (cfile, (unsigned char *)0, in parse_lease_declaration()
3270 parse_warn (cfile, "zero-length uid"); in parse_lease_declaration()
3272 parse_semi (cfile); in parse_lease_declaration()
3276 parse_semi (cfile); in parse_lease_declaration()
3284 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3287 skip_to_rbrace (cfile, 1); in parse_lease_declaration()
3291 parse_semi (cfile); in parse_lease_declaration()
3297 parse_hardware_param (cfile, in parse_lease_declaration()
3304 parse_semi(cfile); in parse_lease_declaration()
3310 parse_semi (cfile); in parse_lease_declaration()
3318 parse_semi (cfile); in parse_lease_declaration()
3323 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3325 parse_warn (cfile, "expecting 'binding'"); in parse_lease_declaration()
3326 skip_to_semi (cfile); in parse_lease_declaration()
3333 token = next_token(&val, NULL, cfile); in parse_lease_declaration()
3335 parse_warn(cfile, "expecting 'binding'"); in parse_lease_declaration()
3336 skip_to_semi(cfile); in parse_lease_declaration()
3345 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3347 parse_warn (cfile, "expecting 'state'"); in parse_lease_declaration()
3348 skip_to_semi (cfile); in parse_lease_declaration()
3351 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3388 parse_warn (cfile, in parse_lease_declaration()
3391 skip_to_semi (cfile); in parse_lease_declaration()
3418 parse_semi (cfile); in parse_lease_declaration()
3423 token = peek_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3425 if (!parse_string (cfile, in parse_lease_declaration()
3433 parse_host_name (cfile); in parse_lease_declaration()
3435 parse_semi (cfile); in parse_lease_declaration()
3437 parse_warn (cfile, in parse_lease_declaration()
3439 skip_to_semi (cfile); in parse_lease_declaration()
3449 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3452 (unsigned *)0, cfile); in parse_lease_declaration()
3454 parse_warn (cfile, "expecting string"); in parse_lease_declaration()
3456 skip_to_semi (cfile); in parse_lease_declaration()
3465 parse_warn (cfile, in parse_lease_declaration()
3467 parse_semi (cfile); in parse_lease_declaration()
3472 parse_class_declaration(&class, cfile, NULL, in parse_lease_declaration()
3475 parse_warn (cfile, "expecting \"class\""); in parse_lease_declaration()
3477 skip_to_semi (cfile); in parse_lease_declaration()
3489 if (!parse_on_statement (&on, cfile, &lose)) { in parse_lease_declaration()
3490 skip_to_rbrace (cfile, 1); in parse_lease_declaration()
3517 if (parse_option_decl (&oc, cfile)) { in parse_lease_declaration()
3520 parse_warn (cfile, in parse_lease_declaration()
3544 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3546 parse_warn (cfile, in parse_lease_declaration()
3550 skip_to_semi (cfile); in parse_lease_declaration()
3588 token = next_token (&val, (unsigned *)0, cfile); in parse_lease_declaration()
3590 parse_warn (cfile, in parse_lease_declaration()
3601 if (!parse_binding_value(cfile, nv)) { in parse_lease_declaration()
3623 parse_semi(cfile); in parse_lease_declaration()
3637 parse_warn(cfile, "Unexpected configuration " in parse_lease_declaration()
3639 skip_to_semi (cfile); in parse_lease_declaration()
3646 parse_warn (cfile, in parse_lease_declaration()
3694 parse_binding_value(struct parse *cfile, struct binding_value *value) in parse_binding_value() argument
3702 if ((cfile == NULL) || (value == NULL)) in parse_binding_value()
3705 token = peek_token(&val, NULL, cfile); in parse_binding_value()
3707 skip_token(&val, &buflen, cfile); in parse_binding_value()
3725 s = parse_numeric_aggregate(cfile, NULL, &data->len, in parse_binding_value()
3728 skip_to_semi(cfile); in parse_binding_value()
3743 skip_token(&val, NULL, cfile); in parse_binding_value()
3744 token = next_token(&val, NULL, cfile); in parse_binding_value()
3746 parse_warn(cfile, "expecting decimal number."); in parse_binding_value()
3748 skip_to_semi(cfile); in parse_binding_value()
3754 token = next_token(&val, NULL, cfile); in parse_binding_value()
3761 parse_warn(cfile, "expecting true or false"); in parse_binding_value()
3763 skip_to_semi(cfile); in parse_binding_value()
3767 parse_warn (cfile, "expecting a constant value."); in parse_binding_value()
3769 skip_to_semi (cfile); in parse_binding_value()
3779 void parse_address_range (cfile, group, type, inpool, lpchain) in parse_address_range() argument
3780 struct parse *cfile; in parse_address_range()
3798 (unsigned *)0, cfile)) == DYNAMIC_BOOTP) {
3799 skip_token(&val, (unsigned *)0, cfile);
3804 if (!parse_numeric_aggregate (cfile, addr, &len, DOT, 10, 8))
3810 token = peek_token (&val, (unsigned *)0, cfile);
3815 if (!parse_numeric_aggregate (cfile, addr, &len, DOT, 10, 8))
3821 token = next_token (&val, (unsigned *)0, cfile);
3823 parse_warn (cfile, "semicolon expected.");
3824 skip_to_semi (cfile);
3840 parse_warn (cfile, "address range not on network %s",
3915 parse_warn (cfile, "dynamic-bootp flag is %s",
3937 new_address_range (cfile, low, high, subnet, pool, lpchain);
4130 parse_address_range6(struct parse *cfile, in parse_address_range6() argument
4143 parse_warn(cfile, "range6 statement is only supported " in parse_address_range6()
4145 skip_to_semi(cfile); in parse_address_range6()
4156 if (!parse_ip6_addr(cfile, &lo)) { in parse_address_range6()
4163 parse_warn(cfile, "range6 start address is outside the subnet"); in parse_address_range6()
4164 skip_to_semi(cfile); in parse_address_range6()
4177 token = peek_token(&val, NULL, cfile); in parse_address_range6()
4182 skip_token(NULL, NULL, cfile); in parse_address_range6()
4183 token = next_token(&val, NULL, cfile); in parse_address_range6()
4185 parse_warn(cfile, "expecting number"); in parse_address_range6()
4186 skip_to_semi(cfile); in parse_address_range6()
4192 parse_warn(cfile, "networks have 0 to 128 bits"); in parse_address_range6()
4193 skip_to_semi(cfile); in parse_address_range6()
4197 parse_warn(cfile, in parse_address_range6()
4199 skip_to_semi(cfile); in parse_address_range6()
4203 parse_warn(cfile, "network mask too short"); in parse_address_range6()
4204 skip_to_semi(cfile); in parse_address_range6()
4210 token = peek_token(&val, NULL, cfile); in parse_address_range6()
4213 parse_warn(cfile, "temporary mask too short"); in parse_address_range6()
4215 parse_warn(cfile, "temporary singleton?"); in parse_address_range6()
4216 skip_token(NULL, NULL, cfile); in parse_address_range6()
4227 skip_token(NULL, NULL, cfile); in parse_address_range6()
4231 parse_warn(cfile, "network mask too short"); in parse_address_range6()
4232 skip_to_semi(cfile); in parse_address_range6()
4243 if (!parse_ip6_addr(cfile, &hi)) { in parse_address_range6()
4250 parse_warn(cfile, in parse_address_range6()
4252 skip_to_semi(cfile); in parse_address_range6()
4291 token = next_token(NULL, NULL, cfile); in parse_address_range6()
4293 parse_warn(cfile, "semicolon expected."); in parse_address_range6()
4294 skip_to_semi(cfile); in parse_address_range6()
4302 parse_prefix6(struct parse *cfile, in parse_prefix6() argument
4314 parse_warn(cfile, "prefix6 statement is only supported " in parse_prefix6()
4316 skip_to_semi(cfile); in parse_prefix6()
4327 if (!parse_ip6_addr(cfile, &lo)) { in parse_prefix6()
4340 parse_warn(cfile, "prefix6 start prefix" in parse_prefix6()
4342 skip_to_semi(cfile); in parse_prefix6()
4347 if (!parse_ip6_addr(cfile, &hi)) { in parse_prefix6()
4360 parse_warn(cfile, "prefix6 end prefix" in parse_prefix6()
4362 skip_to_semi(cfile); in parse_prefix6()
4370 token = next_token(NULL, NULL, cfile); in parse_prefix6()
4372 parse_warn(cfile, "expecting '/'"); in parse_prefix6()
4374 skip_to_semi(cfile); in parse_prefix6()
4377 token = next_token(&val, NULL, cfile); in parse_prefix6()
4379 parse_warn(cfile, "expecting number"); in parse_prefix6()
4381 skip_to_semi(cfile); in parse_prefix6()
4386 parse_warn(cfile, "networks have 0 to 128 bits (exclusive)"); in parse_prefix6()
4397 parse_warn(cfile, "network mask smaller than subnet mask"); in parse_prefix6()
4398 skip_to_semi(cfile); in parse_prefix6()
4405 parse_warn(cfile, "network mask too short"); in parse_prefix6()
4406 skip_to_semi(cfile); in parse_prefix6()
4409 token = next_token(NULL, NULL, cfile); in parse_prefix6()
4411 parse_warn(cfile, "semicolon expected."); in parse_prefix6()
4412 skip_to_semi(cfile); in parse_prefix6()
4442 parse_warn(cfile, "impossible mask length"); in parse_prefix6()
4456 parse_fixed_prefix6(struct parse *cfile, struct host_decl *host_decl) { in parse_fixed_prefix6() argument
4484 if (!parse_ip6_addr(cfile, &ia->cidrnet.lo_addr)) { in parse_fixed_prefix6()
4488 token = next_token(NULL, NULL, cfile); in parse_fixed_prefix6()
4491 parse_warn(cfile, "expecting '/'"); in parse_fixed_prefix6()
4493 skip_to_semi(cfile); in parse_fixed_prefix6()
4496 token = next_token(&val, NULL, cfile); in parse_fixed_prefix6()
4499 parse_warn(cfile, "expecting number"); in parse_fixed_prefix6()
4501 skip_to_semi(cfile); in parse_fixed_prefix6()
4504 token = next_token(NULL, NULL, cfile); in parse_fixed_prefix6()
4507 parse_warn(cfile, "semicolon expected."); in parse_fixed_prefix6()
4508 skip_to_semi(cfile); in parse_fixed_prefix6()
4518 parse_warn(cfile, "networks have 0 to 128 bits"); in parse_fixed_prefix6()
4523 parse_warn(cfile, "network mask too short"); in parse_fixed_prefix6()
4553 void parse_pool6_statement (cfile, group, type) in parse_pool6_statement() argument
4554 struct parse *cfile; in parse_pool6_statement()
4576 parse_warn(cfile, "pool6s are only valid inside "
4579 skip_to_semi(cfile);
4586 if (parse_lbrace(cfile) == 0) {
4592 token = peek_token(&val, NULL, cfile);
4595 skip_token(NULL, NULL, cfile);
4596 parse_address_range6(cfile, group, pond);
4600 skip_token(NULL, NULL, cfile);
4601 parse_prefix6(cfile, group, pond);
4605 skip_token(NULL, NULL, cfile);
4606 get_permit(cfile, &pond->permit_list, 1,
4611 skip_token(NULL, NULL, cfile);
4612 get_permit(cfile, &pond->prohibit_list, 0,
4617 skip_token(&val, NULL, cfile);
4627 parse_warn(cfile, "unexpected end of file");
4631 declaration = parse_statement(cfile, pond->group,
4657 parse_warn (cfile, "Pool6 declaration with no %s.",
4676 int parse_allow_deny (oc, cfile, flag) in parse_allow_deny() argument
4678 struct parse *cfile;
4692 token = next_token (&val, (unsigned *)0, cfile);
4727 parse_warn (cfile, "expecting allow/deny key");
4728 skip_to_semi (cfile);
4739 parse_semi (cfile);
4744 parse_ia_na_declaration(struct parse *cfile) { in parse_ia_na_declaration() argument
4746 parse_warn(cfile, "No DHCPv6 support."); in parse_ia_na_declaration()
4747 skip_to_semi(cfile); in parse_ia_na_declaration()
4770 parse_warn(cfile, "IA_NA is only supported in DHCPv6 mode."); in parse_ia_na_declaration()
4771 skip_to_semi(cfile); in parse_ia_na_declaration()
4775 if (!parse_iaid_duid(cfile, &ia, &iaid, MDL)) { in parse_ia_na_declaration()
4781 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4783 parse_warn(cfile, "corrupt lease file; expecting left brace"); in parse_ia_na_declaration()
4784 skip_to_semi(cfile); in parse_ia_na_declaration()
4790 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4794 ia->cltt = parse_date (cfile); in parse_ia_na_declaration()
4799 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
4801 skip_to_semi(cfile); in parse_ia_na_declaration()
4805 if (!parse_ip6_addr(cfile, &iaddr)) { in parse_ia_na_declaration()
4806 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
4808 skip_to_semi(cfile); in parse_ia_na_declaration()
4812 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4814 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
4816 skip_to_semi(cfile); in parse_ia_na_declaration()
4824 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4833 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
4839 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4841 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
4843 skip_to_semi(cfile); in parse_ia_na_declaration()
4846 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4864 parse_warn(cfile, in parse_ia_na_declaration()
4869 skip_to_semi(cfile); in parse_ia_na_declaration()
4873 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4875 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
4883 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4885 parse_warn(cfile, "%s is not a valid " in parse_ia_na_declaration()
4888 skip_to_semi(cfile); in parse_ia_na_declaration()
4899 token = peek_token(&val, NULL, cfile); in parse_ia_na_declaration()
4901 skip_token(&val, NULL, cfile); in parse_ia_na_declaration()
4903 parse_warn(cfile, in parse_ia_na_declaration()
4911 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4913 parse_warn(cfile, "%s is not a valid " in parse_ia_na_declaration()
4916 skip_to_semi(cfile); in parse_ia_na_declaration()
4927 token = peek_token(&val, NULL, cfile); in parse_ia_na_declaration()
4929 skip_token(&val, NULL, cfile); in parse_ia_na_declaration()
4931 parse_warn(cfile, in parse_ia_na_declaration()
4939 end_time = parse_date(cfile); in parse_ia_na_declaration()
4944 token = next_token(&val, NULL, cfile); in parse_ia_na_declaration()
4947 parse_warn(cfile, "%s is not a valid " in parse_ia_na_declaration()
4950 skip_to_semi(cfile); in parse_ia_na_declaration()
4993 token = next_token(NULL, NULL, cfile); in parse_ia_na_declaration()
4995 parse_warn(cfile, "expecting '=' in " in parse_ia_na_declaration()
5000 if (!parse_binding_value(cfile, nv)) { in parse_ia_na_declaration()
5020 parse_semi(cfile); in parse_ia_na_declaration()
5034 cfile, in parse_ia_na_declaration()
5036 parse_warn(cfile, in parse_ia_na_declaration()
5040 skip_to_rbrace (cfile, 1); in parse_ia_na_declaration()
5045 cfile, in parse_ia_na_declaration()
5047 parse_warn(cfile, in parse_ia_na_declaration()
5051 skip_to_rbrace (cfile, 1); in parse_ia_na_declaration()
5059 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
5062 skip_to_semi(cfile); in parse_ia_na_declaration()
5068 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
5073 parse_warn(cfile, "corrupt lease file; " in parse_ia_na_declaration()
5147 parse_warn(cfile, "duplicate na lease for address %s", in parse_ia_na_declaration()
5192 parse_ia_ta_declaration(struct parse *cfile) { in parse_ia_ta_declaration() argument
5194 parse_warn(cfile, "No DHCPv6 support."); in parse_ia_ta_declaration()
5195 skip_to_semi(cfile); in parse_ia_ta_declaration()
5218 parse_warn(cfile, "IA_TA is only supported in DHCPv6 mode."); in parse_ia_ta_declaration()
5219 skip_to_semi(cfile); in parse_ia_ta_declaration()
5223 if (!parse_iaid_duid(cfile, &ia, &iaid, MDL)) { in parse_ia_ta_declaration()
5229 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5231 parse_warn(cfile, "corrupt lease file; expecting left brace"); in parse_ia_ta_declaration()
5232 skip_to_semi(cfile); in parse_ia_ta_declaration()
5238 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5242 ia->cltt = parse_date (cfile); in parse_ia_ta_declaration()
5247 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5249 skip_to_semi(cfile); in parse_ia_ta_declaration()
5253 if (!parse_ip6_addr(cfile, &iaddr)) { in parse_ia_ta_declaration()
5254 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5256 skip_to_semi(cfile); in parse_ia_ta_declaration()
5260 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5262 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5264 skip_to_semi(cfile); in parse_ia_ta_declaration()
5272 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5281 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5287 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5289 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5291 skip_to_semi(cfile); in parse_ia_ta_declaration()
5294 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5312 parse_warn(cfile, in parse_ia_ta_declaration()
5317 skip_to_semi(cfile); in parse_ia_ta_declaration()
5321 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5323 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5331 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5333 parse_warn(cfile, "%s is not a valid " in parse_ia_ta_declaration()
5336 skip_to_semi(cfile); in parse_ia_ta_declaration()
5347 token = peek_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5349 skip_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5351 parse_warn(cfile, in parse_ia_ta_declaration()
5359 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5361 parse_warn(cfile, "%s is not a valid " in parse_ia_ta_declaration()
5364 skip_to_semi(cfile); in parse_ia_ta_declaration()
5375 token = peek_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5377 skip_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5379 parse_warn(cfile, in parse_ia_ta_declaration()
5387 end_time = parse_date(cfile); in parse_ia_ta_declaration()
5392 token = next_token(&val, NULL, cfile); in parse_ia_ta_declaration()
5395 parse_warn(cfile, "%s is not a valid " in parse_ia_ta_declaration()
5398 skip_to_semi(cfile); in parse_ia_ta_declaration()
5441 token = next_token(NULL, NULL, cfile); in parse_ia_ta_declaration()
5443 parse_warn(cfile, "expecting '=' in " in parse_ia_ta_declaration()
5448 if (!parse_binding_value(cfile, nv)) { in parse_ia_ta_declaration()
5468 parse_semi(cfile); in parse_ia_ta_declaration()
5482 cfile, in parse_ia_ta_declaration()
5484 parse_warn(cfile, in parse_ia_ta_declaration()
5488 skip_to_rbrace (cfile, 1); in parse_ia_ta_declaration()
5493 cfile, in parse_ia_ta_declaration()
5495 parse_warn(cfile, in parse_ia_ta_declaration()
5499 skip_to_rbrace (cfile, 1); in parse_ia_ta_declaration()
5507 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5510 skip_to_semi(cfile); in parse_ia_ta_declaration()
5516 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5521 parse_warn(cfile, "corrupt lease file; " in parse_ia_ta_declaration()
5584 parse_warn(cfile, "duplicate ta lease for address %s", in parse_ia_ta_declaration()
5629 parse_ia_pd_declaration(struct parse *cfile) { in parse_ia_pd_declaration() argument
5631 parse_warn(cfile, "No DHCPv6 support."); in parse_ia_pd_declaration()
5632 skip_to_semi(cfile); in parse_ia_pd_declaration()
5656 parse_warn(cfile, "IA_PD is only supported in DHCPv6 mode."); in parse_ia_pd_declaration()
5657 skip_to_semi(cfile); in parse_ia_pd_declaration()
5661 if (!parse_iaid_duid(cfile, &ia, &iaid, MDL)) { in parse_ia_pd_declaration()
5667 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5669 parse_warn(cfile, "corrupt lease file; expecting left brace"); in parse_ia_pd_declaration()
5670 skip_to_semi(cfile); in parse_ia_pd_declaration()
5676 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5680 ia->cltt = parse_date (cfile); in parse_ia_pd_declaration()
5685 parse_warn(cfile, "corrupt lease file; expecting " in parse_ia_pd_declaration()
5687 skip_to_semi(cfile); in parse_ia_pd_declaration()
5691 if (!parse_ip6_prefix(cfile, &iaddr, &plen)) { in parse_ia_pd_declaration()
5692 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
5694 skip_to_semi(cfile); in parse_ia_pd_declaration()
5698 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5700 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
5702 skip_to_semi(cfile); in parse_ia_pd_declaration()
5710 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5719 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
5725 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5727 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
5729 skip_to_semi(cfile); in parse_ia_pd_declaration()
5732 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5750 parse_warn(cfile, in parse_ia_pd_declaration()
5755 skip_to_semi(cfile); in parse_ia_pd_declaration()
5759 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5761 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
5769 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5771 parse_warn(cfile, "%s is not a valid " in parse_ia_pd_declaration()
5774 skip_to_semi(cfile); in parse_ia_pd_declaration()
5785 token = peek_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5787 skip_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5789 parse_warn(cfile, in parse_ia_pd_declaration()
5797 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5799 parse_warn(cfile, "%s is not a valid " in parse_ia_pd_declaration()
5802 skip_to_semi(cfile); in parse_ia_pd_declaration()
5813 token = peek_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5815 skip_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5817 parse_warn(cfile, in parse_ia_pd_declaration()
5825 end_time = parse_date(cfile); in parse_ia_pd_declaration()
5830 token = next_token(&val, NULL, cfile); in parse_ia_pd_declaration()
5833 parse_warn(cfile, "%s is not a valid " in parse_ia_pd_declaration()
5836 skip_to_semi(cfile); in parse_ia_pd_declaration()
5879 token = next_token(NULL, NULL, cfile); in parse_ia_pd_declaration()
5881 parse_warn(cfile, "expecting '=' in " in parse_ia_pd_declaration()
5886 if (!parse_binding_value(cfile, nv)) { in parse_ia_pd_declaration()
5906 parse_semi(cfile); in parse_ia_pd_declaration()
5920 cfile, in parse_ia_pd_declaration()
5922 parse_warn(cfile, in parse_ia_pd_declaration()
5926 skip_to_rbrace (cfile, 1); in parse_ia_pd_declaration()
5931 cfile, in parse_ia_pd_declaration()
5933 parse_warn(cfile, in parse_ia_pd_declaration()
5937 skip_to_rbrace (cfile, 1); in parse_ia_pd_declaration()
5945 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
5948 skip_to_semi(cfile); in parse_ia_pd_declaration()
5954 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
5959 parse_warn(cfile, "corrupt lease file; " in parse_ia_pd_declaration()
6024 parse_warn(cfile, "duplicate pd lease for address %s", in parse_ia_pd_declaration()
6082 parse_server_duid(struct parse *cfile) { in parse_server_duid() argument
6087 len = parse_X(cfile, bytes, sizeof(bytes)); in parse_server_duid()
6089 parse_warn(cfile, "Invalid duid contents"); in parse_server_duid()
6090 skip_to_semi(cfile); in parse_server_duid()
6106 parse_semi(cfile); in parse_server_duid()
6121 parse_server_duid_conf(struct parse *cfile) { in parse_server_duid_conf() argument
6135 skip_token(NULL, NULL, cfile); in parse_server_duid_conf()
6140 token = next_token(&val, NULL, cfile); in parse_server_duid_conf()
6150 token = next_token(&val, NULL, cfile); in parse_server_duid_conf()
6152 parse_warn(cfile, "enterprise number expected"); in parse_server_duid_conf()
6153 skip_to_semi(cfile); in parse_server_duid_conf()
6158 token = next_token(&val, &len, cfile); in parse_server_duid_conf()
6160 parse_warn(cfile, "identifier expected"); in parse_server_duid_conf()
6161 skip_to_semi(cfile); in parse_server_duid_conf()
6190 if (peek_token(NULL, NULL, cfile) == SEMI) { in parse_server_duid_conf()
6196 token = next_token(NULL, NULL, cfile); in parse_server_duid_conf()
6208 parse_warn(cfile, "hardware type expected"); in parse_server_duid_conf()
6209 skip_to_semi(cfile); in parse_server_duid_conf()
6213 if (!parse_cshl(&ll_addr, cfile)) { in parse_server_duid_conf()
6245 if (peek_token(NULL, NULL, cfile) == SEMI) { in parse_server_duid_conf()
6251 token = next_token(NULL, NULL, cfile); in parse_server_duid_conf()
6263 parse_warn(cfile, "hardware type expected"); in parse_server_duid_conf()
6264 skip_to_semi(cfile); in parse_server_duid_conf()
6268 token = next_token(&val, NULL, cfile); in parse_server_duid_conf()
6270 parse_warn(cfile, "timestamp expected"); in parse_server_duid_conf()
6271 skip_to_semi(cfile); in parse_server_duid_conf()
6277 if (!parse_cshl(&ll_addr, cfile)) { in parse_server_duid_conf()
6314 token = next_token(&val, &len, cfile); in parse_server_duid_conf()
6316 parse_warn(cfile, "identifier expected"); in parse_server_duid_conf()
6317 skip_to_semi(cfile); in parse_server_duid_conf()
6341 parse_warn(cfile, "DUID type of LLT, EN, or LL expected"); in parse_server_duid_conf()
6342 skip_to_semi(cfile); in parse_server_duid_conf()
6349 token = next_token(NULL, NULL, cfile); in parse_server_duid_conf()
6351 parse_warn(cfile, "semicolon expected"); in parse_server_duid_conf()
6352 skip_to_semi(cfile); in parse_server_duid_conf()
6408 parse_iaid_duid(struct parse* cfile, struct ia_xx** ia, u_int32_t *iaid, in parse_iaid_duid() argument
6419 len = parse_X(cfile, bytes, sizeof(bytes)); in parse_iaid_duid()
6421 parse_warn(cfile, "corrupt lease file; " in parse_iaid_duid()
6423 skip_to_semi(cfile); in parse_iaid_duid()