Deleted Added
full compact
parse.y (122108) parse.y (125681)
1/* $FreeBSD: head/sbin/setkey/parse.y 122108 2003-11-05 09:47:54Z ume $ */
1/* $FreeBSD: head/sbin/setkey/parse.y 125681 2004-02-11 04:34:34Z bms $ */
2/* $KAME: parse.y,v 1.81 2003/07/01 04:01:48 itojun Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

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

89 int num;
90 unsigned long ulnum;
91 vchar_t val;
92 struct addrinfo *res;
93}
94
95%token EOT SLASH BLCL ELCL
96%token ADD GET DELETE DELETEALL FLUSH DUMP
2/* $KAME: parse.y,v 1.81 2003/07/01 04:01:48 itojun Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

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

89 int num;
90 unsigned long ulnum;
91 vchar_t val;
92 struct addrinfo *res;
93}
94
95%token EOT SLASH BLCL ELCL
96%token ADD GET DELETE DELETEALL FLUSH DUMP
97%token PR_ESP PR_AH PR_IPCOMP
97%token PR_ESP PR_AH PR_IPCOMP PR_TCP
98%token F_PROTOCOL F_AUTH F_ENC F_REPLAY F_COMP F_RAWCPI
99%token F_MODE MODE F_REQID
100%token F_EXT EXTENSION NOCYCLICSEQ
101%token ALG_AUTH ALG_AUTH_NOKEY
102%token ALG_ENC ALG_ENC_NOKEY ALG_ENC_DESDERIV ALG_ENC_DES32IV ALG_ENC_OLD
103%token ALG_COMP
104%token F_LIFETIME_HARD F_LIFETIME_SOFT
105%token DECSTRING QUOTEDSTRING HEXSTRING STRING ANY
106 /* SPD management */
107%token SPDADD SPDDELETE SPDDUMP SPDFLUSH
108%token F_POLICY PL_REQUESTS
109%token F_AIFLAGS
110%token TAGGED
111
112%type <num> prefix protocol_spec upper_spec
113%type <num> ALG_ENC ALG_ENC_DESDERIV ALG_ENC_DES32IV ALG_ENC_OLD ALG_ENC_NOKEY
114%type <num> ALG_AUTH ALG_AUTH_NOKEY
115%type <num> ALG_COMP
98%token F_PROTOCOL F_AUTH F_ENC F_REPLAY F_COMP F_RAWCPI
99%token F_MODE MODE F_REQID
100%token F_EXT EXTENSION NOCYCLICSEQ
101%token ALG_AUTH ALG_AUTH_NOKEY
102%token ALG_ENC ALG_ENC_NOKEY ALG_ENC_DESDERIV ALG_ENC_DES32IV ALG_ENC_OLD
103%token ALG_COMP
104%token F_LIFETIME_HARD F_LIFETIME_SOFT
105%token DECSTRING QUOTEDSTRING HEXSTRING STRING ANY
106 /* SPD management */
107%token SPDADD SPDDELETE SPDDUMP SPDFLUSH
108%token F_POLICY PL_REQUESTS
109%token F_AIFLAGS
110%token TAGGED
111
112%type <num> prefix protocol_spec upper_spec
113%type <num> ALG_ENC ALG_ENC_DESDERIV ALG_ENC_DES32IV ALG_ENC_OLD ALG_ENC_NOKEY
114%type <num> ALG_AUTH ALG_AUTH_NOKEY
115%type <num> ALG_COMP
116%type PR_ESP PR_AH PR_IPCOMP
116%type <num> PR_ESP PR_AH PR_IPCOMP PR_TCP
117%type <num> EXTENSION MODE
118%type <ulnum> DECSTRING
119%type <val> PL_REQUESTS portstr key_string
120%type <val> policy_requests
121%type <val> QUOTEDSTRING HEXSTRING STRING
122%type <val> F_AIFLAGS
123%type <val> upper_misc_spec policy_spec
124%type <res> ipaddr

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

245 p_ext |= SADB_X_EXT_OLD;
246 else
247 p_ext &= ~SADB_X_EXT_OLD;
248 }
249 | PR_IPCOMP
250 {
251 $$ = SADB_X_SATYPE_IPCOMP;
252 }
117%type <num> EXTENSION MODE
118%type <ulnum> DECSTRING
119%type <val> PL_REQUESTS portstr key_string
120%type <val> policy_requests
121%type <val> QUOTEDSTRING HEXSTRING STRING
122%type <val> F_AIFLAGS
123%type <val> upper_misc_spec policy_spec
124%type <res> ipaddr

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

245 p_ext |= SADB_X_EXT_OLD;
246 else
247 p_ext &= ~SADB_X_EXT_OLD;
248 }
249 | PR_IPCOMP
250 {
251 $$ = SADB_X_SATYPE_IPCOMP;
252 }
253 | PR_TCP
254 {
255 $$ = SADB_X_SATYPE_TCPSIGNATURE;
256 }
253 ;
257 ;
254
258
255spi
256 : DECSTRING { p_spi = $1; }
257 | HEXSTRING
258 {
259 char *ep;
260 unsigned long v;
261
262 ep = NULL;

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

395 if ($1 < 0) {
396 yyerror("unsupported algorithm");
397 return -1;
398 }
399 p_alg_auth = $1;
400
401 p_key_auth_len = $2.len;
402 p_key_auth = $2.buf;
259spi
260 : DECSTRING { p_spi = $1; }
261 | HEXSTRING
262 {
263 char *ep;
264 unsigned long v;
265
266 ep = NULL;

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

399 if ($1 < 0) {
400 yyerror("unsupported algorithm");
401 return -1;
402 }
403 p_alg_auth = $1;
404
405 p_key_auth_len = $2.len;
406 p_key_auth = $2.buf;
403 if (ipsec_check_keylen(SADB_EXT_SUPPORTED_AUTH,
407
408 if (p_alg_auth == SADB_X_AALG_TCP_MD5) {
409 if ((p_key_auth_len < 1) || (p_key_auth_len >
410 80))
411 return -1;
412 } else if (ipsec_check_keylen(SADB_EXT_SUPPORTED_AUTH,
404 p_alg_auth, PFKEY_UNUNIT64(p_key_auth_len)) < 0) {
405 yyerror(ipsec_strerror());
406 return -1;
407 }
408 }
409 | ALG_AUTH_NOKEY {
410 if ($1 < 0) {
411 yyerror("unsupported algorithm");

--- 836 unchanged lines hidden ---
413 p_alg_auth, PFKEY_UNUNIT64(p_key_auth_len)) < 0) {
414 yyerror(ipsec_strerror());
415 return -1;
416 }
417 }
418 | ALG_AUTH_NOKEY {
419 if ($1 < 0) {
420 yyerror("unsupported algorithm");

--- 836 unchanged lines hidden ---