pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/3proxy Update to 0.8.11



details:   https://anonhg.NetBSD.org/pkgsrc/rev/06301d4c9b0c
branches:  trunk
changeset: 375723:06301d4c9b0c
user:      triaxx <triaxx%pkgsrc.org@localhost>
date:      Mon Feb 19 21:25:46 2018 +0000

description:
Update to 0.8.11

Remove patches/patch-aa: code no longer used
Fix Makefile.unix: from FreeBSD ports
Add documentation to package
Add rcd script

Changes:
--------
19.10.2017
Releasing as 0.8.11
Minor bugfixes / improvements:
! Fixed: deadlock on insufficient resources
! Fixed: race condition in ssl_plugin
! Fixed: minor memory leak on configuration reload
! Fixed: recursion detection was not working
! Fixed: %n for IPv6 in logging terminates log record
! Fixed: reverse PTR validation (required for dnsauth)
! Fixed: error on external 0.0.0.0 for NOIPV6 (light version)
+ Better support for IPv6 in ftppr

25.06.2017
Releasing as 0.8.10
!Fix: parent proxy can be used in some cases where it shouldn't
!Fix: bandlimiters may not work for older connections on configuration reload

01.02.2017
Releasing as 0.8.9
!Fix: tcppm may fail if used with parent proxy

16.12.2016
Releasing as 0.8.8
!! Fix resolver for non-compressed reply parsing (on mixed-case sensitive resolvers)
! Fix plugins export on OpenWatcom compiler (light version)
! Fix SOCKSv5 parent over IPv6 network

04.09.2016
Releasing as 0.8.7
! Fix 'daemon' command for Linux
! Fix 'extip' redirections 00009 errors
! Fix counters for older Win platforms
! Resolve logging race conditions
! attempt to fix pam_auth race conditions
! FTP proxy workaround for broken gethostname() on some libc limplementations
! authcache IP matching corrected
! fix SOCKSv5 BIND/UDP ASSOC
! use setreuid/setregid instead of setuid / setgid
- OpenWatcom makefiles for Windows
- -u2 support for proxy
- support %i in logformat
- force/noforce configuration commands to disconnect / do not disconnect clients if nolonger match ACL after configuration change
- support longer external passwords

Lite version of Windows binaries is switched to OpenWatcom. It will hopefully remove int64-related msvcrt.dll issues on old Windows versions.

07.03.2016
Releasing as 0.8.6
! Fix: random 00012 errors in some configurations

02.03.2016
Releasing as 0.8.5
!Fix: mutex was used prior to initialization on 'log' command processing

28.02.2016
Releasing as 0.8.4
+ Build PamPlugin on *nix
- stacksize and -S options, stacksize defaults changed for FreeBSD
- extip redirection type added
! SSL plugin fix to correct handling of certificates path
! fixed random errors on IPv6 connect

26.01.2016
Releasing as 0.8.3
! fixed: use SASIZE() instead of sizeof() in connect() for FreeBSD compatibility

3proxy-0.8.3-lite.zip - Windows binaries, Lite version compatible with old Windows versions
3proxy-0.8.3.zip / 3proxy-0.8.3-x64.zip - 32/64 Windows binraries, compatible with Windows Vista / 2008 server and above

23.01.2016
Releasing as 0.8.2
!! Fix transparent flag not reset after keep-alive connection, can lead to DoS by authenticated user.
! Do not use SO_REUSEADDR by default (leads to random 00013 errors under some glibc versions)
! Use SASIZE() instead of sizeof() in bind() for FreeBSD compatibility

23.01.2016
Releasing as 0.7.1.4
!! Fix transparent flag not reset after keep-alive connection, can lead to
DoS from authenticated user.

21.01.2016
Releasing as 0.8.1
!!Fix: destination IP may be not checked against ACL

19.01.2016
Releasing as 0.8.0
+ IPv6 support
- back connect support
- name resolution over TCP, parent proxy support for dnspr
! multiple race conditions fixed
! reduced memory usage
! Generate Forwarded: header instead of X-Forwarded-For:
! Default name resolution is non-blocking in *nix
Read HowTo for new functionality description
Update from 0.7 is recommended if you use 3proxy under high load

12.01.2016
Releasing as 0.8-pre


+ IPv6 support
- Connect back (reverse connect) proxy
- DNS requests redirection via parent proxy over TCP (including UDP->TCP mapping)
- SSLPlugin for TLS/SSL traffic decryption
- multiple race conditions fixed on configuration reload

15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication15.09.2015
Releasing as 0.7.1.3
! traffic displayed incorrectly
! archiver doesn't add suffix if logname contains macro
! fix potential race condition on configuration reload
! fix FTP over HTTP authentication

diffstat:

 net/3proxy/Makefile                            |  26 ++++++++++--
 net/3proxy/PLIST                               |   3 +-
 net/3proxy/distinfo                            |  21 +++++-----
 net/3proxy/files/threeproxy.sh                 |  18 +++++++++
 net/3proxy/patches/patch-Makefile.unix         |  32 ++++++++++++++++
 net/3proxy/patches/patch-ab                    |   4 +-
 net/3proxy/patches/patch-ac                    |   4 +-
 net/3proxy/patches/patch-ad                    |  11 +++--
 net/3proxy/patches/patch-ae                    |  14 ++++--
 net/3proxy/patches/patch-cfg_3proxy.cfg.sample |  50 ++++++++++++++++++++++++++
 10 files changed, 156 insertions(+), 27 deletions(-)

diffs (276 lines):

diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/Makefile
--- a/net/3proxy/Makefile       Mon Feb 19 19:22:18 2018 +0000
+++ b/net/3proxy/Makefile       Mon Feb 19 21:25:46 2018 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.10 2017/08/01 14:59:02 wiz Exp $
+# $NetBSD: Makefile,v 1.11 2018/02/19 21:25:46 triaxx Exp $
 #
 
-DISTNAME=      3proxy-0.7.1.2
+DISTNAME=      3proxy-0.8.11
 CATEGORIES=    net
 MASTER_SITES=  https://3proxy.ru/${DISTNAME:S/3proxy-//}/
 EXTRACT_SUFX=  .tgz
@@ -13,13 +13,27 @@
 # clear exactly which version of the GPL is intended; ${WRKSRC}/License
 # says "current version of GNU GPL" without specifying a numeric version
 # number.  3proxy-0.6.* will have a different license.
-LICENSE=       3proxy-0.5-license
+# 3proxy-0.7-license is now inspired by BSD license.
+LICENSE=       3proxy-0.7-license
 
+EGDIR=                 ${PREFIX}/share/examples/${PKGBASE}
+REQD_FILES=            ${EGDIR}/3proxy.cfg.sample \
+                       ${PKG_SYSCONFDIR}/${PKGBASE}/3proxy.cfg
+OWN_DIRS+=             ${PKG_SYSCONFDIR}/${PKGBASE} ${VARBASE}/log/${PKGBASE}
+RCD_SCRIPTS=           threeproxy
 WRKSRC=                        ${WRKDIR}/${PKGBASE}
 MAKE_FILE=             Makefile.unix
 MAKE_FLAGS+=           LIBS=${BUILDLINK_LDADD.dl:Q}
 
-INSTALLATION_DIRS=     sbin ${PKGMANDIR}/man5 ${PKGMANDIR}/man8
+INSTALLATION_DIRS=     sbin ${PKGMANDIR}/man5 ${PKGMANDIR}/man8 ${EGDIR}
+
+SUBST_CLASSES+=                cfg
+SUBST_STAGE.cfg=       pre-install
+SUBST_MESSAGE.cfg=     Adjusting config sample file.
+SUBST_FILES.cfg=       cfg/3proxy.cfg.sample
+SUBST_SED.cfg=         -e "s|@PREFIX@|${PREFIX}|g"
+SUBST_SED.cfg+=                -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
+SUBST_SED.cfg+=                -e "s|@VARBASE@|${VARBASE}|g"
 
 # We install only 3proxy and its man pages.  There are several other
 # binaries which we don't install, because the 3proxy executable
@@ -30,7 +44,9 @@
        ${INSTALL_PROGRAM} ${WRKSRC}/src/3proxy ${DESTDIR}${PREFIX}/sbin/.
        ${INSTALL_MAN} ${WRKSRC}/man/3proxy.8 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/.
        ${INSTALL_MAN} ${WRKSRC}/man/3proxy.cfg.3 \
-                       ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5/3proxy.cfg.5
+               ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5/3proxy.cfg.5
+       ${INSTALL_DATA} ${WRKSRC}/cfg/3proxy.cfg.sample \
+               ${DESTDIR}${EGDIR}/3proxy.cfg.sample
 
 .include "../../mk/dlopen.buildlink3.mk"
 .include "../../mk/pthread.buildlink3.mk"
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/PLIST
--- a/net/3proxy/PLIST  Mon Feb 19 19:22:18 2018 +0000
+++ b/net/3proxy/PLIST  Mon Feb 19 21:25:46 2018 +0000
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.2 2016/07/08 15:55:24 rillig Exp $
+@comment $NetBSD: PLIST,v 1.3 2018/02/19 21:25:46 triaxx Exp $
 man/man5/3proxy.cfg.5
 man/man8/3proxy.8
 sbin/3proxy
+share/examples/3proxy/3proxy.cfg.sample
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/distinfo
--- a/net/3proxy/distinfo       Mon Feb 19 19:22:18 2018 +0000
+++ b/net/3proxy/distinfo       Mon Feb 19 21:25:46 2018 +0000
@@ -1,11 +1,12 @@
-$NetBSD: distinfo,v 1.5 2016/07/08 15:55:24 rillig Exp $
+$NetBSD: distinfo,v 1.6 2018/02/19 21:25:46 triaxx Exp $
 
-SHA1 (3proxy-0.7.1.2.tgz) = 58d92a3b61767c83a16f2cfd784458972083c63b
-RMD160 (3proxy-0.7.1.2.tgz) = a3be3d2c786cc52bfde46b7f9630a79eaf7b983c
-SHA512 (3proxy-0.7.1.2.tgz) = c7f4e25d2630e8c6c25bbc09a5f9f201448d57a85d404cd1f6304946d9a31083845bd8d481f610fe1cd1f56be349eb774cdae135430efcfdd1952a0403d01735
-Size (3proxy-0.7.1.2.tgz) = 478532 bytes
-SHA1 (patch-aa) = ac13f04cff2fa0b0adea6306d9f645ff26452daa
-SHA1 (patch-ab) = de12687ae56ed8107259a4bc3ca04705b97b7bc8
-SHA1 (patch-ac) = 3b8479dd2cf736a87e618128e91f402611178236
-SHA1 (patch-ad) = bce24c6e2e071196d8fd0715e11f4c68144150c5
-SHA1 (patch-ae) = 1f3b07a3c2a1d9729043bcee7b359c98644e8257
+SHA1 (3proxy-0.8.11.tgz) = 0bef5462e558db2d86cce92f8dc916b494dd7bde
+RMD160 (3proxy-0.8.11.tgz) = 19f0d2903dcad680f5442a49d962cac1f874cae4
+SHA512 (3proxy-0.8.11.tgz) = 4160684892292a0c4666f8b8f3bdba0c0846842816ef4f6d0ce7286b520a3cda2ceee76580d2e61942afb9404a8ad93aa0260043acd4ffbfc1c38b3e31857c67
+Size (3proxy-0.8.11.tgz) = 511157 bytes
+SHA1 (patch-ab) = 3ad025c8577f1494d6949efcd5bf104672027a0d
+SHA1 (patch-ac) = e4e4a005e815c7cd353103bbcbbfdb849d637517
+SHA1 (patch-ad) = 8081f363dbf0232e5d1db1bc5e09f93ac7cfe95b
+SHA1 (patch-ae) = 467ad84a16ee806da1bbc3d297434bd31a25bb27
+SHA1 (patch-cfg_3proxy.cfg.sample) = c8db82b11704547ec26c67059e71231c5b667135
+SHA1 (patch-Makefile.unix) = bcaf278e55d954ecc758a0f01c7e35f8d7a7fca2
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/files/threeproxy.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/3proxy/files/threeproxy.sh    Mon Feb 19 21:25:46 2018 +0000
@@ -0,0 +1,18 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: threeproxy.sh,v 1.1 2018/02/19 21:25:46 triaxx Exp $
+#
+
+# PROVIDE: threeproxy
+# REQUIRE: DAEMON LOGIN
+
+. /etc/rc.subr
+
+name="threeproxy"
+rcvar=$name
+command="@PREFIX@/sbin/3proxy"
+command_args="@PKG_SYSCONFDIR@/3proxy/3proxy.cfg"
+required_files="@PKG_SYSCONFDIR@/3proxy/3proxy.cfg"
+
+load_rc_config $name
+run_rc_command "$1"
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/patches/patch-Makefile.unix
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/3proxy/patches/patch-Makefile.unix    Mon Feb 19 21:25:46 2018 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-Makefile.unix,v 1.1 2018/02/19 21:25:46 triaxx Exp $
+
+Fix Makefile inconsistency
+
+From FreeBSD ports
+
+--- Makefile.unix.orig 2017-10-19 14:25:42.000000000 +0000
++++ Makefile.unix
+@@ -8,18 +8,18 @@
+ # library support. Add -DSAFESQL for poorely written ODBC library / drivers.
+ 
+ BUILDDIR =
+-CC = gcc
++CC ?= gcc
+ 
+ # you may need -L/usr/pkg/lib for older NetBSD versions
+-CFLAGS = -g -O2 -c -pthread -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
++CFLAGS = -c -O2 -pipe -fstack-protector -fno-strict-aliasing -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
+ COUT = -o 
+-LN = gcc
+-LDFLAGS = -O2 -pthread
++LN = ${CC}
++LDFLAGS = -pthread
+ # -lpthreads may be reuqired on some platforms instead of -pthreads
+ # -ldl or -lld may be required for some platforms
+ DCFLAGS = -fpic
+ DLFLAGS = -shared
+-DLSUFFICS = .ld.so
++DLSUFFICS = .so
+ LIBS =
+ LIBSPREFIX = -l
+ LIBSSUFFIX = 
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/patches/patch-ab
--- a/net/3proxy/patches/patch-ab       Mon Feb 19 19:22:18 2018 +0000
+++ b/net/3proxy/patches/patch-ab       Mon Feb 19 21:25:46 2018 +0000
@@ -1,4 +1,6 @@
-$NetBSD: patch-ab,v 1.2 2015/04/06 02:26:53 rodent Exp $
+$NetBSD: patch-ab,v 1.3 2018/02/19 21:25:46 triaxx Exp $
+
+Compliance with toupper() documentation.
 
 --- src/ntlm.c.orig    2015-02-17 13:07:21.000000000 +0000
 +++ src/ntlm.c
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/patches/patch-ac
--- a/net/3proxy/patches/patch-ac       Mon Feb 19 19:22:18 2018 +0000
+++ b/net/3proxy/patches/patch-ac       Mon Feb 19 21:25:46 2018 +0000
@@ -1,4 +1,6 @@
-$NetBSD: patch-ac,v 1.2 2015/04/06 02:26:53 rodent Exp $
+$NetBSD: patch-ac,v 1.3 2018/02/19 21:25:46 triaxx Exp $
+
+Compliance with isspace() documentation.
 
 --- src/webadmin.c.orig        2015-02-17 13:07:21.000000000 +0000
 +++ src/webadmin.c
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/patches/patch-ad
--- a/net/3proxy/patches/patch-ad       Mon Feb 19 19:22:18 2018 +0000
+++ b/net/3proxy/patches/patch-ad       Mon Feb 19 21:25:46 2018 +0000
@@ -1,10 +1,13 @@
-$NetBSD: patch-ad,v 1.2 2015/04/06 02:26:53 rodent Exp $
+$NetBSD: patch-ad,v 1.3 2018/02/19 21:25:46 triaxx Exp $
 
---- src/common.c.orig  2015-02-17 13:07:20.000000000 +0000
+Calling usleep for 1000000 microseconds or more is not allowed, so add a
+myusleep() wrapper to DTRT.
+
+--- src/common.c.orig  2017-10-19 14:31:30.000000000 +0000
 +++ src/common.c
-@@ -719,3 +719,21 @@ unsigned long getip(unsigned char *name)
+@@ -881,3 +881,21 @@ unsigned long getip46(int family, unsign
+       return 0;
  #endif
-       return retval;
  }
 +
 +/*
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/patches/patch-ae
--- a/net/3proxy/patches/patch-ae       Mon Feb 19 19:22:18 2018 +0000
+++ b/net/3proxy/patches/patch-ae       Mon Feb 19 21:25:46 2018 +0000
@@ -1,8 +1,12 @@
-$NetBSD: patch-ae,v 1.3 2016/07/08 15:55:24 rillig Exp $
+$NetBSD: patch-ae,v 1.4 2018/02/19 21:25:46 triaxx Exp $
 
---- src/proxy.h.orig   2015-02-17 13:07:21.000000000 +0000
+Fix build on OpenBSD and Bitrig.
+Calling usleep for 1000000 microseconds or more is not allowed, so add a
+myusleep() wrapper to DTRT.
+
+--- src/proxy.h.orig   2017-10-19 14:25:44.000000000 +0000
 +++ src/proxy.h
-@@ -22,7 +22,9 @@
+@@ -21,7 +21,9 @@
  #include <ctype.h>
  #include <sys/types.h>
  #include <sys/stat.h>
@@ -12,9 +16,9 @@
  #include <fcntl.h>
  #include <time.h>
  
-@@ -101,6 +103,8 @@
+@@ -107,6 +109,8 @@
  #endif
- #define daemonize() daemon(1,1)
+ void daemonize(void);
  #define SLEEPTIME 1000
 +#define usleep(usecs) myusleep(usecs)
 +int myusleep(useconds_t);
diff -r c02a5b22a270 -r 06301d4c9b0c net/3proxy/patches/patch-cfg_3proxy.cfg.sample
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/3proxy/patches/patch-cfg_3proxy.cfg.sample    Mon Feb 19 21:25:46 2018 +0000
@@ -0,0 +1,50 @@
+$NetBSD: patch-cfg_3proxy.cfg.sample,v 1.1 2018/02/19 21:25:46 triaxx Exp $
+
+Adjust PATH according to pkgsrc defined directories.
+
+--- cfg/3proxy.cfg.sample.orig 2017-10-19 14:53:32.000000000 +0000
++++ cfg/3proxy.cfg.sample
+@@ -1,7 +1,7 @@
+-#!/usr/local/bin/3proxy
++#!@PREFIX@/bin/3proxy
+ # Yes, 3proxy.cfg can be executable, in this case you should place
+ # something like
+-#config /usr/local/3proxy/3proxy.cfg
++#config @PKG_SYSCONFDIR@/3proxy/3proxy.cfg
+ # to show which configuration 3proxy should re-read on realod.
+ 
+ #system "echo Hello world!"
+@@ -26,19 +26,19 @@ timeouts 1 5 30 60 180 1800 15 60
+ users 3APA3A:CL:3apa3a "test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1"
+ # note that "" required, overvise $... is treated as include file name.
+ # $1$qwer$CHFTUFGqkjue9HyhcMHEe1 is 'test' in MD5 crypt format.
+-#users $/usr/local/etc/3proxy/passwd
++#users $@PKG_SYSCONFDIR@/etc/3proxy/passwd
+ # this example shows you how to include passwd file. For included files
+ # <CR> and <LF> are treated as field separators.
+ 
+-#daemon
++daemon
+ # now we will not depend on any console (daemonize). daemon must be given
+ # before any significant command on *nix.
+ 
+-service
++#service
+ # service is required under NT if you want 3proxy to start as service
+ 
+-#log /var/log/3proxy/log D
+-log c:\3proxy\logs\3proxy.log D
++log @VARBASE@/log/3proxy/log D
++#log c:\3proxy\logs\3proxy.log D
+ # log allows to specify log file location and rotation, D means logfile
+ # is created daily
+ 
+@@ -193,7 +193,7 @@ admin
+ #tcppm 443 websrv 443
+ 
+ 
+-#chroot /usr/local/jail
++#chroot @VARBASE@/chroot/3proxy
+ #setgid 65535
+ #setuid 65535
+ # now we needn't any root rights. We can chroot and setgid/setuid.



Home | Main Index | Thread Index | Old Index