1 /* A Bison parser, made by GNU Bison 3.3.2.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20 
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30 
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33 
34 /* Undocumented macros, especially those whose name start with YY_,
35    are private implementation details.  Do not rely on them.  */
36 
37 #ifndef YY_YY_CFG_PARSER_H_INCLUDED
38 # define YY_YY_CFG_PARSER_H_INCLUDED
39 /* Debug traces.  */
40 #ifndef YYDEBUG
41 # define YYDEBUG 1
42 #endif
43 #if YYDEBUG
44 extern int yydebug;
45 #endif
46 
47 /* Token type.  */
48 #ifndef YYTOKENTYPE
49 # define YYTOKENTYPE
50   enum yytokentype
51   {
52     INT = 258,
53     UINT = 259,
54     BOOL = 260,
55     STRING = 261,
56     TOK_CIPHERS = 262,
57     TOK_SSL_ENGINE = 263,
58     TOK_PREFER_SERVER_CIPHERS = 264,
59     TOK_BACKEND = 265,
60     TOK_FRONTEND = 266,
61     TOK_WORKERS = 267,
62     TOK_BACKLOG = 268,
63     TOK_KEEPALIVE = 269,
64     TOK_CHROOT = 270,
65     TOK_USER = 271,
66     TOK_GROUP = 272,
67     TOK_QUIET = 273,
68     TOK_SYSLOG = 274,
69     TOK_SYSLOG_FACILITY = 275,
70     TOK_PARAM_SYSLOG_FACILITY = 276,
71     TOK_DAEMON = 277,
72     TOK_WRITE_IP = 278,
73     TOK_WRITE_PROXY = 279,
74     TOK_WRITE_PROXY_V1 = 280,
75     TOK_WRITE_PROXY_V2 = 281,
76     TOK_PEM_FILE = 282,
77     TOK_PROXY_PROXY = 283,
78     TOK_BACKEND_CONNECT_TIMEOUT = 284,
79     TOK_SSL_HANDSHAKE_TIMEOUT = 285,
80     TOK_RECV_BUFSIZE = 286,
81     TOK_SEND_BUFSIZE = 287,
82     TOK_LOG_FILENAME = 288,
83     TOK_RING_SLOTS = 289,
84     TOK_RING_DATA_LEN = 290,
85     TOK_PIDFILE = 291,
86     TOK_SNI_NOMATCH_ABORT = 292,
87     TOK_SSL = 293,
88     TOK_TLS = 294,
89     TOK_HOST = 295,
90     TOK_PORT = 296,
91     TOK_MATCH_GLOBAL = 297,
92     TOK_PB_CERT = 298,
93     TOK_PB_OCSP_FILE = 299,
94     TOK_OCSP_VERIFY = 300,
95     TOK_OCSP_DIR = 301,
96     TOK_OCSP_RESP_TMO = 302,
97     TOK_OCSP_CONN_TMO = 303,
98     TOK_ALPN_PROTOS = 304,
99     TOK_TLS_PROTOS = 305,
100     TOK_SSLv3 = 306,
101     TOK_TLSv1_0 = 307,
102     TOK_TLSv1_1 = 308,
103     TOK_TLSv1_2 = 309,
104     TOK_TLSv1_3 = 310,
105     TOK_CIPHERSUITES = 311,
106     TOK_ECDH_CURVE = 312,
107     TOK_SESSION_CACHE = 313,
108     TOK_SHARED_CACHE_LISTEN = 314,
109     TOK_SHARED_CACHE_PEER = 315,
110     TOK_SHARED_CACHE_IF = 316,
111     TOK_PRIVATE_KEY = 317,
112     TOK_BACKEND_REFRESH = 318,
113     TOK_OCSP_REFRESH_INTERVAL = 319,
114     TOK_PEM_DIR = 320,
115     TOK_PEM_DIR_GLOB = 321,
116     TOK_LOG_LEVEL = 322,
117     TOK_PROXY_TLV = 323,
118     TOK_PROXY_AUTHORITY = 324,
119     TOK_TFO = 325,
120     TOK_CLIENT_VERIFY = 326,
121     TOK_VERIFY_NONE = 327,
122     TOK_VERIFY_OPT = 328,
123     TOK_VERIFY_REQ = 329,
124     TOK_CLIENT_VERIFY_CA = 330,
125     TOK_PROXY_CCERT = 331
126   };
127 #endif
128 /* Tokens.  */
129 #define INT 258
130 #define UINT 259
131 #define BOOL 260
132 #define STRING 261
133 #define TOK_CIPHERS 262
134 #define TOK_SSL_ENGINE 263
135 #define TOK_PREFER_SERVER_CIPHERS 264
136 #define TOK_BACKEND 265
137 #define TOK_FRONTEND 266
138 #define TOK_WORKERS 267
139 #define TOK_BACKLOG 268
140 #define TOK_KEEPALIVE 269
141 #define TOK_CHROOT 270
142 #define TOK_USER 271
143 #define TOK_GROUP 272
144 #define TOK_QUIET 273
145 #define TOK_SYSLOG 274
146 #define TOK_SYSLOG_FACILITY 275
147 #define TOK_PARAM_SYSLOG_FACILITY 276
148 #define TOK_DAEMON 277
149 #define TOK_WRITE_IP 278
150 #define TOK_WRITE_PROXY 279
151 #define TOK_WRITE_PROXY_V1 280
152 #define TOK_WRITE_PROXY_V2 281
153 #define TOK_PEM_FILE 282
154 #define TOK_PROXY_PROXY 283
155 #define TOK_BACKEND_CONNECT_TIMEOUT 284
156 #define TOK_SSL_HANDSHAKE_TIMEOUT 285
157 #define TOK_RECV_BUFSIZE 286
158 #define TOK_SEND_BUFSIZE 287
159 #define TOK_LOG_FILENAME 288
160 #define TOK_RING_SLOTS 289
161 #define TOK_RING_DATA_LEN 290
162 #define TOK_PIDFILE 291
163 #define TOK_SNI_NOMATCH_ABORT 292
164 #define TOK_SSL 293
165 #define TOK_TLS 294
166 #define TOK_HOST 295
167 #define TOK_PORT 296
168 #define TOK_MATCH_GLOBAL 297
169 #define TOK_PB_CERT 298
170 #define TOK_PB_OCSP_FILE 299
171 #define TOK_OCSP_VERIFY 300
172 #define TOK_OCSP_DIR 301
173 #define TOK_OCSP_RESP_TMO 302
174 #define TOK_OCSP_CONN_TMO 303
175 #define TOK_ALPN_PROTOS 304
176 #define TOK_TLS_PROTOS 305
177 #define TOK_SSLv3 306
178 #define TOK_TLSv1_0 307
179 #define TOK_TLSv1_1 308
180 #define TOK_TLSv1_2 309
181 #define TOK_TLSv1_3 310
182 #define TOK_CIPHERSUITES 311
183 #define TOK_ECDH_CURVE 312
184 #define TOK_SESSION_CACHE 313
185 #define TOK_SHARED_CACHE_LISTEN 314
186 #define TOK_SHARED_CACHE_PEER 315
187 #define TOK_SHARED_CACHE_IF 316
188 #define TOK_PRIVATE_KEY 317
189 #define TOK_BACKEND_REFRESH 318
190 #define TOK_OCSP_REFRESH_INTERVAL 319
191 #define TOK_PEM_DIR 320
192 #define TOK_PEM_DIR_GLOB 321
193 #define TOK_LOG_LEVEL 322
194 #define TOK_PROXY_TLV 323
195 #define TOK_PROXY_AUTHORITY 324
196 #define TOK_TFO 325
197 #define TOK_CLIENT_VERIFY 326
198 #define TOK_VERIFY_NONE 327
199 #define TOK_VERIFY_OPT 328
200 #define TOK_VERIFY_REQ 329
201 #define TOK_CLIENT_VERIFY_CA 330
202 #define TOK_PROXY_CCERT 331
203 
204 /* Value type.  */
205 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
206 
207 union YYSTYPE
208 {
209 #line 36 "cfg_parser.y" /* yacc.c:1921  */
210 
211 	int	i;
212 	char	*s;
213 
214 #line 215 "cfg_parser.h" /* yacc.c:1921  */
215 };
216 
217 typedef union YYSTYPE YYSTYPE;
218 # define YYSTYPE_IS_TRIVIAL 1
219 # define YYSTYPE_IS_DECLARED 1
220 #endif
221 
222 
223 extern YYSTYPE yylval;
224 
225 int yyparse (hitch_config *cfg);
226 
227 #endif /* !YY_YY_CFG_PARSER_H_INCLUDED  */
228