mirror of
https://github.com/3proxy/3proxy.git
synced 2026-09-30 01:05:50 +08:00
Compare commits
No commits in common. "c462963d8e5545bab593e24e25fa922676dac55c" and "af9f23ece7e157a959e833be8a15504c03bd52cb" have entirely different histories.
c462963d8e
...
af9f23ece7
@ -18,19 +18,6 @@ DWORD WINAPI threadfunc(LPVOID p) {
|
|||||||
void * threadfunc (void *p) {
|
void * threadfunc (void *p) {
|
||||||
#endif
|
#endif
|
||||||
int i = -1;
|
int i = -1;
|
||||||
#ifdef MODULEMAINFUNC
|
|
||||||
if(makefilters(param->srv, param) > CONTINUE){
|
|
||||||
#ifndef NOUDPMAIN
|
|
||||||
if(param->srv->service == S_UDPPM) _3proxy_sem_unlock(udpinit);
|
|
||||||
#endif
|
|
||||||
freeparam(param);
|
|
||||||
#ifdef _WIN32
|
|
||||||
return 0;
|
|
||||||
#else
|
|
||||||
return NULL;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if(param->srv->cbsock != INVALID_SOCKET){
|
if(param->srv->cbsock != INVALID_SOCKET){
|
||||||
SASIZETYPE size = sizeof(param->sinsr);
|
SASIZETYPE size = sizeof(param->sinsr);
|
||||||
struct pollfd fds;
|
struct pollfd fds;
|
||||||
@ -1067,6 +1054,17 @@ int MODULEMAINFUNC (int argc, char** argv){
|
|||||||
if(defparam.hostname)newparam->hostname=(unsigned char *)strdup((char *)defparam.hostname);
|
if(defparam.hostname)newparam->hostname=(unsigned char *)strdup((char *)defparam.hostname);
|
||||||
clearstat(newparam);
|
clearstat(newparam);
|
||||||
if(!isudp) newparam->clisock = new_sock;
|
if(!isudp) newparam->clisock = new_sock;
|
||||||
|
#ifndef STDMAIN
|
||||||
|
if(makefilters(&srv, newparam) > CONTINUE){
|
||||||
|
freeparam(newparam);
|
||||||
|
#ifndef NOUDPMAIN
|
||||||
|
if(isudp) {
|
||||||
|
_3proxy_sem_unlock(udpinit);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
newparam->prev = newparam->next = NULL;
|
newparam->prev = newparam->next = NULL;
|
||||||
error = 0;
|
error = 0;
|
||||||
_3proxy_mutex_lock(&srv.counter_mutex);
|
_3proxy_mutex_lock(&srv.counter_mutex);
|
||||||
@ -1101,11 +1099,6 @@ int MODULEMAINFUNC (int argc, char** argv){
|
|||||||
if(newparam->prev) newparam->prev->next = newparam->next;
|
if(newparam->prev) newparam->prev->next = newparam->next;
|
||||||
else srv.child = newparam->next;
|
else srv.child = newparam->next;
|
||||||
if(newparam->next) newparam->next->prev = newparam->prev;
|
if(newparam->next) newparam->next->prev = newparam->prev;
|
||||||
if(newparam->clisock != INVALID_SOCKET){
|
|
||||||
srv.so._shutdown(srv.so.state, newparam->clisock, SHUT_RDWR);
|
|
||||||
srv.so._closesocket(srv.so.state, newparam->clisock);
|
|
||||||
newparam->clisock = INVALID_SOCKET;
|
|
||||||
}
|
|
||||||
newparam->srv = NULL;
|
newparam->srv = NULL;
|
||||||
#ifndef NOUDPMAIN
|
#ifndef NOUDPMAIN
|
||||||
if(isudp){
|
if(isudp){
|
||||||
@ -1296,17 +1289,15 @@ void freeparam(struct clientparam * param) {
|
|||||||
#ifndef STDMAIN
|
#ifndef STDMAIN
|
||||||
if(param->srv->service == S_UDPPM) hashdelete(&udp_table, param);
|
if(param->srv->service == S_UDPPM) hashdelete(&udp_table, param);
|
||||||
#endif
|
#endif
|
||||||
if(param->prev || param->next || param->srv->child == param){
|
if(param->prev){
|
||||||
if(param->prev){
|
param->prev->next = param->next;
|
||||||
param->prev->next = param->next;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
param->srv->child = param->next;
|
|
||||||
if(param->next){
|
|
||||||
param->next->prev = param->prev;
|
|
||||||
}
|
|
||||||
(param->srv->childcount)--;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
param->srv->child = param->next;
|
||||||
|
if(param->next){
|
||||||
|
param->next->prev = param->prev;
|
||||||
|
}
|
||||||
|
(param->srv->childcount)--;
|
||||||
_3proxy_mutex_unlock(¶m->srv->counter_mutex);
|
_3proxy_mutex_unlock(¶m->srv->counter_mutex);
|
||||||
}
|
}
|
||||||
if(param->clibuf) free(param->clibuf);
|
if(param->clibuf) free(param->clibuf);
|
||||||
|
|||||||
@ -201,7 +201,7 @@ log(logbuf);
|
|||||||
log("send to server from buf");
|
log("send to server from buf");
|
||||||
#endif
|
#endif
|
||||||
if(!param->nolongdatfilter){
|
if(!param->nolongdatfilter){
|
||||||
action = handledatfltcli(param, ¶m->clibuf, (int *)¶m->clibufsize, param->clioffset, (int *)¶m->cliinbuf);
|
action = handledatfltcli(param, ¶m->clibuf, (int *)¶m->clibufsize, param->cliinbuf - res, (int *)¶m->cliinbuf);
|
||||||
if(action == HANDLED){
|
if(action == HANDLED){
|
||||||
RETURN(0);
|
RETURN(0);
|
||||||
}
|
}
|
||||||
@ -247,7 +247,7 @@ log("done send to server from buf");
|
|||||||
log("send to client from buf");
|
log("send to client from buf");
|
||||||
#endif
|
#endif
|
||||||
if(!param->nolongdatfilter){
|
if(!param->nolongdatfilter){
|
||||||
action = handledatfltsrv(param, ¶m->srvbuf, (int *)¶m->srvbufsize, param->srvoffset, (int *)¶m->srvinbuf);
|
action = handledatfltsrv(param, ¶m->srvbuf, (int *)¶m->srvbufsize, param->srvinbuf - res, (int *)¶m->srvinbuf);
|
||||||
if(action == HANDLED){
|
if(action == HANDLED){
|
||||||
RETURN(0);
|
RETURN(0);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user