Lines Matching refs:cfile

81 void skip_to_semi (cfile)  in skip_to_semi()  argument
82 struct parse *cfile; in skip_to_semi()
84 skip_to_rbrace(cfile, 0);
98 void skip_to_rbrace (cfile, brace_count) in skip_to_rbrace() argument
99 struct parse *cfile; in skip_to_rbrace()
109 token = peek_token(&val, NULL, cfile);
117 skip_token(&val, NULL, cfile);
124 skip_token(&val, NULL, cfile);
130 skip_token(&val, NULL, cfile);
135 token = next_token(&val, NULL, cfile);
139 int parse_semi (cfile) in parse_semi() argument
140 struct parse *cfile; in parse_semi()
145 token = next_token (&val, (unsigned *)0, cfile);
147 parse_warn (cfile, "semicolon expected.");
148 skip_to_semi (cfile);
156 int parse_string (cfile, sptr, lptr) in parse_string() argument
157 struct parse *cfile; in parse_string()
166 token = next_token (&val, &len, cfile);
168 parse_warn (cfile, "expecting a string");
169 skip_to_semi (cfile);
177 if (!parse_semi (cfile)) {
196 char *parse_host_name (cfile) in parse_host_name() argument
197 struct parse *cfile; in parse_host_name()
210 token = peek_token (&val, (unsigned *)0, cfile);
213 skip_token(&val, (unsigned *)0, cfile);
223 token = peek_token (&val, (unsigned *)0, cfile);
225 token = next_token (&val, (unsigned *)0, cfile);
268 int parse_ip_addr_or_hostname (expr, cfile, uniform) in parse_ip_addr_or_hostname() argument
270 struct parse *cfile;
281 token = peek_token (&val, (unsigned *)0, cfile);
291 save_parse_state(cfile);
292 skip_token(NULL, NULL, cfile);
293 if (next_token(NULL, NULL, cfile) == DOT &&
294 next_token(NULL, NULL, cfile) == NUMBER)
296 restore_parse_state(cfile);
299 parse_numeric_aggregate (cfile, addr, &len, DOT, 10, 8))
305 name = parse_host_name (cfile);
321 token = next_token (&val, (unsigned *)0, cfile);
322 parse_warn (cfile, "%s (%d): expecting IP address or hostname",
325 skip_to_semi (cfile);
336 int parse_ip_addr (cfile, addr) in parse_ip_addr() argument
337 struct parse *cfile; in parse_ip_addr()
341 if (parse_numeric_aggregate (cfile, addr -> iabuf,
372 parse_ip6_addr(struct parse *cfile, struct iaddr *addr) { in parse_ip6_addr() argument
384 token = peek_token(&val, NULL, cfile); in parse_ip6_addr()
398 next_raw_token(&val, NULL, cfile); in parse_ip6_addr()
401 parse_warn(cfile, "Invalid IPv6 address."); in parse_ip6_addr()
402 skip_to_semi(cfile); in parse_ip6_addr()
411 token = peek_raw_token(&val, NULL, cfile); in parse_ip6_addr()
419 parse_warn(cfile, "Invalid IPv6 address."); in parse_ip6_addr()
420 skip_to_semi(cfile); in parse_ip6_addr()
433 struct parse *cfile) { in parse_ip6_addr_expr() argument
436 if (!parse_ip6_addr(cfile, &addr)) { in parse_ip6_addr_expr()
446 parse_ip6_prefix(struct parse *cfile, struct iaddr *addr, u_int8_t *plen) { in parse_ip6_prefix() argument
451 if (!parse_ip6_addr(cfile, addr)) { in parse_ip6_prefix()
454 token = next_token(&val, NULL, cfile); in parse_ip6_prefix()
456 parse_warn(cfile, "Slash expected."); in parse_ip6_prefix()
458 skip_to_semi(cfile); in parse_ip6_prefix()
461 token = next_token(&val, NULL, cfile); in parse_ip6_prefix()
463 parse_warn(cfile, "Number expected."); in parse_ip6_prefix()
465 skip_to_semi(cfile); in parse_ip6_prefix()
470 parse_warn(cfile, "Invalid IPv6 prefix length."); in parse_ip6_prefix()
471 skip_to_semi(cfile); in parse_ip6_prefix()
475 parse_warn(cfile, "network mask too short."); in parse_ip6_prefix()
476 skip_to_semi(cfile); in parse_ip6_prefix()
489 parse_ip_addr_with_subnet(cfile, match) in parse_ip_addr_with_subnet() argument
490 struct parse *cfile; in parse_ip_addr_with_subnet()
499 if (parse_ip_addr(cfile, &match->addr)) {
503 token = peek_token(&val, NULL, cfile);
506 skip_token(&val, NULL, cfile);
507 token = next_token(&val, NULL, cfile);
510 parse_warn(cfile, "Invalid CIDR prefix length:"
519 parse_warn(cfile, "subnet prefix is out of "
569 parse_warn(cfile,
582 void parse_hardware_param (cfile, hardware) in parse_hardware_param() argument
583 struct parse *cfile; in parse_hardware_param()
591 token = next_token(&val, NULL, cfile);
609 parse_warn(cfile,
611 skip_to_semi(cfile);
625 token = peek_token(&val, NULL, cfile);
630 t = parse_numeric_aggregate(cfile, NULL, &hlen, COLON, 16, 8);
637 parse_warn(cfile, "hardware address too long");
648 token = next_token(&val, NULL, cfile);
650 parse_warn(cfile, "expecting semicolon.");
651 skip_to_semi(cfile);
657 void parse_lease_time (cfile, timep) in parse_lease_time() argument
658 struct parse *cfile; in parse_lease_time()
665 token = next_token (&val, (unsigned *)0, cfile);
667 parse_warn (cfile, "Expecting numeric lease time");
668 skip_to_semi (cfile);
671 convert_num(cfile, (unsigned char *)&num, val, 10, 32);
675 parse_semi (cfile);
701 unsigned char *parse_numeric_aggregate (cfile, buf, in parse_numeric_aggregate() argument
703 struct parse *cfile; in parse_numeric_aggregate()
725 token = peek_token (&val, (unsigned *)0, cfile);
732 cfile);
733 parse_warn (cfile, "too few numbers.");
735 skip_to_semi (cfile);
741 skip_token(&val, (unsigned *)0, cfile);
743 token = next_token (&val, (unsigned *)0, cfile);
746 parse_warn (cfile, "unexpected end of file");
753 parse_warn (cfile, "expecting numeric value.");
754 skip_to_semi (cfile);
770 convert_num (cfile, s, val, base, size);
795 convert_num (cfile, s, (char *)(c -> car), base, size);
805 void convert_num (cfile, buf, str, base, size) in convert_num() argument
806 struct parse *cfile; in convert_num()
850 parse_warn (cfile, "Bogus number: %s.", str);
854 parse_warn (cfile,
869 parse_warn (cfile,
875 parse_warn (cfile,
881 parse_warn (cfile,
901 parse_warn (cfile,
917 parse_warn (cfile,
943 parse_date_core(cfile) in parse_date_core() argument
944 struct parse *cfile; in parse_date_core()
954 token = peek_token(&val, NULL, cfile);
956 skip_token(&val, NULL, cfile); /* consume NEVER */
962 skip_token(&val, NULL, cfile); /* consume EPOCH */
963 token = peek_token(&val, NULL, cfile);
967 skip_token(&val, NULL, cfile);
968 parse_warn(cfile, "Seconds since epoch expected.");
972 skip_token(&val, NULL, cfile); /* consume number */
980 skip_token(&val, NULL, cfile);
981 parse_warn(cfile, "numeric day of week expected.");
984 skip_token(&val, NULL, cfile); /* consume day of week */
988 token = peek_token(&val, NULL, cfile);
991 skip_token(&val, NULL, cfile);
992 parse_warn(cfile, "numeric year expected.");
995 skip_token(&val, NULL, cfile); /* consume year */
1006 token = peek_token(&val, NULL, cfile);
1009 skip_token(&val, NULL, cfile);
1010 parse_warn(cfile,
1014 skip_token(&val, NULL, cfile); /* consume SLASH */
1017 token = peek_token(&val, NULL, cfile);
1020 skip_token(&val, NULL, cfile);
1021 parse_warn(cfile, "numeric month expected.");
1024 skip_token(&val, NULL, cfile); /* consume month */
1028 token = peek_token(&val, NULL, cfile);
1031 skip_token(&val, NULL, cfile);
1032 parse_warn(cfile,
1036 skip_token(&val, NULL, cfile); /* consume SLASH */
1039 token = peek_token(&val, NULL, cfile);
1042 skip_token(&val, NULL, cfile);
1043 parse_warn(cfile, "numeric day of month expected.");
1046 skip_token(&val, NULL, cfile); /* consume day of month */
1050 token = peek_token(&val, NULL, cfile);
1053 skip_token(&val, NULL, cfile);
1054 parse_warn(cfile, "numeric hour expected.");
1057 skip_token(&val, NULL, cfile); /* consume hour */
1061 token = peek_token(&val, NULL, cfile);
1064 skip_token(&val, NULL, cfile);
1065 parse_warn(cfile,
1069 skip_token(&val, NULL, cfile); /* consume colon */
1072 token = peek_token(&val, NULL, cfile);
1075 skip_token(&val, NULL, cfile);
1076 parse_warn(cfile, "numeric minute expected.");
1079 skip_token(&val, NULL, cfile); /* consume minute */
1083 token = peek_token(&val, NULL, cfile);
1086 skip_token(&val, NULL, cfile);
1087 parse_warn(cfile,
1091 skip_token(&val, NULL, cfile); /* consume colon */
1094 token = peek_token(&val, NULL, cfile);
1097 skip_token(&val, NULL, cfile);
1098 parse_warn(cfile, "numeric second expected.");
1101 skip_token(&val, NULL, cfile); /* consume second */
1105 token = peek_token(&val, NULL, cfile);
1107 skip_token(&val, NULL, cfile); /* consume tzoff */
1110 skip_token(&val, NULL, cfile);
1111 parse_warn(cfile,
1153 parse_date(cfile) in parse_date() argument
1154 struct parse *cfile; in parse_date()
1157 guess = parse_date_core(cfile);
1160 if (!parse_semi(cfile))
1173 parse_option_name (cfile, allocate, known, opt) in parse_option_name() argument
1174 struct parse *cfile; in parse_option_name()
1189 token = next_token (&val, (unsigned *)0, cfile);
1191 parse_warn (cfile,
1194 skip_to_semi (cfile);
1201 token = peek_token (&val, (unsigned *)0, cfile);
1204 skip_token(&val, (unsigned *)0, cfile);
1207 token = next_token (&val, (unsigned *)0, cfile);
1209 parse_warn (cfile, "expecting identifier after '.'");
1211 skip_to_semi (cfile);
1220 parse_warn (cfile, "no option space named %s.", uname);
1221 skip_to_semi (cfile);
1252 parse_warn(cfile, "Option codes 0 and %u are illegal "
1255 skip_to_semi(cfile);
1297 parse_warn(cfile, "no option named %s in space %s",
1299 skip_to_semi (cfile);
1314 void parse_option_space_decl (cfile) in parse_option_space_decl() argument
1315 struct parse *cfile; in parse_option_space_decl()
1323 skip_token(&val, (unsigned *)0, cfile); /* Discard the SPACE token,
1326 token = next_token (&val, (unsigned *)0, cfile);
1328 parse_warn (cfile, "expecting identifier.");
1329 skip_to_semi (cfile);
1344 token = next_token(&val, NULL, cfile);
1350 token = next_token(&val, NULL, cfile);
1352 parse_warn(cfile, "expecting width token.");
1356 token = next_token(&val, NULL, cfile);
1358 parse_warn(cfile, "expecting number 1, 2, 4.");
1379 parse_warn(cfile, "invalid code width (%d), "
1387 token = next_token(&val, NULL, cfile);
1389 parse_warn(cfile, "expecting width token.");
1393 token = next_token(&val, NULL, cfile);
1395 parse_warn(cfile, "expecting number 1 or 2.");
1401 parse_warn(cfile, "invalid length width (%d) "
1409 token = next_token(&val, NULL, cfile);
1411 parse_warn(cfile, "expecting size token.");
1415 token = next_token(&val, NULL, cfile);
1417 parse_warn(cfile, "expecting a 10base number");
1426 parse_warn(cfile, "invalid hash length: %d",
1434 parse_warn(cfile, "Unexpected token.");
1537 int parse_option_code_definition (cfile, option) in parse_option_code_definition() argument
1538 struct parse *cfile; in parse_option_code_definition()
1556 token = next_token (&val, (unsigned *)0, cfile);
1558 parse_warn (cfile, "expecting option code number.");
1559 skip_to_semi (cfile);
1564 token = next_token (&val, (unsigned *)0, cfile);
1566 parse_warn (cfile, "expecting \"=\"");
1567 skip_to_semi (cfile);
1572 token = next_token (&val, (unsigned *)0, cfile);
1574 token = next_token (&val, (unsigned *)0, cfile);
1576 parse_warn (cfile, "expecting \"of\".");
1577 skip_to_semi (cfile);
1581 token = next_token (&val, (unsigned *)0, cfile);
1586 token = next_token (&val, (unsigned *)0, cfile);
1592 parse_warn (cfile,
1594 skip_to_semi (cfile);
1601 parse_warn (cfile, "no nested arrays.");
1602 skip_to_rbrace (cfile, recordp);
1604 skip_to_semi (cfile);
1607 token = next_token (&val, (unsigned *)0, cfile);
1609 parse_warn (cfile, "expecting \"of\".");
1610 skip_to_semi (cfile);
1614 token = next_token (&val, (unsigned *)0, cfile);
1616 parse_warn (cfile,
1618 skip_to_rbrace (cfile, recordp + 1);
1619 skip_to_semi (cfile);
1629 token = next_token (&val, (unsigned *)0, cfile);
1631 parse_warn (cfile, "expecting number.");
1632 skip_to_rbrace (cfile, recordp);
1634 skip_to_semi (cfile);
1648 parse_warn (cfile,
1650 skip_to_rbrace (cfile, recordp);
1652 skip_to_semi (cfile);
1659 token = next_token (&val, (unsigned *)0, cfile);
1661 parse_warn (cfile, "expecting \"integer\" keyword.");
1662 skip_to_rbrace (cfile, recordp);
1664 skip_to_semi (cfile);
1683 token = peek_token(&val, NULL, cfile);
1685 skip_token(&val, NULL, cfile);
1695 parse_warn (cfile, "arrays of text strings not %s",
1697 skip_to_rbrace (cfile, recordp);
1699 skip_to_semi (cfile);
1709 token = next_token (&val, (unsigned *)0, cfile);
1711 parse_warn (cfile,
1713 skip_to_semi (cfile);
1719 parse_warn(cfile, "unknown option space %s", val);
1720 skip_to_semi (cfile);
1735 parse_warn (cfile, "array incompatible with zerolen.");
1736 skip_to_rbrace (cfile, recordp);
1738 skip_to_semi (cfile);
1745 parse_warn (cfile, "unknown data type %s", val);
1746 skip_to_rbrace (cfile, recordp);
1748 skip_to_semi (cfile);
1754 parse_warn (cfile, "too many types in record.");
1755 skip_to_rbrace (cfile, recordp);
1757 skip_to_semi (cfile);
1763 token = next_token (&val, (unsigned *)0, cfile);
1766 parse_warn (cfile,
1768 skip_to_rbrace (cfile, 1);
1769 skip_to_semi (cfile);
1777 parse_warn (cfile,
1780 skip_to_rbrace (cfile, 1);
1782 skip_to_semi (cfile);
1785 token = next_token (&val, (unsigned *)0, cfile);
1789 parse_warn (cfile, "expecting right brace.");
1790 skip_to_rbrace (cfile, 1);
1792 skip_to_semi (cfile);
1796 if (!parse_semi (cfile)) {
1797 parse_warn (cfile, "semicolon expected.");
1798 skip_to_semi (cfile);
1800 skip_to_semi (cfile);
1804 parse_warn (cfile,
1861 int parse_base64 (data, cfile) in parse_base64() argument
1863 struct parse *cfile;
1894 (void)next_token(&val, &l, cfile);
1906 (void)peek_token(&val, NULL, cfile);
1923 parse_warn (cfile, "can't allocate buffer for base64 data.");
1934 parse_warn(cfile,
1941 parse_warn(cfile,
1978 parse_warn(cfile,
2002 int parse_cshl (data, cfile) in parse_cshl() argument
2004 struct parse *cfile;
2016 token = next_token (&val, (unsigned *)0, cfile);
2018 parse_warn (cfile, "expecting hexadecimal number.");
2019 skip_to_semi (cfile);
2038 convert_num (cfile, &ibuf [ilen++], val, 16, 8);
2040 token = peek_token (&val, (unsigned *)0, cfile);
2043 skip_token(&val, (unsigned *)0, cfile);
2079 int parse_executable_statements (statements, cfile, lose, case_context) in parse_executable_statements() argument
2081 struct parse *cfile;
2088 while (parse_executable_statement (next, cfile, lose, case_context))
2095 int parse_executable_statement (result, cfile, lose, case_context) in parse_executable_statement() argument
2097 struct parse *cfile;
2117 token = peek_token (&val, (unsigned *)0, cfile);
2120 skip_token(&val, NULL, cfile);
2121 token = next_token(&val, NULL, cfile);
2127 parse_warn(cfile, "Expecting 'local' or 'default'.");
2129 skip_to_semi(cfile);
2134 token = next_token(&val, NULL, cfile);
2136 parse_warn(cfile, "Expecting a semicolon.");
2145 skip_token(&val, (unsigned *)0, cfile);
2146 return parse_if_statement (result, cfile, lose);
2149 skip_token(&val, (unsigned *)0, cfile);
2150 token = next_token (&val, (unsigned *)0, cfile);
2152 parse_warn (cfile, "expecting class name.");
2153 skip_to_semi (cfile);
2160 parse_warn (cfile, "class %s: %s",
2162 skip_to_semi (cfile);
2166 if (!parse_semi (cfile)) {
2177 skip_token(&val, (unsigned *)0, cfile);
2178 if (!parse_semi (cfile)) {
2188 skip_token(&val, (unsigned *)0, cfile);
2190 status = parse_option_name (cfile, 0, &known, &option);
2195 status = parse_option_statement(result, cfile, 1, option,
2202 skip_token(&val, (unsigned *)0, cfile);
2204 status = parse_option_name (cfile, 0, &known, &option);
2209 status = parse_option_statement(result, cfile, 1, option,
2223 skip_token(&val, (unsigned *)0, cfile);
2225 if (!parse_allow_deny (&cache, cfile, flag))
2234 skip_token(&val, (unsigned *)0, cfile);
2235 token = peek_token (&val, (unsigned *)0, cfile);
2239 status = parse_option_name (cfile, 0, &known, &option);
2244 status = parse_option_statement(result, cfile, 1, option,
2250 skip_token(&val, (unsigned *)0, cfile);
2252 status = parse_option_name (cfile, 0, &known, &option);
2257 status = parse_option_statement(result, cfile, 1, option,
2263 skip_token(&val, (unsigned *)0, cfile);
2265 status = parse_option_name (cfile, 0, &known, &option);
2270 status = parse_option_statement(result, cfile, 1, option,
2276 skip_token(&val, (unsigned *)0, cfile);
2277 return parse_on_statement (result, cfile, lose);
2280 skip_token(&val, (unsigned *)0, cfile);
2281 return parse_switch_statement (result, cfile, lose);
2284 skip_token(&val, (unsigned *)0, cfile);
2286 parse_warn (cfile,
2289 skip_to_semi (cfile);
2293 cfile, lose, case_context);
2296 skip_token(&val, (unsigned *)0, cfile);
2298 parse_warn (cfile, "switch default statement in %s",
2312 skip_token(&val, (unsigned *)0, cfile);
2318 token = next_token (&val, (unsigned *)0, cfile);
2320 parse_warn (cfile,
2323 skip_to_semi (cfile);
2335 token = next_token (&val, (unsigned *)0, cfile);
2343 (unsigned *)0, cfile);
2347 parse_warn (cfile,
2349 skip_to_rbrace (cfile, 0);
2369 (unsigned *)0, cfile);
2373 parse_warn (cfile, "expecting right paren.");
2375 skip_to_semi (cfile);
2381 token = next_token (&val, (unsigned *)0, cfile);
2383 parse_warn (cfile, "expecting left brace.");
2397 (&expr -> data.func -> statements, cfile, lose,
2403 token = next_token (&val, (unsigned *)0, cfile);
2405 parse_warn (cfile, "expecting rigt brace.");
2410 parse_warn (cfile,
2417 cfile, lose, context_any,
2421 parse_warn (cfile,
2425 skip_to_semi (cfile);
2429 if (!parse_semi (cfile)) {
2438 skip_token(&val, (unsigned *)0, cfile);
2439 token = next_token (&val, (unsigned *)0, cfile);
2441 parse_warn (cfile,
2443 skip_to_semi (cfile);
2455 if (!parse_semi (cfile)) {
2463 skip_token(&val, (unsigned *)0, cfile);
2469 cfile, lose, context_data, /* XXX */
2472 parse_warn (cfile,
2476 skip_to_semi (cfile);
2480 if (!parse_semi (cfile)) {
2488 skip_token(&val, NULL, cfile);
2494 token = next_token(&val, NULL, cfile);
2496 parse_warn(cfile, "left parenthesis expected.");
2497 skip_to_semi(cfile);
2502 token = next_token(&val, &len, cfile);
2504 parse_warn(cfile, "Expecting a quoted string.");
2505 skip_to_semi(cfile);
2518 while((token = next_token(&val, NULL, cfile)) == COMMA) {
2523 cfile, lose)) {
2525 parse_warn (cfile,
2529 skip_to_semi(cfile);
2538 parse_warn(cfile, "right parenthesis expected.");
2539 skip_to_semi(cfile);
2544 if (!parse_semi (cfile)) {
2549 parse_warn(cfile, "define ENABLE_EXECUTE in site.h to "
2551 skip_to_semi(cfile);
2558 skip_token(&val, (unsigned *)0, cfile);
2565 cfile, lose, context_data,
2568 parse_warn (cfile,
2572 skip_to_semi (cfile);
2576 if (!parse_semi (cfile)) {
2584 skip_token(&val, (unsigned *)0, cfile);
2590 token = next_token (&val, (unsigned *)0, cfile);
2592 parse_warn (cfile, "left parenthesis expected.");
2593 skip_to_semi (cfile);
2598 token = peek_token (&val, (unsigned *)0, cfile);
2613 skip_token(&val, (unsigned *)0, cfile);
2614 token = next_token (&val, (unsigned *)0, cfile);
2616 parse_warn (cfile, "comma expected.");
2617 skip_to_semi (cfile);
2624 (&(*result) -> data.log.expr, cfile, lose))) {
2625 skip_to_semi (cfile);
2630 token = next_token (&val, (unsigned *)0, cfile);
2632 parse_warn (cfile, "right parenthesis expected.");
2633 skip_to_semi (cfile);
2638 token = next_token (&val, (unsigned *)0, cfile);
2640 parse_warn (cfile, "semicolon expected.");
2641 skip_to_semi (cfile);
2652 skip_token(&val, NULL, cfile);
2653 if (!parse_semi(cfile)) {
2667 skip_token(&val, (unsigned *)0, cfile);
2671 zone -> name = parse_host_name (cfile);
2673 parse_warn (cfile, "expecting hostname.");
2676 skip_to_semi (cfile);
2684 parse_warn (cfile, "no trailing '.' on zone");
2693 if (!parse_zone (zone, cfile))
2697 parse_warn (cfile, "dns zone key %s: %s",
2707 skip_token(&val, (unsigned *)0, cfile);
2708 if (!parse_key (cfile)) {
2721 skip_token(&val, (unsigned *)0, cfile);
2723 (result, cfile, 1, option,
2738 cfile, lose, context_data,
2742 parse_warn (cfile, "expecting "
2746 skip_to_semi (cfile);
2750 if (!parse_semi (cfile)) {
2778 int parse_zone (struct dns_zone *zone, struct parse *cfile) in parse_zone() argument
2786 token = next_token (&val, (unsigned *)0, cfile); in parse_zone()
2788 parse_warn (cfile, "expecting left brace"); in parse_zone()
2793 token = peek_token (&val, (unsigned *)0, cfile); in parse_zone()
2797 parse_warn (cfile, in parse_zone()
2799 skip_to_semi (cfile); in parse_zone()
2809 parse_warn (cfile, "more than one secondary."); in parse_zone()
2810 skip_to_semi (cfile); in parse_zone()
2817 skip_token(&val, (unsigned *)0, cfile); in parse_zone()
2820 if (!parse_ip_addr_or_hostname (&expr, cfile, 0)) { in parse_zone()
2821 parse_warn (cfile, in parse_zone()
2823 skip_to_semi (cfile); in parse_zone()
2844 token = next_token (&val, (unsigned *)0, cfile); in parse_zone()
2847 parse_warn (cfile, "expecting semicolon."); in parse_zone()
2848 skip_to_semi (cfile); in parse_zone()
2855 parse_warn(cfile, "more than one primary6."); in parse_zone()
2856 skip_to_semi(cfile); in parse_zone()
2866 parse_warn(cfile, "more than one secondary6."); in parse_zone()
2867 skip_to_semi(cfile); in parse_zone()
2875 skip_token(&val, NULL, cfile); in parse_zone()
2878 if (parse_ip6_addr_expr(&expr, cfile) == 0) { in parse_zone()
2879 parse_warn(cfile, "expecting IPv6 addr."); in parse_zone()
2880 skip_to_semi(cfile); in parse_zone()
2899 token = next_token(&val, NULL, cfile); in parse_zone()
2902 parse_warn(cfile, "expecting semicolon."); in parse_zone()
2903 skip_to_semi(cfile); in parse_zone()
2909 skip_token(&val, NULL, cfile); in parse_zone()
2910 token = peek_token(&val, NULL, cfile); in parse_zone()
2912 skip_token(&val, NULL, cfile); in parse_zone()
2915 key_name = parse_host_name(cfile); in parse_zone()
2917 parse_warn(cfile, "expecting key name."); in parse_zone()
2918 skip_to_semi(cfile); in parse_zone()
2929 parse_warn(cfile, "unknown key %s", val); in parse_zone()
2932 if (!parse_semi(cfile)) in parse_zone()
2942 token = next_token(&val, NULL, cfile); in parse_zone()
2944 parse_warn(cfile, "expecting right brace."); in parse_zone()
2958 int parse_key (struct parse *cfile) in parse_key() argument
2972 token = peek_token (&val, (unsigned *)0, cfile); in parse_key()
2974 skip_token(&val, (unsigned *)0, cfile); in parse_key()
2981 key -> name = parse_host_name (cfile); in parse_key()
2983 parse_warn (cfile, "expecting key name."); in parse_key()
2984 skip_to_semi (cfile); in parse_key()
2989 token = next_token (&val, (unsigned *)0, cfile); in parse_key()
2991 parse_warn (cfile, "expecting left brace"); in parse_key()
2996 token = next_token (&val, (unsigned *)0, cfile); in parse_key()
3000 parse_warn (cfile, in parse_key()
3005 key -> algorithm = parse_host_name (cfile); in parse_key()
3007 parse_warn (cfile, in parse_key()
3011 if (!parse_semi (cfile)) in parse_key()
3046 parse_warn (cfile, "key %s: too many secrets", in parse_key()
3052 if (!parse_base64 (&ds, cfile)) in parse_key()
3062 if (!parse_semi (cfile)) in parse_key()
3072 parse_warn (cfile, "expecting right brace."); in parse_key()
3077 token = peek_token (&val, (unsigned *)0, cfile); in parse_key()
3079 skip_token(&val, (unsigned *)0, cfile); in parse_key()
3085 parse_warn (cfile, "tsig key %s: %s", in parse_key()
3093 skip_to_rbrace (cfile, 1); in parse_key()
3106 int parse_on_statement (result, cfile, lose) in parse_on_statement() argument
3108 struct parse *cfile;
3119 token = next_token (&val, (unsigned *)0, cfile);
3138 parse_warn (cfile, "expecting a lease event type");
3139 skip_to_semi (cfile);
3144 token = next_token (&val, (unsigned *)0, cfile);
3152 parse_warn (cfile, "left brace expected.");
3153 skip_to_semi (cfile);
3159 cfile, lose, context_any)) {
3164 (unsigned *)0, cfile);
3170 token = next_token (&val, (unsigned *)0, cfile);
3172 parse_warn (cfile, "right brace expected.");
3173 skip_to_semi (cfile);
3186 int parse_switch_statement (result, cfile, lose) in parse_switch_statement() argument
3188 struct parse *cfile;
3198 token = next_token (&val, (unsigned *)0, cfile);
3200 parse_warn (cfile, "expecting left brace.");
3203 skip_to_semi (cfile);
3210 cfile, lose, context_data_or_numeric,
3213 parse_warn (cfile,
3220 token = next_token (&val, (unsigned *)0, cfile);
3222 parse_warn (cfile, "right paren expected.");
3226 token = next_token (&val, (unsigned *)0, cfile);
3228 parse_warn (cfile, "left brace expected.");
3232 (&(*result) -> data.s_switch.statements, cfile, lose,
3236 skip_to_rbrace (cfile, 1);
3241 token = next_token (&val, (unsigned *)0, cfile);
3243 parse_warn (cfile, "right brace expected.");
3254 int parse_case_statement (result, cfile, lose, case_context) in parse_case_statement() argument
3256 struct parse *cfile;
3268 cfile, lose, case_context,
3272 parse_warn (cfile, "expecting %s expression.",
3278 skip_to_semi (cfile);
3283 token = next_token (&val, (unsigned *)0, cfile);
3285 parse_warn (cfile, "colon expected.");
3301 int parse_if_statement (result, cfile, lose) in parse_if_statement() argument
3303 struct parse *cfile;
3315 token = peek_token (&val, (unsigned *)0, cfile);
3318 skip_token(&val, (unsigned *)0, cfile);
3324 cfile, lose)) {
3326 parse_warn (cfile, "boolean expression expected.");
3335 token = next_token (&val, (unsigned *)0, cfile);
3337 parse_warn (cfile, "expecting right paren.");
3343 token = next_token (&val, (unsigned *)0, cfile);
3345 parse_warn (cfile, "left brace expected.");
3346 skip_to_semi (cfile);
3352 cfile, lose, context_any)) {
3357 (unsigned *)0, cfile);
3363 token = next_token (&val, (unsigned *)0, cfile);
3365 parse_warn (cfile, "right brace expected.");
3366 skip_to_semi (cfile);
3371 token = peek_token (&val, (unsigned *)0, cfile);
3373 skip_token(&val, (unsigned *)0, cfile);
3374 token = peek_token (&val, (unsigned *)0, cfile);
3376 skip_token(&val, (unsigned *)0, cfile);
3378 cfile, lose)) {
3380 parse_warn (cfile,
3387 parse_warn (cfile, "left brace or if expected.");
3388 skip_to_semi (cfile);
3393 skip_token(&val, (unsigned *)0, cfile);
3396 cfile, lose, context_any))) {
3400 token = next_token (&val, (unsigned *)0, cfile);
3402 parse_warn (cfile, "right brace expected.");
3403 skip_to_semi (cfile);
3410 skip_token(&val, (unsigned *)0, cfile);
3412 cfile, lose)) {
3414 parse_warn (cfile,
3437 int parse_boolean_expression (expr, cfile, lose) in parse_boolean_expression() argument
3439 struct parse *cfile;
3443 if (!parse_expression (expr, cfile, lose, context_boolean,
3450 parse_warn (cfile, "Expecting a boolean expression.");
3460 int parse_boolean (cfile) in parse_boolean() argument
3461 struct parse *cfile; in parse_boolean()
3466 (void)next_token(&val, NULL, cfile);
3474 parse_warn (cfile,
3476 skip_to_semi (cfile);
3479 parse_semi (cfile);
3504 int parse_data_expression (expr, cfile, lose) in parse_data_expression() argument
3506 struct parse *cfile;
3510 if (!parse_expression (expr, cfile, lose, context_data,
3518 parse_warn (cfile, "Expecting a data expression.");
3531 int parse_numeric_expression (expr, cfile, lose) in parse_numeric_expression() argument
3533 struct parse *cfile;
3537 if (!parse_expression (expr, cfile, lose, context_numeric,
3545 parse_warn (cfile, "Expecting a numeric expression.");
3554 int parse_non_binary (expr, cfile, lose, context) in parse_non_binary() argument
3556 struct parse *cfile;
3569 token = peek_token (&val, (unsigned *)0, cfile);
3574 skip_token(&val, (unsigned *)0, cfile);
3575 token = next_token (&val, (unsigned *)0, cfile);
3577 parse_warn (cfile, "string expected.");
3578 skip_to_semi (cfile);
3586 parse_warn (cfile, "unknown collection.");
3597 skip_token(&val, NULL, cfile);
3602 cfile, lose, context_boolean)) {
3604 parse_warn (cfile, "expression expected");
3605 skip_to_semi (cfile);
3613 parse_warn (cfile, "boolean expression expected");
3614 skip_to_semi (cfile);
3621 skip_token(&val, (unsigned *)0, cfile);
3622 if (!parse_expression (expr, cfile, lose, context,
3625 parse_warn (cfile, "expression expected");
3626 skip_to_semi (cfile);
3631 token = next_token (&val, (unsigned *)0, cfile);
3634 parse_warn (cfile, "right paren expected");
3635 skip_to_semi (cfile);
3641 skip_token(&val, NULL, cfile);
3647 status = parse_option_name(cfile, 0, &known,
3658 skip_token(&val, (unsigned *)0, cfile);
3665 skip_token(&val, (unsigned *)0, cfile);
3672 skip_token(&val, (unsigned *)0, cfile);
3677 token = next_token (&val, (unsigned *)0, cfile);
3681 parse_warn (cfile, "left parenthesis expected.");
3687 cfile, lose)) {
3691 parse_warn (cfile,
3693 skip_to_semi (cfile);
3699 token = next_token (&val, (unsigned *)0, cfile);
3703 parse_warn (cfile, "comma expected.");
3710 (&(*expr) -> data.substring.offset,cfile, lose)) {
3713 parse_warn (cfile,
3715 skip_to_semi (cfile);
3722 token = next_token (&val, (unsigned *)0, cfile);
3727 (&(*expr) -> data.substring.len, cfile, lose))
3730 token = next_token (&val, (unsigned *)0, cfile);
3733 parse_warn (cfile, "right parenthesis expected.");
3741 skip_token(&val, (unsigned *)0, cfile);
3746 token = next_token (&val, (unsigned *)0, cfile);
3751 cfile, lose))
3754 token = next_token (&val, (unsigned *)0, cfile);
3759 cfile, lose))
3762 token = next_token (&val, (unsigned *)0, cfile);
3768 skip_token(&val, (unsigned *)0, cfile);
3773 token = next_token(&val, (unsigned *)0, cfile);
3777 if (!parse_data_expression(&(*expr)->data.lcase, cfile, lose))
3780 token = next_token(&val, (unsigned *)0, cfile);
3786 skip_token(&val, (unsigned *)0, cfile);
3791 token = next_token (&val, (unsigned *)0, cfile);
3796 cfile, lose))
3799 token = next_token(&val, (unsigned *)0, cfile);
3805 skip_token(&val, (unsigned *)0, cfile);
3810 token = next_token (&val, (unsigned *)0, cfile);
3815 cfile, lose))
3818 token = next_token (&val, (unsigned *)0, cfile);
3824 cfile, lose))
3827 token = next_token (&val, (unsigned *)0, cfile);
3847 skip_token(&val, (unsigned *)0, cfile);
3852 token = next_token (&val, (unsigned *)0, cfile);
3857 cfile, lose))
3860 token = next_token (&val, (unsigned *)0, cfile);
3865 cfile, lose))
3868 token = next_token (&val, (unsigned *)0, cfile);
3873 cfile, lose))
3876 token = next_token (&val, (unsigned *)0, cfile);
3881 cfile, lose))
3884 token = next_token (&val, (unsigned *)0, cfile);
3890 skip_token(&val, (unsigned *)0, cfile);
3895 token = next_token (&val, (unsigned *)0, cfile);
3900 (&(*expr) -> data.reverse.width, cfile, lose)))
3903 token = next_token (&val, (unsigned *)0, cfile);
3908 (&(*expr) -> data.reverse.buffer, cfile, lose)))
3911 token = next_token (&val, (unsigned *)0, cfile);
3919 skip_token(&val, (unsigned *)0, cfile);
3923 token = next_token (&val, (unsigned *)0, cfile);
3933 cfile, lose)))
3936 token = next_token (&val, (unsigned *)0, cfile);
3961 skip_token(&val, (unsigned *)0, cfile);
3964 status = parse_option_name(cfile, 0, &known,
3975 skip_token(&val, (unsigned *)0, cfile);
3982 skip_token(&val, (unsigned *)0, cfile);
3989 skip_token(&val, (unsigned *)0, cfile);
3996 skip_token(&val, (unsigned *)0, cfile);
4003 skip_token(&val, (unsigned *)0, cfile);
4010 skip_token(&val, (unsigned *)0, cfile);
4017 skip_token(&val, (unsigned *)0, cfile);
4024 skip_token(&val, (unsigned *)0, cfile);
4031 skip_token(&val, (unsigned *)0, cfile);
4036 token = next_token (&val, (unsigned *)0, cfile);
4041 cfile, lose))
4044 token = next_token (&val, (unsigned *)0, cfile);
4049 cfile, lose))
4052 token = next_token (&val, (unsigned *)0, cfile);
4058 skip_token(&val, &len, cfile);
4065 skip_token(&val, (unsigned *)0, cfile);
4066 token = next_token (&val, (unsigned *)0, cfile);
4068 parse_warn (cfile, "left parenthesis expected.");
4077 cfile, lose)) {
4079 parse_warn (cfile,
4081 skip_to_semi (cfile);
4088 token = next_token (&val, (unsigned *)0, cfile);
4090 parse_warn (cfile, "comma expected.");
4096 token = next_token (&val, (unsigned *)0, cfile);
4098 parse_warn (cfile, "number expected.");
4117 parse_warn (cfile,
4120 skip_to_semi (cfile);
4125 token = next_token (&val, (unsigned *)0, cfile);
4127 parse_warn (cfile, "right parenthesis expected.");
4135 skip_token(&val, (unsigned *)0, cfile);
4136 token = next_token (&val, (unsigned *)0, cfile);
4138 parse_warn (cfile, "left parenthesis expected.");
4147 cfile, lose)) {
4148 parse_warn (cfile, "expecting numeric expression.");
4149 skip_to_semi (cfile);
4155 token = next_token (&val, (unsigned *)0, cfile);
4157 parse_warn (cfile, "comma expected.");
4163 token = next_token (&val, (unsigned *)0, cfile);
4165 parse_warn (cfile, "number expected.");
4184 parse_warn (cfile,
4187 skip_to_semi (cfile);
4192 token = next_token (&val, (unsigned *)0, cfile);
4194 parse_warn (cfile, "right parenthesis expected.");
4206 skip_token(&val, (unsigned *)0, cfile);
4219 if (!parse_cshl (&(*expr) -> data.const_data, cfile)) {
4229 skip_token(&val, (unsigned *)0, cfile);
4305 skip_token(&val, (unsigned *)0, cfile);
4306 token = next_token (&val, (unsigned *)0, cfile);
4310 token = next_token (&val, (unsigned *)0, cfile);
4312 parse_warn (cfile, "%s can't be a variable name", val);
4313 skip_to_semi (cfile);
4325 token = next_token (&val, (unsigned *)0, cfile);
4332 skip_token(&val, NULL, cfile);
4337 token = next_token(NULL, NULL, cfile);
4341 token = next_token(NULL, NULL, cfile);
4347 skip_token(&val, NULL, cfile);
4348 token = next_token(NULL, NULL, cfile);
4353 token = next_token(&val, NULL, cfile);
4355 parse_warn(cfile, "Expecting quoted literal: "
4357 skip_to_semi(cfile);
4365 token = next_token(NULL, NULL, cfile);
4371 skip_token(&val, NULL, cfile);
4376 token = next_token (&val, NULL, cfile);
4381 cfile, lose))
4384 token = next_token (&val, NULL, cfile);
4389 cfile, lose))
4392 token = next_token (&val, NULL, cfile);
4403 skip_token(&val, (unsigned *)0, cfile);
4412 token = peek_token (&val, (unsigned *)0, cfile);
4421 skip_token(&val, (unsigned *)0, cfile);
4434 cfile, lose, context_any,
4438 parse_warn (cfile,
4442 skip_to_semi (cfile);
4447 token = next_token (&val, (unsigned *)0, cfile);
4450 parse_warn (cfile, "Right parenthesis expected.");
4451 skip_to_semi (cfile);
4463 int parse_expression (expr, cfile, lose, context, plhs, binop) in parse_expression() argument
4465 struct parse *cfile;
4487 if (!parse_non_binary (&rhs, cfile, lose, context)) {
4493 parse_warn (cfile,
4496 skip_to_semi (cfile);
4507 token = peek_token (&val, (unsigned *)0, cfile);
4510 skip_token(&val, (unsigned *)0, cfile);
4511 token = peek_token (&val, (unsigned *)0, cfile);
4513 parse_warn (cfile, "! in boolean context without =");
4515 skip_to_semi (cfile);
4531 skip_token(&val, NULL, cfile);
4532 token = peek_token(&val, NULL, cfile);
4539 parse_warn(cfile, "expecting ~= or ~~ operator");
4541 skip_to_semi(cfile);
4549 parse_warn(cfile, "No support for regex operator.");
4551 skip_to_semi(cfile);
4623 skip_token(&val, (unsigned *)0, cfile);
4638 skip_token(&val, (unsigned *)0, cfile);
4643 if (!parse_expression (&rhs, cfile, lose, op_context (next_op),
4646 parse_warn (cfile,
4661 parse_warn (cfile, "illegal expression relating different types");
4662 skip_to_semi (cfile);
4676 parse_warn (cfile, "expecting data/numeric expression");
4677 skip_to_semi (cfile);
4687 parse_warn(cfile, "expecting data expression");
4688 skip_to_semi(cfile);
4705 parse_warn (cfile, "expecting boolean expressions");
4706 skip_to_semi (cfile);
4723 parse_warn (cfile, "expecting numeric expressions");
4724 skip_to_semi (cfile);
4753 skip_token(&val, (unsigned *)0, cfile);
4774 int parse_option_data (expr, cfile, lookups, option) in parse_option_data() argument
4776 struct parse *cfile;
4825 cfile);
4835 if (!parse_option_token(expr, cfile, &fmt, tmp,
4853 token = peek_token (&val, (unsigned *)0, cfile);
4856 skip_token(&val, (unsigned *)0, cfile);
4881 int parse_option_statement (result, cfile, lookups, option, op) in parse_option_statement() argument
4883 struct parse *cfile;
4893 token = peek_token (&val, (unsigned *)0, cfile);
4902 skip_token(&val, (unsigned *)0, cfile);
4905 skip_token(&val, (unsigned *)0, cfile);
4908 if (!parse_data_expression (&expr, cfile, &lose)) {
4913 parse_warn (cfile,
4915 skip_to_semi (cfile);
4920 if (! parse_option_data(&expr, cfile, lookups, option))
4924 if (!parse_semi (cfile))
4940 int parse_option_token (rv, cfile, fmt, expr, uniform, lookups) in parse_option_token() argument
4942 struct parse *cfile;
4961 token = next_token (&val, &len, cfile);
4964 parse_warn (cfile, "expecting identifier.");
4966 skip_to_semi (cfile);
4978 parse_warn (cfile,
4980 skip_to_semi (cfile);
4987 token = peek_token (&val, (unsigned *)0, cfile);
4991 if (!parse_cshl (&t -> data.const_data, cfile)) {
4997 token = next_token (&val, &len, cfile);
5006 parse_warn (cfile, "expecting string "
5008 skip_to_semi (cfile);
5023 t = parse_domain_list(cfile, compress);
5027 skip_to_semi(cfile);
5034 t = parse_domain_name(cfile);
5036 parse_warn(cfile, "not a valid domain name.");
5037 skip_to_semi(cfile);
5043 token = next_token (&val, &len, cfile);
5046 parse_warn (cfile, "expecting string.");
5048 skip_to_semi (cfile);
5063 token = peek_token (&val, &len, cfile);
5065 token = next_token (&val, &len, cfile);
5067 val = parse_host_name(cfile);
5069 parse_warn(cfile, "not a valid key name.");
5070 skip_to_semi(cfile);
5092 parse_warn (cfile, "malformed %s (bug!)",
5095 skip_to_semi (cfile);
5099 token = next_token (&val, (unsigned *)0, cfile);
5101 parse_warn (cfile,
5107 parse_warn (cfile, "unknown value");
5116 if (!parse_ip_addr_or_hostname (&t, cfile, uniform))
5119 if (!parse_ip_addr (cfile, &addr))
5128 if (!parse_ip6_addr(cfile, &addr)) {
5137 token = next_token (&val, (unsigned *)0, cfile);
5147 token = next_token (&val, (unsigned *)0, cfile);
5152 parse_warn (cfile, "expecting number.");
5154 skip_to_semi (cfile);
5158 convert_num (cfile, buf, val, 0, 32);
5165 token = next_token (&val, (unsigned *)0, cfile);
5168 convert_num (cfile, buf, val, 0, 16);
5175 token = next_token (&val, (unsigned *)0, cfile);
5178 convert_num (cfile, buf, val, 0, 8);
5184 token = next_token (&val, (unsigned *)0, cfile);
5187 parse_warn (cfile, "expecting identifier.");
5191 skip_to_semi (cfile);
5205 parse_warn (cfile, "expecting boolean.");
5213 token = peek_token (&val, (unsigned *)0, cfile);
5215 parse_warn(cfile, "semicolon expected.");
5216 skip_to_semi(cfile);
5229 parse_warn (cfile, "Bad format '%c' in parse_option_token.",
5231 skip_to_semi (cfile);
5243 int parse_option_decl (oc, cfile) in parse_option_decl() argument
5245 struct parse *cfile;
5266 status = parse_option_name (cfile, 0, &known, &option);
5296 parse_warn (cfile,
5304 len = parse_X (cfile, &hunkbuf [hunkix],
5311 &len, cfile);
5317 &len, cfile);
5319 parse_warn (cfile,
5324 parse_warn (cfile,
5341 express = parse_domain_list(cfile, compress);
5347 parse_warn(cfile, "unexpected "
5356 parse_warn(cfile, "option data buffer "
5370 parse_warn (cfile,
5376 (unsigned *)0, cfile);
5378 parse_warn (cfile,
5385 parse_warn (cfile,
5393 if (!parse_ip6_addr(cfile, &ip_addr))
5400 if (!parse_ip_addr (cfile, &ip_addr))
5407 parse_warn (cfile,
5419 (unsigned *)0, cfile);
5423 parse_warn (cfile,
5430 convert_num (cfile, buf, val, 0, 32);
5438 (unsigned *)0, cfile);
5442 convert_num (cfile, buf, val, 0, 16);
5450 (unsigned *)0, cfile);
5454 convert_num (cfile, buf, val, 0, 8);
5461 (unsigned *)0, cfile);
5463 parse_warn (cfile,
5478 parse_warn (cfile,
5487 token = peek_token(&val, (unsigned *)0, cfile);
5489 parse_warn(cfile,
5503 token = next_token (&val, (unsigned *)0, cfile);
5507 parse_warn (cfile, "semicolon expected.");
5530 skip_to_semi (cfile);
5539 int parse_X (cfile, buf, max) in parse_X() argument
5540 struct parse *cfile; in parse_X()
5548 token = peek_token (&val, (unsigned *)0, cfile);
5552 token = next_token (&val, (unsigned *)0, cfile);
5554 parse_warn (cfile,
5556 skip_to_semi (cfile);
5560 parse_warn (cfile,
5562 skip_to_semi (cfile);
5565 convert_num (cfile, &buf [len], val, 16, 8);
5567 token = peek_token (&val, (unsigned *)0, cfile);
5570 (unsigned *)0, cfile);
5574 skip_token(&val, &len, cfile);
5576 parse_warn (cfile, "string constant too long.");
5577 skip_to_semi (cfile);
5582 parse_warn (cfile, "expecting string or hexadecimal data");
5583 skip_to_semi (cfile);
5589 int parse_warn (struct parse *cfile, const char *fmt, ...) in parse_warn() argument
5607 cfile -> tlname, cfile -> lexline, mbuf); in parse_warn()
5616 cfile -> token_line [i] && i < (cfile -> lexchar - 1); i++) { in parse_warn()
5619 if (cfile -> token_line [i] == '\t') { in parse_warn()
5628 syslog (LOG_ERR, "%s", cfile -> token_line); in parse_warn()
5629 if (cfile -> lexchar < 81) in parse_warn()
5636 IGNORE_RET (write (STDERR_FILENO, cfile -> token_line, in parse_warn()
5637 strlen (cfile -> token_line))); in parse_warn()
5639 if (cfile -> lexchar < 81) in parse_warn()
5644 cfile -> warnings_occurred = 1; in parse_warn()
5650 parse_domain_list(struct parse *cfile, int compress) in parse_domain_list() argument
5668 skip_token(&val, NULL, cfile); in parse_domain_list()
5671 token = next_token(&val, &len, cfile); in parse_domain_list()
5674 parse_warn(cfile, "Expecting a domain string."); in parse_domain_list()
5687 parse_warn(cfile, "Error compressing domain " in parse_domain_list()
5702 parse_warn(cfile, "Error assembling domain " in parse_domain_list()
5721 token = peek_token(&val, NULL, cfile); in parse_domain_list()
5731 parse_domain_name(struct parse *cfile) in parse_domain_name() argument
5739 val = parse_host_name(cfile); in parse_domain_name()
5752 parse_warn(cfile, "Error assembling domain name: %m"); in parse_domain_name()