Преглед изворни кода

core: new core parameter xavp_via_params

- set the name of the xavp whose subfields will be added as via params
Daniel-Constantin Mierla пре 7 година
родитељ
комит
97f8c975b0
4 измењених фајлова са 9 додато и 1 уклоњено
  1. 2 0
      src/core/cfg.lex
  2. 5 0
      src/core/cfg.y
  3. 1 0
      src/core/globals.h
  4. 1 1
      src/core/msg_translator.c

+ 2 - 0
src/core/cfg.lex

@@ -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; }

+ 5 - 0
src/core/cfg.y

@@ -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; }

+ 1 - 0
src/core/globals.h

@@ -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 */

+ 1 - 1
src/core/msg_translator.c

@@ -111,7 +111,7 @@
 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.