From 6426ed0c1aeed21f95da4d59734a2e1bf73f9a1a Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Tue, 7 Jun 2016 15:39:14 +0300 Subject: [PATCH] fix %i logging --- src/common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common.c b/src/common.c index 854f5b2..b72cfb9 100644 --- a/src/common.c +++ b/src/common.c @@ -503,7 +503,7 @@ int dobuf2(struct clientparam * param, unsigned char * buf, const unsigned char i += myinet_ntop(*SAFAMILY(¶m->sinsl), SAADDR(¶m->sinsl), (char *)buf + i, 64); break; case 'i': - i += myinet_ntop(*SAFAMILY(¶m->sincl), SAADDR(¶m->sinsl), (char *)buf + i, 64); + i += myinet_ntop(*SAFAMILY(¶m->sincl), SAADDR(¶m->sincl), (char *)buf + i, 64); break; case 'C': i += myinet_ntop(*SAFAMILY(¶m->sincr), SAADDR(¶m->sincr), (char *)buf + i, 64); @@ -638,7 +638,8 @@ void logsyslog(struct clientparam * param, const unsigned char *s) { #endif int doconnect(struct clientparam * param){ - SASIZETYPE size = sizeof(param->sinsr); + SASIZETYPE size; + 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; @@ -646,6 +647,7 @@ int doconnect(struct clientparam * param){ if (param->operation == ADMIN || param->operation == DNSRESOLVE || param->operation == BIND || param->operation == UDPASSOC) return 0; if (param->remsock != INVALID_SOCKET){ + size = sizeof(param->sinsr); if(so._getpeername(param->remsock, (struct sockaddr *)¶m->sinsr, &size)==-1) {return (15);} } else {