summaryrefslogtreecommitdiffstats
path: root/src/config.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.y')
-rw-r--r--src/config.y11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/config.y b/src/config.y
index 07774d1..8fea5a3 100644
--- a/src/config.y
+++ b/src/config.y
@@ -95,6 +95,8 @@
%token TOK_NO
%token TOK_PORT
%token TOK_FLOAT
+%token TOK_ALGORITHM
+%token TOK_USE
%token <addr> TOK_ADDR
%token <addr6> TOK_ADDR6
@@ -136,6 +138,7 @@ statement: TOK_LOG log ';'
| TOK_MODE mode ';'
| TOK_PROTOCOL protocol ';'
| TOK_METHOD method ';'
+ | TOK_ALGORITHM algorithm ';'
| TOK_SECRET secret ';'
| TOK_ON TOK_UP on_up ';'
| TOK_ON TOK_DOWN on_down ';'
@@ -226,6 +229,14 @@ method: TOK_STRING {
}
;
+algorithm: TOK_STRING TOK_USE TOK_STRING {
+ if (!fastd_config_algorithm(ctx, conf, $1->str, $3->str)) {
+ fastd_config_error(&@$, ctx, conf, filename, depth, "invalid algorithm/implementation");
+ YYERROR;
+ }
+ }
+ ;
+
secret: TOK_STRING { free(conf->secret); conf->secret = strdup($1->str); }
;