浏览代码

Fix recently broken admin -s

z3APA3A 7 年之前
父节点
当前提交
acc64b03fd
共有 2 个文件被更改,包括 11 次插入2 次删除
  1. 2 0
      src/proxymain.c
  2. 9 2
      src/webadmin.c

+ 2 - 0
src/proxymain.c

@@ -391,7 +391,9 @@ int MODULEMAINFUNC (int argc, char** argv){
 			srv.anonymous = 1 + atoi(argv[i]+2);
 			break;
 		case 's':
+#ifdef WITHSPLICE
 			if(isudp)
+#endif
 				srv.singlepacket = 1 + atoi(argv[i]+2);
 #ifdef WITHSPLICE
 			else

+ 9 - 2
src/webadmin.c

@@ -343,7 +343,14 @@ void * adminchild(struct clientparam* param) {
  struct printparam pp;
  int contentlen = 0;
  int isform = 0;
+ int limited = 0;
 
+
+#ifdef WITHSPLICE
+ limited =param->srv->usesplice;
+#else
+ limited =param->srv->singlepacket;
+#endif
  pp.inbuf = 0;
  pp.cp = param;
 
@@ -408,7 +415,7 @@ void * adminchild(struct clientparam* param) {
 	printstr(&pp, authreq);
 	RETURN(res);
  }
- if(param->srv->singlepacket || param->redirected){
+ if(limited || param->redirected){
 	if(*req == 'C') req[1] = 0;
 	else *req = 0;
  }
@@ -423,7 +430,7 @@ void * adminchild(struct clientparam* param) {
 			for(cp = conf.trafcounter; cp; cp = cp->next, num++){
 			 int inbuf = 0;
 
-			 if(cp->ace && (param->srv->singlepacket || param->redirected)){
+			 if(cp->ace && (limited || param->redirected)){
 				if(!ACLmatches(cp->ace, param))continue;
 			 }
 			 if(req[1] == 'S' && atoi(req+2) == num) cp->disabled=0;