From f70e4adf47f7f41e1a99d4ffa296dab899a0d8db Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Mon, 3 Nov 2014 21:25:06 +0300 Subject: [PATCH] IPv6 bugfixes --- src/auth.c | 1 + src/common.c | 2 +- src/proxy.c | 4 ++-- src/proxy.h | 2 +- src/smtpp.c | 2 +- src/version.h | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/auth.c b/src/auth.c index e0b3d5e..cfbf500 100644 --- a/src/auth.c +++ b/src/auth.c @@ -268,6 +268,7 @@ int handleredirect(struct clientparam * param, struct ace * acentry){ } else if(!cur->redirport && cur->redirip) { unsigned short port = *SAPORT(¶m->sinsl); + memset(¶m->sinsl, 0, sizeof(param->sinsl)); *SAFAMILY(¶m->sinsl) = AF_INET; *(unsigned long *)SAADDR(¶m->sinsl) = cur->redirip; *SAPORT(¶m->sinsl) = port; diff --git a/src/common.c b/src/common.c index c8bd49e..a19ae56 100644 --- a/src/common.c +++ b/src/common.c @@ -599,7 +599,7 @@ void logsyslog(struct clientparam * param, const unsigned char *s) { int doconnect(struct clientparam * param){ SASIZETYPE size = sizeof(param->sinsr); - if (*SAFAMILY(¶m->sincr) == *SAFAMILY(¶m->req) && !memcmp(SAADDR(¶m->sincr), SAADDR(¶m->req), SASIZE(¶m->req)) && + if (*SAFAMILY(¶m->sincr) == *SAFAMILY(¶m->req) && !memcmp(SAADDR(¶m->sincr), SAADDR(¶m->req), SAADDRLEN(¶m->req)) && *SAPORT(¶m->sincr) == *SAPORT(¶m->req)) return 519; if (param->operation == ADMIN || param->operation == DNSRESOLVE || param->operation == BIND || param->operation == UDPASSOC) diff --git a/src/proxy.c b/src/proxy.c index 827ef85..1c073b8 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -132,8 +132,8 @@ char * proxy_stringtable[] = { NULL }; -#define BUFSIZE 4096 -#define LINESIZE 2048 +#define BUFSIZE 8192 +#define LINESIZE 4096 static void logurl(struct clientparam * param, char * buf, char * req, int ftp){ char *sb; diff --git a/src/proxy.h b/src/proxy.h index 3c689d3..66b6c4b 100644 --- a/src/proxy.h +++ b/src/proxy.h @@ -42,7 +42,7 @@ #define NOCOUNTOUT 8 #define UDPBUFSIZE 16384 -#define TCPBUFSIZE 4096 +#define TCPBUFSIZE 8192 #ifdef _WIN32 diff --git a/src/smtpp.c b/src/smtpp.c index 167b4e0..96b7a8c 100644 --- a/src/smtpp.c +++ b/src/smtpp.c @@ -292,7 +292,7 @@ void * smtppchild(struct clientparam* param) { CLEANRET: if(param->hostname&¶m->extusername) { - sprintf((char *)buf, "%.64s@%.128s%c%hu", param->extusername, param->hostname, (ntohs(*SAPORT(¶m->sinsr))==25)?0:':', *SAPORT(¶m->sinsr)); + sprintf((char *)buf, "%.64s@%.128s%c%hu", param->extusername, param->hostname, *SAPORT(¶m->sinsr)==25?0:':',ntohs(*SAPORT(¶m->sinsr))); (*param->srv->logfunc)(param, buf); } else (*param->srv->logfunc)(param, NULL); diff --git a/src/version.h b/src/version.h index 26dcb17..57d7b74 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ #define VERSION "3proxy-0.8b-devel" -#define BUILDDATE "141021055913" +#define BUILDDATE "141103212413"