Просмотр исходного кода

re-authenticate connection on configuration change

z3APA3A 9 лет назад
Родитель
Сommit
938b1d1aab
4 измененных файлов с 4 добавлено и 3 удалено
  1. 1 0
      src/3proxy.c
  2. 1 1
      src/conf.c
  3. 1 1
      src/proxymain.c
  4. 1 1
      src/sockmap.c

+ 1 - 0
src/3proxy.c

@@ -519,6 +519,7 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int
 
   freeconf(&conf);
   res = readconfig(fp);
+  conf.version++;
 
   if(res) RETURN(res);
   if(!writable)fclose(fp);

+ 1 - 1
src/conf.c

@@ -1685,8 +1685,8 @@ int reload (void){
 
 	fp = confopen();
 	if(fp){
-		conf.version++;
 		error = readconfig(fp);
+		conf.version++;
 		if(error) {
 			 freeconf(&conf);
 		}

+ 1 - 1
src/proxymain.c

@@ -710,7 +710,7 @@ int MODULEMAINFUNC (int argc, char** argv){
 void srvinit(struct srvparam * srv, struct clientparam *param){
 
  memset(srv, 0, sizeof(struct srvparam));
- srv->version = conf.version;
+ srv->version = conf.version + 1;
  srv->paused = conf.paused;
  srv->logfunc = conf.logfunc;
  if(srv->logformat)myfree(srv->logformat);

+ 1 - 1
src/sockmap.c

@@ -68,7 +68,7 @@ int sockmap(struct clientparam * param, int timeo){
 
  while (!stop&&!conf.timetoexit){
 	sasize = sizeof(struct sockaddr_in);
-	if(param->version != conf.version){
+	if(param->version < conf.version){
 		if (res = (*param->srv->authfunc)(param)) {return(res);}
 		param->paused = conf.paused;
 		param->version = conf.version;