diff --git a/src/proxymain.c b/src/proxymain.c index 860ff2a..2df82eb 100644 --- a/src/proxymain.c +++ b/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 diff --git a/src/webadmin.c b/src/webadmin.c index 2506474..00e08fe 100644 --- a/src/webadmin.c +++ b/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;