浏览代码

core: added global parameter run_dir

- to be used to build the path for runtime files (fifo, ctl)
Daniel-Constantin Mierla 10 年之前
父节点
当前提交
ca1358f21e
共有 4 个文件被更改,包括 8 次插入0 次删除
  1. 2 0
      cfg.lex
  2. 4 0
      cfg.y
  3. 1 0
      globals.h
  4. 1 0
      main.c

+ 2 - 0
cfg.lex

@@ -417,6 +417,7 @@ USER		"user"|"uid"
 GROUP		"group"|"gid"
 CHROOT		"chroot"
 WDIR		"workdir"|"wdir"
+RUNDIR		"rundir"|"run_dir"
 MHOMED		mhomed
 DISABLE_TCP		"disable_tcp"
 TCP_CHILDREN	"tcp_children"
@@ -821,6 +822,7 @@ IMPORTFILE      "import_file"
 <INITIAL>{GROUP}	{ count(); yylval.strval=yytext; return GROUP; }
 <INITIAL>{CHROOT}	{ count(); yylval.strval=yytext; return CHROOT; }
 <INITIAL>{WDIR}	{ count(); yylval.strval=yytext; return WDIR; }
+<INITIAL>{RUNDIR}	{ count(); yylval.strval=yytext; return RUNDIR; }
 <INITIAL>{MHOMED}	{ count(); yylval.strval=yytext; return MHOMED; }
 <INITIAL>{DISABLE_TCP}	{ count(); yylval.strval=yytext; return DISABLE_TCP; }
 <INITIAL>{TCP_CHILDREN}	{ count(); yylval.strval=yytext; return TCP_CHILDREN; }

+ 4 - 0
cfg.y

@@ -468,6 +468,7 @@ extern char *default_routename;
 %token GROUP
 %token CHROOT
 %token WDIR
+%token RUNDIR
 %token MHOMED
 %token DISABLE_TCP
 %token TCP_ACCEPT_ALIASES
@@ -999,6 +1000,9 @@ assign_stm:
 	| WDIR EQUAL STRING     { working_dir=$3; }
 	| WDIR EQUAL ID         { working_dir=$3; }
 	| WDIR EQUAL error      { yyerror("string value expected"); }
+	| RUNDIR EQUAL STRING     { runtime_dir=$3; }
+	| RUNDIR EQUAL ID         { runtime_dir=$3; }
+	| RUNDIR EQUAL error      { yyerror("string value expected"); }
 	| MHOMED EQUAL NUMBER { mhomed=$3; }
 	| MHOMED EQUAL error { yyerror("boolean value expected"); }
 	| DISABLE_TCP EQUAL NUMBER {

+ 1 - 0
globals.h

@@ -128,6 +128,7 @@ extern int sock_gid;
 extern int sock_mode;
 extern char* chroot_dir;
 extern char* working_dir;
+extern char* runtime_dir;
 extern int sr_auto_aliases;
 extern int sr_msg_time;
 extern str version_table;

+ 1 - 0
main.c

@@ -353,6 +353,7 @@ int received_dns = 0;
 int sr_auto_aliases=1;
 char* working_dir = 0;
 char* chroot_dir = 0;
+char* runtime_dir = "" RUN_DIR;
 char* user=0;
 char* group=0;
 int uid = 0;