Deleted Added
sdiff udiff text old ( 268883 ) new ( 276605 )
full compact
1/*
2 * configparser.y -- yacc grammar for unbound configuration files
3 *
4 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved.
5 *
6 * Copyright (c) 2007, NLnet Labs. All rights reserved.
7 *
8 * This software is open source.

--- 30 unchanged lines hidden (view full) ---

39#include "config.h"
40
41#include <stdarg.h>
42#include <stdio.h>
43#include <string.h>
44#include <stdlib.h>
45#include <assert.h>
46
47#include "util/config_file.h"
48#include "util/net_help.h"
49
50int ub_c_lex(void);
51void ub_c_error(const char *message);
52
53/* these need to be global, otherwise they cannot be used inside yacc */
54extern struct config_parser_state* cfg_parser;

--- 45 unchanged lines hidden (view full) ---

100%token VAR_VAL_SIG_SKEW_MAX VAR_CACHE_MIN_TTL VAR_VAL_LOG_LEVEL
101%token VAR_AUTO_TRUST_ANCHOR_FILE VAR_KEEP_MISSING VAR_ADD_HOLDDOWN
102%token VAR_DEL_HOLDDOWN VAR_SO_RCVBUF VAR_EDNS_BUFFER_SIZE VAR_PREFETCH
103%token VAR_PREFETCH_KEY VAR_SO_SNDBUF VAR_SO_REUSEPORT VAR_HARDEN_BELOW_NXDOMAIN
104%token VAR_IGNORE_CD_FLAG VAR_LOG_QUERIES VAR_TCP_UPSTREAM VAR_SSL_UPSTREAM
105%token VAR_SSL_SERVICE_KEY VAR_SSL_SERVICE_PEM VAR_SSL_PORT VAR_FORWARD_FIRST
106%token VAR_STUB_FIRST VAR_MINIMAL_RESPONSES VAR_RRSET_ROUNDROBIN
107%token VAR_MAX_UDP_SIZE VAR_DELAY_CLOSE VAR_UNBLOCK_LAN_ZONES
108
109%%
110toplevelvars: /* empty */ | toplevelvars toplevelvar ;
111toplevelvar: serverstart contents_server | stubstart contents_stub |
112 forwardstart contents_forward | pythonstart contents_py |
113 rcstart contents_rc
114 ;
115
116/* server: declaration */
117serverstart: VAR_SERVER
118 {
119 OUTYY(("\nP(server:)\n"));
120 }
121 ;

--- 35 unchanged lines hidden (view full) ---

157 server_val_sig_skew_max | server_cache_min_ttl | server_val_log_level |
158 server_auto_trust_anchor_file | server_add_holddown |
159 server_del_holddown | server_keep_missing | server_so_rcvbuf |
160 server_edns_buffer_size | server_prefetch | server_prefetch_key |
161 server_so_sndbuf | server_harden_below_nxdomain | server_ignore_cd_flag |
162 server_log_queries | server_tcp_upstream | server_ssl_upstream |
163 server_ssl_service_key | server_ssl_service_pem | server_ssl_port |
164 server_minimal_responses | server_rrset_roundrobin | server_max_udp_size |
165 server_so_reuseport | server_delay_close | server_unblock_lan_zones
166 ;
167stubstart: VAR_STUB_ZONE
168 {
169 struct config_stub* s;
170 OUTYY(("\nP(stub_zone:)\n"));
171 s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
172 if(s) {
173 s->next = cfg_parser->cfg->stubs;

--- 978 unchanged lines hidden (view full) ---

1152 ;
1153server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG
1154 {
1155 OUTYY(("P(server_max_udp_size:%s)\n", $2));
1156 cfg_parser->cfg->max_udp_size = atoi($2);
1157 free($2);
1158 }
1159 ;
1160stub_name: VAR_NAME STRING_ARG
1161 {
1162 OUTYY(("P(name:%s)\n", $2));
1163 if(cfg_parser->cfg->stubs->name)
1164 yyerror("stub name override, there must be one name "
1165 "for one stub-zone");
1166 free(cfg_parser->cfg->stubs->name);
1167 cfg_parser->cfg->stubs->name = $2;

--- 125 unchanged lines hidden (view full) ---

1293 ;
1294rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG
1295 {
1296 OUTYY(("P(rc_control_cert_file:%s)\n", $2));
1297 free(cfg_parser->cfg->control_cert_file);
1298 cfg_parser->cfg->control_cert_file = $2;
1299 }
1300 ;
1301pythonstart: VAR_PYTHON
1302 {
1303 OUTYY(("\nP(python:)\n"));
1304 }
1305 ;
1306contents_py: contents_py content_py
1307 | ;
1308content_py: py_script
1309 ;
1310py_script: VAR_PYTHON_SCRIPT STRING_ARG
1311 {
1312 OUTYY(("P(python-script:%s)\n", $2));
1313 free(cfg_parser->cfg->python_script);
1314 cfg_parser->cfg->python_script = $2;
1315 }
1316%%
1317
1318/* parse helper routines could be here */