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