summaryrefslogtreecommitdiff
path: root/net/3proxy
diff options
context:
space:
mode:
authortriaxx <triaxx@pkgsrc.org>2018-02-19 21:25:46 +0000
committertriaxx <triaxx@pkgsrc.org>2018-02-19 21:25:46 +0000
commit7e6abec940c09d7812624561a5077e1ac0ea9e86 (patch)
treeb297319bd439426c0c638e9a28cff9b4a791e7ff /net/3proxy
parentb65d6f90499acbddceed0286d489e49b52a7d74a (diff)
downloadpkgsrc-7e6abec940c09d7812624561a5077e1ac0ea9e86.tar.gz
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 (limited to 'net/3proxy')
-rw-r--r--net/3proxy/Makefile26
-rw-r--r--net/3proxy/PLIST3
-rw-r--r--net/3proxy/distinfo21
-rw-r--r--net/3proxy/files/threeproxy.sh18
-rw-r--r--net/3proxy/patches/patch-Makefile.unix32
-rw-r--r--net/3proxy/patches/patch-ab4
-rw-r--r--net/3proxy/patches/patch-ac4
-rw-r--r--net/3proxy/patches/patch-ad11
-rw-r--r--net/3proxy/patches/patch-ae14
-rw-r--r--net/3proxy/patches/patch-cfg_3proxy.cfg.sample50
10 files changed, 156 insertions, 27 deletions
diff --git a/net/3proxy/Makefile b/net/3proxy/Makefile
index b57a736d1a7..08cd402b8c6 100644
--- a/net/3proxy/Makefile
+++ b/net/3proxy/Makefile
@@ -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 @@ COMMENT= Multi-protocol proxy
# 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 @@ do-install:
${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 --git a/net/3proxy/PLIST b/net/3proxy/PLIST
index 98c4b38d87d..be03af3ab10 100644
--- a/net/3proxy/PLIST
+++ b/net/3proxy/PLIST
@@ -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 --git a/net/3proxy/distinfo b/net/3proxy/distinfo
index f54cdc5f813..6ae77cbf15c 100644
--- a/net/3proxy/distinfo
+++ b/net/3proxy/distinfo
@@ -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 --git a/net/3proxy/files/threeproxy.sh b/net/3proxy/files/threeproxy.sh
new file mode 100644
index 00000000000..837057aff6d
--- /dev/null
+++ b/net/3proxy/files/threeproxy.sh
@@ -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 --git a/net/3proxy/patches/patch-Makefile.unix b/net/3proxy/patches/patch-Makefile.unix
new file mode 100644
index 00000000000..1bc1ff23028
--- /dev/null
+++ b/net/3proxy/patches/patch-Makefile.unix
@@ -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 --git a/net/3proxy/patches/patch-ab b/net/3proxy/patches/patch-ab
index c2f22abdf28..78f09a56aaa 100644
--- a/net/3proxy/patches/patch-ab
+++ b/net/3proxy/patches/patch-ab
@@ -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 --git a/net/3proxy/patches/patch-ac b/net/3proxy/patches/patch-ac
index af837d529da..5e489957fbf 100644
--- a/net/3proxy/patches/patch-ac
+++ b/net/3proxy/patches/patch-ac
@@ -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 --git a/net/3proxy/patches/patch-ad b/net/3proxy/patches/patch-ad
index a8bd3c91258..21c977bdc46 100644
--- a/net/3proxy/patches/patch-ad
+++ b/net/3proxy/patches/patch-ad
@@ -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 --git a/net/3proxy/patches/patch-ae b/net/3proxy/patches/patch-ae
index 3f9bc3003d0..e82c49d77aa 100644
--- a/net/3proxy/patches/patch-ae
+++ b/net/3proxy/patches/patch-ae
@@ -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 @@ $NetBSD: patch-ae,v 1.3 2016/07/08 15:55:24 rillig Exp $
#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 --git a/net/3proxy/patches/patch-cfg_3proxy.cfg.sample b/net/3proxy/patches/patch-cfg_3proxy.cfg.sample
new file mode 100644
index 00000000000..e2388cb778a
--- /dev/null
+++ b/net/3proxy/patches/patch-cfg_3proxy.cfg.sample
@@ -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.