core: new core parameter xavp_via_params
authorDaniel-Constantin Mierla <miconda@gmail.com>
Thu, 19 Apr 2018 15:50:48 +0000 (17:50 +0200)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Thu, 19 Apr 2018 15:50:48 +0000 (17:50 +0200)
- set the name of the xavp whose subfields will be added as via params

src/core/cfg.lex
src/core/cfg.y
src/core/globals.h
src/core/msg_translator.c

index 67803e9..033f87e 100644 (file)
@@ -293,6 +293,7 @@ LOGPREFIX   log_prefix
 LOGPREFIXMODE  log_prefix_mode
 LOGENGINETYPE  log_engine_type
 LOGENGINEDATA  log_engine_data
+XAVPVIAPARAMS  xavp_via_params
 LISTEN         listen
 ADVERTISE      advertise|ADVERTISE
 ALIAS          alias
@@ -694,6 +695,7 @@ IMPORTFILE      "import_file"
 <INITIAL>{LOGPREFIXMODE}       { yylval.strval=yytext; return LOGPREFIXMODE; }
 <INITIAL>{LOGENGINETYPE}       { yylval.strval=yytext; return LOGENGINETYPE; }
 <INITIAL>{LOGENGINEDATA}       { yylval.strval=yytext; return LOGENGINEDATA; }
+<INITIAL>{XAVPVIAPARAMS}       { yylval.strval=yytext; return XAVPVIAPARAMS; }
 <INITIAL>{LISTEN}      { count(); yylval.strval=yytext; return LISTEN; }
 <INITIAL>{ADVERTISE}   { count(); yylval.strval=yytext; return ADVERTISE; }
 <INITIAL>{ALIAS}       { count(); yylval.strval=yytext; return ALIAS; }
index ff94b60..25be814 100644 (file)
@@ -324,6 +324,7 @@ extern char *default_routename;
 %token LOGPREFIXMODE
 %token LOGENGINETYPE
 %token LOGENGINEDATA
+%token XAVPVIAPARAMS
 %token LISTEN
 %token ADVERTISE
 %token ALIAS
@@ -797,6 +798,10 @@ assign_stm:
        | LOGENGINETYPE EQUAL error { yyerror("string value expected"); }
        | LOGENGINEDATA EQUAL STRING { _km_log_engine_data=$3; }
        | LOGENGINEDATA EQUAL error { yyerror("string value expected"); }
+       | XAVPVIAPARAMS EQUAL STRING { _ksr_xavp_via_params.s=$3;
+                       _ksr_xavp_via_params.len=strlen($3);
+               }
+       | XAVPVIAPARAMS EQUAL error { yyerror("string value expected"); }
        | DNS EQUAL NUMBER   { received_dns|= ($3)?DO_DNS:0; }
        | DNS EQUAL error { yyerror("boolean value expected"); }
        | REV_DNS EQUAL NUMBER { received_dns|= ($3)?DO_REV_DNS:0; }
index 786e8f2..d335a99 100644 (file)
@@ -205,6 +205,7 @@ extern int http_reply_parse;
 extern int _sr_ip_free_bind;
 extern int ksr_verbose_startup;
 extern int ksr_route_locks_size;
+extern str _ksr_xavp_via_params;
 
 #ifdef USE_DNS_CACHE
 extern int dns_cache_init; /* if 0, the DNS cache is not initialized at startup */
index 414648d..5d7c186 100644 (file)
 extern char version[];
 extern int version_len;
 
-
+str _ksr_xavp_via_params = STR_NULL;
 
 /** per process fixup function for global_req_flags.
   * It should be called from the configuration framework.