From 2983575952ce78bb49bdfd03f95131a837c88b8c Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Sun, 25 Jun 2017 18:37:19 +0300 Subject: [PATCH] banlimits for old connection may stop functioning on configuration reload --- src/auth.c | 10 ++++++++-- src/structures.h | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/auth.c b/src/auth.c index 0411511..c9af3a9 100644 --- a/src/auth.c +++ b/src/auth.c @@ -485,8 +485,14 @@ unsigned bandlimitfunc(struct clientparam *param, unsigned nbytesin, unsigned nb if(!nbytesin && !nbytesout) return 0; pthread_mutex_lock(&bandlim_mutex); - if(param->paused != conf.paused){ - return (1); + if(param->paused != conf.paused && param->bandlimver != conf.paused){ + if(!conf.bandlimfunc){ + param->bandlimfunc = NULL; + pthread_mutex_unlock(&bandlim_mutex); + return 0; + } + initbandlims(param); + param->bandlimver = conf.paused; } for(i=0; nbytesin&& ibandlims[i]; i++){ if( !param->bandlims[i]->basetime || diff --git a/src/structures.h b/src/structures.h index 13989f1..b6f89fc 100644 --- a/src/structures.h +++ b/src/structures.h @@ -459,7 +459,8 @@ struct clientparam { int redirected, operation, nfilters, nreqfilters, nhdrfilterscli, nhdrfilterssrv, npredatfilters, ndatfilterscli, ndatfilterssrv, - unsafefilter; + unsafefilter, + bandlimver; int res, status;