From fad5dfb7ab593b97da83201d655def19daf04c65 Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Wed, 18 Nov 2020 16:10:07 +0300 Subject: [PATCH] Few bugfixes --- src/auth.c | 10 +++++----- src/conf.c | 4 ++-- src/plugins/FilePlugin/FilePlugin.c | 2 +- src/plugins/PCREPlugin/pcre_plugin.c | 5 ++--- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/auth.c b/src/auth.c index 0ca3219..77df5eb 100644 --- a/src/auth.c +++ b/src/auth.c @@ -505,6 +505,11 @@ void stopconnlims (struct clientparam *param){ static void initbandlims (struct clientparam *param){ struct bandlim * be; int i; + + param->bandlimfunc = NULL; + param->bandlims[0] = NULL; + param->bandlimsout[0] = NULL; + if(!conf.bandlimfunc || (!conf.bandlimiter && !conf.bandlimiterout)) return; for(i=0, be = conf.bandlimiter; be && inext) { if(ACLmatches(be->ace, param)){ if(be->ace->action == NOBANDLIM) { @@ -552,11 +557,6 @@ unsigned bandlimitfunc(struct clientparam *param, unsigned nbytesin, unsigned nb if(!nbytesin && !nbytesout) return 0; pthread_mutex_lock(&bandlim_mutex); if(param->bandlimver != conf.bandlimver){ - if(!conf.bandlimfunc){ - param->bandlimfunc = NULL; - pthread_mutex_unlock(&bandlim_mutex); - return 0; - } initbandlims(param); param->bandlimver = conf.paused; } diff --git a/src/conf.c b/src/conf.c index 6b65bdd..fa470ae 100644 --- a/src/conf.c +++ b/src/conf.c @@ -1233,12 +1233,12 @@ static int h_radius(int argc, char **argv){ strcpy(radiussecret, argv[1]); for( nradservers=0; nradservers < MAXRADIUS && nradservers < argc -2; nradservers++){ char *s = 0; - if(strchr(argv[nradservers + 2], '/')){ + if((s=strchr(argv[nradservers + 2], '/'))){ *s = 0; s++; } if( !getip46(46, argv[nradservers + 2], (struct sockaddr *)&radiuslist[nradservers].authaddr)) return 1; - if( s && !getip46(46, s, (struct sockaddr *)&radiuslist[nradservers].localaddr)) return 2; + if( s && !getip46(46, s+1, (struct sockaddr *)&radiuslist[nradservers].localaddr)) return 2; if(!*SAPORT(&radiuslist[nradservers].authaddr))*SAPORT(&radiuslist[nradservers].authaddr) = htons(1812); port = ntohs(*SAPORT(&radiuslist[nradservers].authaddr)); radiuslist[nradservers].logaddr = radiuslist[nradservers].authaddr; diff --git a/src/plugins/FilePlugin/FilePlugin.c b/src/plugins/FilePlugin/FilePlugin.c index 045c370..66ba113 100644 --- a/src/plugins/FilePlugin/FilePlugin.c +++ b/src/plugins/FilePlugin/FilePlugin.c @@ -577,7 +577,7 @@ static int WINAPI fp_sendto(SOCKET s, const void *msg, int len, int flags, const case GOT_FTP_CLIDATA: case GOT_FTP_SRVDATA: case GOT_HTTP_CLIDATA: - if((!fps->what & FP_CLIDATA)) break; + if(!(fps->what & FP_CLIDATA)) break; #ifdef _WIN32 if(SetFilePointer(fps->fpd.h_cli, fps->clientwritten + fps->clihdrwritten, 0, FILE_BEGIN) != (fps->clientwritten + fps->clihdrwritten)){ return -1; diff --git a/src/plugins/PCREPlugin/pcre_plugin.c b/src/plugins/PCREPlugin/pcre_plugin.c index 3651cfd..5bf47a4 100644 --- a/src/plugins/PCREPlugin/pcre_plugin.c +++ b/src/plugins/PCREPlugin/pcre_plugin.c @@ -351,7 +351,7 @@ static struct commands pcre_commandhandlers[] = { static struct symbol regexp_symbols[] = { {regexp_symbols+1, "pcre_compile", (void*) pcre_compile}, {regexp_symbols+2, "pcre_exec", (void*) pcre_exec}, - {NULL, "pcre_free", NULL}, + {NULL, "pcre_config", (void *)pcre_config}, }; #ifdef WATCOM @@ -371,8 +371,7 @@ PLUGINAPI int PLUGINCALL pcre_plugin (struct pluginlink * pluginlink, pcre_free = pl->freefunc; pcre_loaded = 1; pthread_mutex_init(&pcre_mutex, NULL); - regexp_symbols[6].value = pl->freefunc; - regexp_symbols[6].next = pl->symbols.next; + regexp_symbols[2].next = pl->symbols.next; pl->symbols.next = regexp_symbols; pcre_commandhandlers[3].next = pl->commandhandlers->next; pl->commandhandlers->next = pcre_commandhandlers;