From f1beddc85a8ccee93b695e0ea7140c1a9e0271fc Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Fri, 16 Oct 2015 18:03:08 +0300 Subject: [PATCH] optimize Forwarded: generation --- src/proxy.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/proxy.c b/src/proxy.c index b741652..d7483ce 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -811,12 +811,13 @@ for(;;){ inbuf = 0; #ifndef ANONYMOUS if(!anonymous){ - sprintf((char*)buf+strlen((char *)buf), "Forwared: for="); - if(*SAFAMILY(¶m->sincr) == AF_INET6) sprintf((char*)buf+strlen((char *)buf), "\"["); - myinet_ntop(*SAFAMILY(¶m->sincr), SAADDR(¶m->sincr), (char *)buf + strlen((char *)buf), 128); - if(*SAFAMILY(¶m->sincr) == AF_INET6) sprintf((char*)buf+strlen((char *)buf), "]:%d\";by=", (int)ntohs(*SAPORT(¶m->sincr))); - else sprintf((char*)buf+strlen((char *)buf), ":%d;by=", (int)ntohs(*SAPORT(¶m->sincr))); - gethostname((char *)(buf+strlen((char *)buf)), 256); + int len = strlen((char *)buf); + len += sprintf((char*)buf + len, "Forwared: for="); + if(*SAFAMILY(¶m->sincr) == AF_INET6) len += sprintf((char*)buf + len, "\"["); + len += myinet_ntop(*SAFAMILY(¶m->sincr), SAADDR(¶m->sincr), (char *)buf + len, 128); + if(*SAFAMILY(¶m->sincr) == AF_INET6) len += sprintf((char*)buf + len, "]:%d\";by=", (int)ntohs(*SAPORT(¶m->sincr))); + else len += sprintf((char*)buf + len, ":%d;by=", (int)ntohs(*SAPORT(¶m->sincr))); + gethostname((char *)(buf + len), 256); sprintf((char*)buf+strlen((char *)buf), ":%d\r\n", (int)ntohs(*SAPORT(¶m->sincl))); } else if(anonymous>1){