1/* A Bison parser, made by GNU Bison 2.3.  */
2
3/* Skeleton interface for Bison's Yacc-like parsers in C
4
5   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6   Free Software Foundation, 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 2, or (at your option)
11   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, write to the Free Software
20   Foundation, Inc., 51 Franklin Street, Fifth Floor,
21   Boston, MA 02110-1301, USA.  */
22
23/* As a special exception, you may create a larger work that contains
24   part or all of the Bison parser skeleton and distribute that work
25   under terms of your choice, so long as that work isn't itself a
26   parser generator using the skeleton or a modified version thereof
27   as a parser skeleton.  Alternatively, if you modify or redistribute
28   the parser skeleton itself, you may (at your option) remove this
29   special exception, which will cause the skeleton and the resulting
30   Bison output files to be licensed under the GNU General Public
31   License without this special exception.
32
33   This special exception was added by the Free Software Foundation in
34   version 2.2 of Bison.  */
35
36/* Tokens.  */
37#ifndef YYTOKENTYPE
38# define YYTOKENTYPE
39   /* Put the tokens into the symbol table, so that GDB and other debuggers
40      know about them.  */
41   enum yytokentype {
42     PRIVSEP = 258,
43     USER = 259,
44     GROUP = 260,
45     CHROOT = 261,
46     PATH = 262,
47     PATHTYPE = 263,
48     INCLUDE = 264,
49     IDENTIFIER = 265,
50     VENDORID = 266,
51     LOGGING = 267,
52     LOGLEV = 268,
53     PADDING = 269,
54     PAD_RANDOMIZE = 270,
55     PAD_RANDOMIZELEN = 271,
56     PAD_MAXLEN = 272,
57     PAD_STRICT = 273,
58     PAD_EXCLTAIL = 274,
59     LISTEN = 275,
60     X_ISAKMP = 276,
61     X_ISAKMP_NATT = 277,
62     X_ADMIN = 278,
63     STRICT_ADDRESS = 279,
64     ADMINSOCK = 280,
65     DISABLED = 281,
66     LDAPCFG = 282,
67     LDAP_HOST = 283,
68     LDAP_PORT = 284,
69     LDAP_PVER = 285,
70     LDAP_BASE = 286,
71     LDAP_BIND_DN = 287,
72     LDAP_BIND_PW = 288,
73     LDAP_SUBTREE = 289,
74     LDAP_ATTR_USER = 290,
75     LDAP_ATTR_ADDR = 291,
76     LDAP_ATTR_MASK = 292,
77     LDAP_ATTR_GROUP = 293,
78     LDAP_ATTR_MEMBER = 294,
79     MODECFG = 295,
80     CFG_NET4 = 296,
81     CFG_MASK4 = 297,
82     CFG_DNS4 = 298,
83     CFG_NBNS4 = 299,
84     CFG_DEFAULT_DOMAIN = 300,
85     CFG_AUTH_SOURCE = 301,
86     CFG_AUTH_GROUPS = 302,
87     CFG_SYSTEM = 303,
88     CFG_RADIUS = 304,
89     CFG_PAM = 305,
90     CFG_LDAP = 306,
91     CFG_LOCAL = 307,
92     CFG_NONE = 308,
93     CFG_GROUP_SOURCE = 309,
94     CFG_ACCOUNTING = 310,
95     CFG_CONF_SOURCE = 311,
96     CFG_MOTD = 312,
97     CFG_POOL_SIZE = 313,
98     CFG_AUTH_THROTTLE = 314,
99     CFG_SPLIT_NETWORK = 315,
100     CFG_SPLIT_LOCAL = 316,
101     CFG_SPLIT_INCLUDE = 317,
102     CFG_SPLIT_DNS = 318,
103     CFG_PFS_GROUP = 319,
104     CFG_SAVE_PASSWD = 320,
105     RETRY = 321,
106     RETRY_COUNTER = 322,
107     RETRY_INTERVAL = 323,
108     RETRY_PERSEND = 324,
109     RETRY_PHASE1 = 325,
110     RETRY_PHASE2 = 326,
111     NATT_KA = 327,
112     ALGORITHM_CLASS = 328,
113     ALGORITHMTYPE = 329,
114     STRENGTHTYPE = 330,
115     SAINFO = 331,
116     FROM = 332,
117     REMOTE = 333,
118     ANONYMOUS = 334,
119     INHERIT = 335,
120     EXCHANGE_MODE = 336,
121     EXCHANGETYPE = 337,
122     DOI = 338,
123     DOITYPE = 339,
124     SITUATION = 340,
125     SITUATIONTYPE = 341,
126     CERTIFICATE_TYPE = 342,
127     CERTTYPE = 343,
128     PEERS_CERTFILE = 344,
129     CA_TYPE = 345,
130     VERIFY_CERT = 346,
131     SEND_CERT = 347,
132     SEND_CR = 348,
133     IDENTIFIERTYPE = 349,
134     IDENTIFIERQUAL = 350,
135     MY_IDENTIFIER = 351,
136     PEERS_IDENTIFIER = 352,
137     VERIFY_IDENTIFIER = 353,
138     DNSSEC = 354,
139     CERT_X509 = 355,
140     CERT_PLAINRSA = 356,
141     NONCE_SIZE = 357,
142     DH_GROUP = 358,
143     KEEPALIVE = 359,
144     PASSIVE = 360,
145     INITIAL_CONTACT = 361,
146     NAT_TRAVERSAL = 362,
147     REMOTE_FORCE_LEVEL = 363,
148     PROPOSAL_CHECK = 364,
149     PROPOSAL_CHECK_LEVEL = 365,
150     GENERATE_POLICY = 366,
151     GENERATE_LEVEL = 367,
152     SUPPORT_PROXY = 368,
153     PROPOSAL = 369,
154     EXEC_PATH = 370,
155     EXEC_COMMAND = 371,
156     EXEC_SUCCESS = 372,
157     EXEC_FAILURE = 373,
158     GSS_ID = 374,
159     GSS_ID_ENC = 375,
160     GSS_ID_ENCTYPE = 376,
161     COMPLEX_BUNDLE = 377,
162     DPD = 378,
163     DPD_DELAY = 379,
164     DPD_RETRY = 380,
165     DPD_MAXFAIL = 381,
166     PH1ID = 382,
167     XAUTH_LOGIN = 383,
168     WEAK_PHASE1_CHECK = 384,
169     PREFIX = 385,
170     PORT = 386,
171     PORTANY = 387,
172     UL_PROTO = 388,
173     ANY = 389,
174     IKE_FRAG = 390,
175     ESP_FRAG = 391,
176     MODE_CFG = 392,
177     PFS_GROUP = 393,
178     LIFETIME = 394,
179     LIFETYPE_TIME = 395,
180     LIFETYPE_BYTE = 396,
181     STRENGTH = 397,
182     REMOTEID = 398,
183     SCRIPT = 399,
184     PHASE1_UP = 400,
185     PHASE1_DOWN = 401,
186     NUMBER = 402,
187     SWITCH = 403,
188     BOOLEAN = 404,
189     HEXSTRING = 405,
190     QUOTEDSTRING = 406,
191     ADDRSTRING = 407,
192     ADDRRANGE = 408,
193     UNITTYPE_BYTE = 409,
194     UNITTYPE_KBYTES = 410,
195     UNITTYPE_MBYTES = 411,
196     UNITTYPE_TBYTES = 412,
197     UNITTYPE_SEC = 413,
198     UNITTYPE_MIN = 414,
199     UNITTYPE_HOUR = 415,
200     EOS = 416,
201     BOC = 417,
202     EOC = 418,
203     COMMA = 419
204   };
205#endif
206/* Tokens.  */
207#define PRIVSEP 258
208#define USER 259
209#define GROUP 260
210#define CHROOT 261
211#define PATH 262
212#define PATHTYPE 263
213#define INCLUDE 264
214#define IDENTIFIER 265
215#define VENDORID 266
216#define LOGGING 267
217#define LOGLEV 268
218#define PADDING 269
219#define PAD_RANDOMIZE 270
220#define PAD_RANDOMIZELEN 271
221#define PAD_MAXLEN 272
222#define PAD_STRICT 273
223#define PAD_EXCLTAIL 274
224#define LISTEN 275
225#define X_ISAKMP 276
226#define X_ISAKMP_NATT 277
227#define X_ADMIN 278
228#define STRICT_ADDRESS 279
229#define ADMINSOCK 280
230#define DISABLED 281
231#define LDAPCFG 282
232#define LDAP_HOST 283
233#define LDAP_PORT 284
234#define LDAP_PVER 285
235#define LDAP_BASE 286
236#define LDAP_BIND_DN 287
237#define LDAP_BIND_PW 288
238#define LDAP_SUBTREE 289
239#define LDAP_ATTR_USER 290
240#define LDAP_ATTR_ADDR 291
241#define LDAP_ATTR_MASK 292
242#define LDAP_ATTR_GROUP 293
243#define LDAP_ATTR_MEMBER 294
244#define MODECFG 295
245#define CFG_NET4 296
246#define CFG_MASK4 297
247#define CFG_DNS4 298
248#define CFG_NBNS4 299
249#define CFG_DEFAULT_DOMAIN 300
250#define CFG_AUTH_SOURCE 301
251#define CFG_AUTH_GROUPS 302
252#define CFG_SYSTEM 303
253#define CFG_RADIUS 304
254#define CFG_PAM 305
255#define CFG_LDAP 306
256#define CFG_LOCAL 307
257#define CFG_NONE 308
258#define CFG_GROUP_SOURCE 309
259#define CFG_ACCOUNTING 310
260#define CFG_CONF_SOURCE 311
261#define CFG_MOTD 312
262#define CFG_POOL_SIZE 313
263#define CFG_AUTH_THROTTLE 314
264#define CFG_SPLIT_NETWORK 315
265#define CFG_SPLIT_LOCAL 316
266#define CFG_SPLIT_INCLUDE 317
267#define CFG_SPLIT_DNS 318
268#define CFG_PFS_GROUP 319
269#define CFG_SAVE_PASSWD 320
270#define RETRY 321
271#define RETRY_COUNTER 322
272#define RETRY_INTERVAL 323
273#define RETRY_PERSEND 324
274#define RETRY_PHASE1 325
275#define RETRY_PHASE2 326
276#define NATT_KA 327
277#define ALGORITHM_CLASS 328
278#define ALGORITHMTYPE 329
279#define STRENGTHTYPE 330
280#define SAINFO 331
281#define FROM 332
282#define REMOTE 333
283#define ANONYMOUS 334
284#define INHERIT 335
285#define EXCHANGE_MODE 336
286#define EXCHANGETYPE 337
287#define DOI 338
288#define DOITYPE 339
289#define SITUATION 340
290#define SITUATIONTYPE 341
291#define CERTIFICATE_TYPE 342
292#define CERTTYPE 343
293#define PEERS_CERTFILE 344
294#define CA_TYPE 345
295#define VERIFY_CERT 346
296#define SEND_CERT 347
297#define SEND_CR 348
298#define IDENTIFIERTYPE 349
299#define IDENTIFIERQUAL 350
300#define MY_IDENTIFIER 351
301#define PEERS_IDENTIFIER 352
302#define VERIFY_IDENTIFIER 353
303#define DNSSEC 354
304#define CERT_X509 355
305#define CERT_PLAINRSA 356
306#define NONCE_SIZE 357
307#define DH_GROUP 358
308#define KEEPALIVE 359
309#define PASSIVE 360
310#define INITIAL_CONTACT 361
311#define NAT_TRAVERSAL 362
312#define REMOTE_FORCE_LEVEL 363
313#define PROPOSAL_CHECK 364
314#define PROPOSAL_CHECK_LEVEL 365
315#define GENERATE_POLICY 366
316#define GENERATE_LEVEL 367
317#define SUPPORT_PROXY 368
318#define PROPOSAL 369
319#define EXEC_PATH 370
320#define EXEC_COMMAND 371
321#define EXEC_SUCCESS 372
322#define EXEC_FAILURE 373
323#define GSS_ID 374
324#define GSS_ID_ENC 375
325#define GSS_ID_ENCTYPE 376
326#define COMPLEX_BUNDLE 377
327#define DPD 378
328#define DPD_DELAY 379
329#define DPD_RETRY 380
330#define DPD_MAXFAIL 381
331#define PH1ID 382
332#define XAUTH_LOGIN 383
333#define WEAK_PHASE1_CHECK 384
334#define PREFIX 385
335#define PORT 386
336#define PORTANY 387
337#define UL_PROTO 388
338#define ANY 389
339#define IKE_FRAG 390
340#define ESP_FRAG 391
341#define MODE_CFG 392
342#define PFS_GROUP 393
343#define LIFETIME 394
344#define LIFETYPE_TIME 395
345#define LIFETYPE_BYTE 396
346#define STRENGTH 397
347#define REMOTEID 398
348#define SCRIPT 399
349#define PHASE1_UP 400
350#define PHASE1_DOWN 401
351#define NUMBER 402
352#define SWITCH 403
353#define BOOLEAN 404
354#define HEXSTRING 405
355#define QUOTEDSTRING 406
356#define ADDRSTRING 407
357#define ADDRRANGE 408
358#define UNITTYPE_BYTE 409
359#define UNITTYPE_KBYTES 410
360#define UNITTYPE_MBYTES 411
361#define UNITTYPE_TBYTES 412
362#define UNITTYPE_SEC 413
363#define UNITTYPE_MIN 414
364#define UNITTYPE_HOUR 415
365#define EOS 416
366#define BOC 417
367#define EOC 418
368#define COMMA 419
369
370
371
372
373#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
374typedef union YYSTYPE
375#line 174 "cfparse.y"
376{
377	unsigned long num;
378	vchar_t *val;
379	struct remoteconf *rmconf;
380	struct sockaddr *saddr;
381	struct sainfoalg *alg;
382}
383/* Line 1489 of yacc.c.  */
384#line 385 "cfparse.h"
385	YYSTYPE;
386# define yystype YYSTYPE /* obsolescent; will be withdrawn */
387# define YYSTYPE_IS_DECLARED 1
388# define YYSTYPE_IS_TRIVIAL 1
389#endif
390
391extern YYSTYPE yylval;
392
393