From 2de3f0c38049a63d358c941213f3d787ad040f84 Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Mon, 25 Jan 2016 22:48:09 +0300
Subject: [PATCH 01/12] publish as devel
---
src/version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/version.h b/src/version.h
index a465219..1b98ca0 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,2 +1,2 @@
#define VERSION "3proxy-0.9-devel"
-#define BUILDDATE "160123192052"
+#define BUILDDATE "160125224642"
From 0883fb6e34d4658b5db206382c6200e761fca859 Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Wed, 27 Jan 2016 15:38:47 +0300
Subject: [PATCH 02/12] Show traffic limit in MBs
---
src/webadmin.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/webadmin.c b/src/webadmin.c
index 22aa6d2..70b47c4 100644
--- a/src/webadmin.c
+++ b/src/webadmin.c
@@ -473,7 +473,7 @@ void * adminchild(struct clientparam* param) {
"
MB%s | "
"%"PRINTF_INT64_MODIFIER"u | "
"%s | ",
- cp->traflim64,
+ cp->traflim64 / (1024 * 1024),
rotations[cp->type],
cp->traf64,
cp->cleared?ctime(&cp->cleared):"never"
From c61533aa54585cdcf532df3deedfdeb8759e13cb Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Wed, 27 Jan 2016 17:30:54 +0300
Subject: [PATCH 03/12] .rc file updated
---
3proxy.rc | 31 +++++++++++++++----------------
Makefile.msvc | 2 +-
2 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/3proxy.rc b/3proxy.rc
index 3ff2cfa..f407a8e 100644
--- a/3proxy.rc
+++ b/3proxy.rc
@@ -1,26 +1,25 @@
#include "src/version.h"
-LANGUAGE 0x09, 0x01
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,8,0,0
- PRODUCTVERSION 0,8,0,0
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
+1 VERSIONINFO
+FILEVERSION 0,9,0,0
+PRODUCTVERSION 0,9,0,0
+FILETYPE 1
+FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
- BLOCK "000004b0"
+ BLOCK "040904E4"
BEGIN
- VALUE "Comments", "3proxy - tiny proxy server, http://3proxy.ru/"
- VALUE "CompanyName", "Vladimir Dubrovin"
- VALUE "FileDescription", "3proxy - tiny proxy server"
- VALUE "FileVersion", VERSION "-" BUILDDATE
- VALUE "InternalName", "3proxy"
- VALUE "LegalCopyright", "Copyright (C) 2002-2014 Vladimir Dubrovin"
- VALUE "OriginalFilename", "3proxy.exe"
- VALUE "ProductName", "3proxy - tiny proxy server"
- VALUE "ProductVersion", VERSION
+ VALUE "Comments", "3proxy - tiny proxy server, http://3proxy.ru/\0"
+ VALUE "CompanyName", "Vladimir Dubrovin\0"
+ VALUE "FileDescription", "3proxy - tiny proxy server\0"
+ VALUE "FileVersion", "0.9.0.0\0"
+ VALUE "InternalName", "3proxy\0"
+ VALUE "LegalCopyright", "Copyright (C) 2002-2016 Vladimir Dubrovin\0"
+ VALUE "OriginalFilename", "3proxy.exe\0"
+ VALUE "ProductName", "3proxy - tiny proxy server\0"
+ VALUE "ProductVersion", "0.9.0.0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Makefile.msvc b/Makefile.msvc
index 83f806f..14e4c23 100644
--- a/Makefile.msvc
+++ b/Makefile.msvc
@@ -11,7 +11,7 @@ CC = cl
CFLAGS = /nologo /MT /W3 /Ox /GS /EHs- /GA /GF /D "MSVC" /D "WITH_STD_MALLOC" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /Fp"proxy.pch" /FD /c
COUT = /Fo
LN = link
-LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386
+LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386
DLFLAGS = /DLL
DLSUFFICS = .dll
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib libeay32MT.lib ssleay32MT.lib
From ade0df095664c24d3ec2d3b915fb75f728c1eddc Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Wed, 27 Jan 2016 17:55:11 +0300
Subject: [PATCH 04/12] Add builddate to rc file for devel version
---
3proxy.rc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/3proxy.rc b/3proxy.rc
index f407a8e..062c625 100644
--- a/3proxy.rc
+++ b/3proxy.rc
@@ -14,12 +14,12 @@ BEGIN
VALUE "Comments", "3proxy - tiny proxy server, http://3proxy.ru/\0"
VALUE "CompanyName", "Vladimir Dubrovin\0"
VALUE "FileDescription", "3proxy - tiny proxy server\0"
- VALUE "FileVersion", "0.9.0.0\0"
+ VALUE "FileVersion", "0.9-devel-" BUILDDATE "\0"
VALUE "InternalName", "3proxy\0"
VALUE "LegalCopyright", "Copyright (C) 2002-2016 Vladimir Dubrovin\0"
VALUE "OriginalFilename", "3proxy.exe\0"
- VALUE "ProductName", "3proxy - tiny proxy server\0"
- VALUE "ProductVersion", "0.9.0.0\0"
+ VALUE "ProductName", "3proxy\0"
+ VALUE "ProductVersion", "0.9-devel-" BUILDDATE "\0"
END
END
BLOCK "VarFileInfo"
From 48361db51c49c52c34d22ba11ef71bd937789a3e Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Wed, 27 Jan 2016 17:55:40 +0300
Subject: [PATCH 05/12] Add versioning information only to 3proxy.exe
---
src/Makefile.inc | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/Makefile.inc b/src/Makefile.inc
index d1b3110..820938b 100644
--- a/src/Makefile.inc
+++ b/src/Makefile.inc
@@ -62,28 +62,28 @@ udppm$(OBJSUFFICS): udppm.c proxy.h structures.h proxymain.c
$(CC) $(CFLAGS) 3proxy.c
$(BUILDDIR)proxy$(EXESUFFICS): sockmap$(OBJSUFFICS) proxy$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) base64$(OBJSUFFICS) ftp$(OBJSUFFICS) $(COMPATLIBS)
- $(LN) $(LNOUT)$(BUILDDIR)proxy$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) proxy$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) base64$(OBJSUFFICS) ftp$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)proxy$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) proxy$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) base64$(OBJSUFFICS) ftp$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
$(BUILDDIR)pop3p$(EXESUFFICS): sockmap$(OBJSUFFICS) pop3p$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS)
- $(LN) $(LNOUT)$(BUILDDIR)pop3p$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) pop3p$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)pop3p$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) pop3p$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
$(BUILDDIR)smtpp$(EXESUFFICS): sockmap$(OBJSUFFICS) smtpp$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) base64$(OBJSUFFICS) $(COMPATLIBS)
- $(LN) $(LNOUT)$(BUILDDIR)smtpp$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) smtpp$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) base64$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)smtpp$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) smtpp$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) base64$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
$(BUILDDIR)ftppr$(EXESUFFICS): sockmap$(OBJSUFFICS) ftppr$(OBJSUFFICS) ftp$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS)
- $(LN) $(LNOUT)$(BUILDDIR)ftppr$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) ftppr$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) ftp$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)ftppr$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) ftppr$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) ftp$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
$(BUILDDIR)socks$(EXESUFFICS): sockmap$(OBJSUFFICS) socks$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS)
- $(LN) $(LNOUT)$(BUILDDIR)socks$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) socks$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)socks$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) socks$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
$(BUILDDIR)tcppm$(EXESUFFICS): sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) tcppm$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS)
- $(LN) $(LNOUT)$(BUILDDIR)tcppm$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) tcppm$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)tcppm$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) tcppm$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
$(BUILDDIR)icqpr$(EXESUFFICS): sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) icqpr$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS)
- $(LN) $(LNOUT)$(BUILDDIR)icqpr$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) icqpr$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)icqpr$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) icqpr$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
$(BUILDDIR)udppm$(EXESUFFICS): sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) udppm$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS)
- $(LN) $(LNOUT)$(BUILDDIR)udppm$(EXESUFFICS) $(LDFLAGS) $(VERFILE) sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) udppm$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)udppm$(EXESUFFICS) $(LDFLAGS) sockmap$(OBJSUFFICS) sockgetchar$(OBJSUFFICS) udppm$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(LIBS)
mainfunc$(OBJSUFFICS): proxy.h structures.h proxymain.c
$(CC) $(COUT)mainfunc$(OBJSUFFICS) $(CFLAGS) $(DEFINEOPTION)MODULEMAINFUNC=mainfunc proxymain.c
@@ -136,13 +136,13 @@ dighosts$(OBJSUFFICS): dighosts.c
$(CC) $(COUT)dighosts$(OBJSUFFICS) $(CFLAGS) dighosts.c
$(BUILDDIR)dighosts$(EXESUFFICS): dighosts$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS)
- $(LN) $(LNOUT)$(BUILDDIR)dighosts$(EXESUFFICS) $(LDFLAGS) $(VERFILE) dighosts$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
+ $(LN) $(LNOUT)$(BUILDDIR)dighosts$(EXESUFFICS) $(LDFLAGS) dighosts$(OBJSUFFICS) myalloc$(OBJSUFFICS) common$(OBJSUFFICS) $(COMPATLIBS) $(LIBS)
mycryptmain$(OBJSUFFICS): mycrypt.c
$(CC) $(COUT)mycryptmain$(OBJSUFFICS) $(CFLAGS) $(DEFINEOPTION)WITHMAIN mycrypt.c
$(BUILDDIR)mycrypt$(EXESUFFICS): md4$(OBJSUFFICS) md5$(OBJSUFFICS) mycryptmain$(OBJSUFFICS) base64$(OBJSUFFICS)
- $(LN) $(LNOUT)$(BUILDDIR)mycrypt$(EXESUFFICS) $(VERFILE) $(LDFLAGS) md4$(OBJSUFFICS) md5$(OBJSUFFICS) base64$(OBJSUFFICS) mycryptmain$(OBJSUFFICS)
+ $(LN) $(LNOUT)$(BUILDDIR)mycrypt$(EXESUFFICS) $(LDFLAGS) md4$(OBJSUFFICS) md5$(OBJSUFFICS) base64$(OBJSUFFICS) mycryptmain$(OBJSUFFICS)
md4$(OBJSUFFICS): libs/md4.h libs/md4.c
From 975b4ac4452665b758ad776eaf87916808334e41 Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Wed, 27 Jan 2016 17:56:01 +0300
Subject: [PATCH 06/12] Remove date from copyright notice in proxy.h
---
src/proxy.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/proxy.h b/src/proxy.h
index a53fffa..f92960a 100644
--- a/src/proxy.h
+++ b/src/proxy.h
@@ -6,7 +6,7 @@
*/
-#define COPYRIGHT "(c)2000-2009 3APA3A, Vladimir Dubrovin & 3proxy.ru\n"\
+#define COPYRIGHT "(c)3APA3A, Vladimir Dubrovin & 3proxy.ru\n"\
"Documentation and sources: http://3proxy.ru/\n"\
"Please read license agreement in \'copying\' file.\n"\
"You may not use this program without accepting license agreement"
From 0473e1b2f756d7546b4764442e12f9b555ce3d27 Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Wed, 27 Jan 2016 23:08:17 +0300
Subject: [PATCH 07/12] publish as devel
---
src/version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/version.h b/src/version.h
index 1b98ca0..12dbb8b 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,2 +1,2 @@
#define VERSION "3proxy-0.9-devel"
-#define BUILDDATE "160125224642"
+#define BUILDDATE "160127230629"
From 43da6cc32b677bac2ec5708f3926f2c565a33555 Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Thu, 28 Jan 2016 01:04:25 +0300
Subject: [PATCH 08/12] remove premake from makefile
---
src/Makefile.inc | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/Makefile.inc b/src/Makefile.inc
index 820938b..69724fa 100644
--- a/src/Makefile.inc
+++ b/src/Makefile.inc
@@ -2,12 +2,7 @@
# 3 proxy common Makefile
#
-all: pre $(BUILDDIR)3proxy$(EXESUFFICS) $(BUILDDIR)mycrypt$(EXESUFFICS) $(BUILDDIR)dighosts$(EXESUFFICS) $(BUILDDIR)pop3p$(EXESUFFICS) $(BUILDDIR)smtpp$(EXESUFFICS) $(BUILDDIR)ftppr$(EXESUFFICS) $(BUILDDIR)tcppm$(EXESUFFICS) $(BUILDDIR)icqpr$(EXESUFFICS) $(BUILDDIR)udppm$(EXESUFFICS) $(BUILDDIR)socks$(EXESUFFICS) $(BUILDDIR)proxy$(EXESUFFICS) allplugins
-
-
-pre:
- -cd .. && $(TYPECOMMAND) copying
- $(PREMAKE)
+all: $(BUILDDIR)3proxy$(EXESUFFICS) $(BUILDDIR)mycrypt$(EXESUFFICS) $(BUILDDIR)dighosts$(EXESUFFICS) $(BUILDDIR)pop3p$(EXESUFFICS) $(BUILDDIR)smtpp$(EXESUFFICS) $(BUILDDIR)ftppr$(EXESUFFICS) $(BUILDDIR)tcppm$(EXESUFFICS) $(BUILDDIR)icqpr$(EXESUFFICS) $(BUILDDIR)udppm$(EXESUFFICS) $(BUILDDIR)socks$(EXESUFFICS) $(BUILDDIR)proxy$(EXESUFFICS) allplugins
sockmap$(OBJSUFFICS): sockmap.c proxy.h structures.h
From 95efeb8a9398f72c32335565713da67c193eaf3b Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Thu, 28 Jan 2016 01:07:09 +0300
Subject: [PATCH 09/12] Handle accept() errors more accurate
---
src/proxymain.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 42 insertions(+), 2 deletions(-)
diff --git a/src/proxymain.c b/src/proxymain.c
index 4198f61..ce0630a 100644
--- a/src/proxymain.c
+++ b/src/proxymain.c
@@ -524,6 +524,7 @@ int MODULEMAINFUNC (int argc, char** argv){
}
}
if((conf.paused != srv.version) || (error < 0)) break;
+ error = 0;
if(!isudp){
size = sizeof(defparam.sincr);
if(iscbc){
@@ -551,8 +552,47 @@ int MODULEMAINFUNC (int argc, char** argv){
else {
new_sock = so._accept(sock, (struct sockaddr*)&defparam.sincr, &size);
if(new_sock == INVALID_SOCKET){
- sprintf((char *)buf, "accept(): %s", strerror(errno));
- if(!srv.silent)(*srv.logfunc)(&defparam, buf);
+#ifdef _WIN32
+ switch(WSAGetLastError()){
+ case WSAEMFILE:
+ case WSAENOBUFS:
+ case WSAENETDOWN:
+ usleep(SLEEPTIME * 10);
+ break;
+ case WSAEINTR:
+ error = 1;
+ break;
+ default:
+ break;
+ }
+
+#else
+ switch (errno){
+#ifdef EMFILE
+ case EMFILE:
+#endif
+#ifdef ENFILE
+ case ENFILE:
+#endif
+#ifdef ENOBUFS
+ case ENOBUFS:
+#endif
+#ifdef ENOMEM
+ case ENOMEM:
+#endif
+ usleep(SLEEPTIME * 10);
+ break;
+
+ default:
+ break;
+ }
+#endif
+ nlog++;
+ if(error || nlog > 5000) {
+ sprintf((char *)buf, "accept(): %s", strerror(errno));
+ if(!srv.silent)(*srv.logfunc)(&defparam, buf);
+ nlog = 0;
+ }
continue;
}
}
From e23dd7b746a6a6edee9d2b3d91af35b4bd8bb893 Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Thu, 28 Jan 2016 01:18:16 +0300
Subject: [PATCH 10/12] minor logging changes
---
src/proxymain.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/proxymain.c b/src/proxymain.c
index ce0630a..3193081 100644
--- a/src/proxymain.c
+++ b/src/proxymain.c
@@ -499,9 +499,9 @@ int MODULEMAINFUNC (int argc, char** argv){
for(;;){
while((conf.paused == srv.version && srv.childcount >= srv.maxchild)){
nlog++;
- if(nlog > 5000) {
+ if(!srv.silent && nlog > 5000) {
sprintf((char *)buf, "Warning: too many connected clients (%d/%d)", srv.childcount, srv.maxchild);
- if(!srv.silent)(*srv.logfunc)(&defparam, buf);
+ (*srv.logfunc)(&defparam, buf);
nlog = 0;
}
usleep(SLEEPTIME);
@@ -588,9 +588,9 @@ int MODULEMAINFUNC (int argc, char** argv){
}
#endif
nlog++;
- if(error || nlog > 5000) {
+ if(!srv.silent && (error || nlog > 5000)) {
sprintf((char *)buf, "accept(): %s", strerror(errno));
- if(!srv.silent)(*srv.logfunc)(&defparam, buf);
+ (*srv.logfunc)(&defparam, buf);
nlog = 0;
}
continue;
From 485ccb3ab49ef56481d92e6e05465169fb852564 Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Thu, 28 Jan 2016 01:21:13 +0300
Subject: [PATCH 11/12] publish as devel
---
src/version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/version.h b/src/version.h
index 12dbb8b..b4a83f3 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,2 +1,2 @@
#define VERSION "3proxy-0.9-devel"
-#define BUILDDATE "160127230629"
+#define BUILDDATE "160128011858"
From 852f1abecb532112c96f36d398d6b8f5f61c252f Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Sat, 30 Jan 2016 00:00:00 +0300
Subject: [PATCH 12/12] Documentation for TransparentPlugin added
---
doc/html/plugins/TransparentPlugin.html | 28 ++++++++++++++++++++
doc/html/plugins/TransparentPlugin.ru.html | 30 ++++++++++++++++++++++
2 files changed, 58 insertions(+)
create mode 100644 doc/html/plugins/TransparentPlugin.html
create mode 100644 doc/html/plugins/TransparentPlugin.ru.html
diff --git a/doc/html/plugins/TransparentPlugin.html b/doc/html/plugins/TransparentPlugin.html
new file mode 100644
index 0000000..9bce526
--- /dev/null
+++ b/doc/html/plugins/TransparentPlugin.html
@@ -0,0 +1,28 @@
+3proxy TransparentPlugin plugin (Linux only)
+
+Plugin can turn 3proxy into transparent proxy for virtually any TCP-based protocol
+and use all 3proxy features - redirections, parent proxies, ACLs, traffic limitations,
+etc. TransparentPlugin plugin takes destination IP:port from Linux and uses this
+information as a target IP in proxy. An example of usage:
+
+
+plugin /path/to/TransparentPlugin.ld.so transparent_plugin
+log /path/to/log
+auth iponly
+allow * * * 80
+parent 1000 http 0.0.0.0 0
+allow *
+parent 1000 socks5 SOCKS5_IP SOCKS5_PORT USER PASSWORD
+tcppm -iLOCAL_IP 12345 127.0.0.1 11111
+
+Now, any TCP traffic transparently redirected to port 12345 will be routed via
+parent SOCKSv5 proxy and logged, all URLs for web requests are visible in logs.
+Paremeters '127.0.0.1 11111' in this case are not used and are overwritten by
+destination IP:port for each transparent connection.
+
+Download:
+
+ - Plugin included into 3proxy 0.8
+
+
+© Vladimir Dubrovin, License: BSD style
diff --git a/doc/html/plugins/TransparentPlugin.ru.html b/doc/html/plugins/TransparentPlugin.ru.html
new file mode 100644
index 0000000..f3a8715
--- /dev/null
+++ b/doc/html/plugins/TransparentPlugin.ru.html
@@ -0,0 +1,30 @@
+Плагин TransparentPlugin 3proxy (только для Linux)
+
+Плагин превращает 3proxy в транспарентный прокси для практически любых TCP-соединений
+и позволяет прозрачно для клиентов использовать весь фунционал прокси - редиректоры,
+родительские прокси, ACLи, ограничения трафика. TransparentPlugin получает IP:port
+назначения от Linux и использует эту информацию в качестве конечного адреса назначения.
+
+Пример использования:
+
+
+plugin /path/to/TransparentPlugin.ld.so transparent_plugin
+log /path/to/log
+auth iponly
+allow * * * 80
+parent 1000 http 0.0.0.0 0
+allow *
+parent 1000 socks5 SOCKS5_IP SOCKS5_PORT USER PASSWORD
+tcppm -iLOCAL_IP 12345 127.0.0.1 11111
+
+Теперь любые TCP-соединения транспарентно перенаправленные в локальный порт 12345
+будут прологгированы и перенаправлены в родительский SOCKSv5 proxy, при этом для
+HTTP-запросов по порту TCP/80 будут видны параметры HTTP-запроса.
+Параметры '127.0.0.1 11111' в данном случае не оказывают влияния, т.к.
+будут перезаписываться IP и портом назначения для каждого TCP-соединения соответственно.
+Загрузить:
+
+ - Плагин включен в дистрибутив 3proxy 0.8
+
+
+© Vladimir Dubrovin, License: BSD style