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 | 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 --- |