aboutsummaryrefslogtreecommitdiff
path: root/cfparse.y
diff options
context:
space:
mode:
authorSUZUKI, Shinsuke <suz@kame.net>2006-04-26 09:32:46 +0000
committerSUZUKI, Shinsuke <suz@kame.net>2006-04-26 09:32:46 +0000
commitc8548ef8ee768d64e1f30ea720990297a4889968 (patch)
tree38a2ef51f3b61567d15f237371e109857a358442 /cfparse.y
parentdc17a7a9bd72e5bef9e31653708df355fc6666d9 (diff)
supported 'include' statement (contributed by Bruno STEVANT)
Diffstat (limited to 'cfparse.y')
-rw-r--r--cfparse.y14
1 files changed, 14 insertions, 0 deletions
diff --git a/cfparse.y b/cfparse.y
index 9d8857f..5b6b8a4 100644
--- a/cfparse.y
+++ b/cfparse.y
@@ -91,6 +91,7 @@ struct cf_list *cf_sip_list, *cf_sip_name_list;
long long cf_refreshtime = -1;
extern int yylex __P((void));
+extern int cfswitch_buffer __P((char *));
static int add_namelist __P((struct cf_namelist *, struct cf_namelist **));
static void cleanup __P((void));
static void cleanup_namelist __P((struct cf_namelist *));
@@ -111,6 +112,7 @@ static void cleanup_cflist __P((struct cf_list *));
%token AUTHNAME RDM KEY
%token KEYINFO REALM KEYID SECRET KEYNAME EXPIRE
%token ADDRPOOL POOLNAME RANGE TO ADDRESS_POOL
+%token INCLUDE
%token NUMBER SLASH EOS BCL ECL STRING QSTRING PREFIX INFINITY
%token COMMA
@@ -151,6 +153,7 @@ statement:
| authentication_statement
| key_statement
| addrpool_statement
+ | include_statement
;
interface_statement:
@@ -336,6 +339,17 @@ key_statement:
}
;
+include_statement:
+ INCLUDE QSTRING EOS
+ {
+ if (cfswitch_buffer($2)) {
+ free($2);
+ return (-1);
+ }
+ free($2);
+ }
+ ;
+
addrpool_statement:
ADDRPOOL POOLNAME BCL declarations ECL EOS
{