pkgsrc-Changes-HG archive

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

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



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a46f4578577a
branches:  trunk
changeset: 388891:a46f4578577a
user:      triaxx <triaxx%pkgsrc.org@localhost>
date:      Sun Nov 27 13:14:00 2022 +0000

description:
3proxy: Update to 0.9.4

pkgsrc changes:
---------------
  * Update the license to 3proxy-0.9-license.
  * Remove outdated comments about the old licenses.

upstream changes:
-----------------
3proxy-0.9.4 Latest
  ! Fix: invalid handling of '-' character in ACL hostname
  ! Fix: minor bugfixes and improvements
  + parentretry command added (defaults to 2) to retry connections to parent
    proxies
  - icqpr related code (OSCAR proxy) removed, due to drop of OSCAR support by
    messengers
3proxy-0.9.3
  Bugfixes:
  Fixed: systemd description file (proxy may fail to start after reboot or via
         systemctl)
  Fixed: group/account creation in installation scripts
  Fixed: countall/nocounall do not work in some configurations
  Fixed: counters do not work if counter file is not specified
  Fixed: counters without rotation (type N) are incorrectly shown in web admin
         interface
  Fixed: %n may be incomplete or missed in long log records
  Fixed: connect back functionality does not work
  Improvements:
  + Docker builds
3proxy-0.9.2
  Bugfixes:
  Fixed: bandwidth limiters (once again)
  Fixed: data filtering plugins (PCREPlugin, SSLPlugin). SSLPlugin use on Linux
         requires to disable splice (-s0)
  FIxed: standalone proxies do not react on HUP (Ctrl+C) in Linux/Unix
  Fixed: few minor bugs
  Improvements:
  + deb for arm platforms (experimental)
  + Openssl 1.1 support for SSLPlugin
3proxy-0.9.1
  Bugfixes:
  Fixed: socket may be closed before all data received/sent
  Fixed: bandlimin non-working
  Fixed: countall/nocountall
  Fixed: few race conditions
  Improvements:
  deb/rpm build, systemd support (experimental)
3proxy-0.9.0
  o Socket options, interface binding
  o Connection limiting / connection rate limiting
  o RADIUS support (beta)
  o Zero copy (splice) support for Linux
  o Possibility to limit user to single IP (via authentication cache)
    bugfixes, improvements
3proxy-0.8.13
  Bugfixes:
  !! Fixed out-of-bound write and few minor bugs on configuration saving in admin
  ! fixed: $ is not correctly handled in the beginning of quoted line on configuration parsing
3proxy-0.8.12
  Bugfixes:
  ! Fixed hostname support in SOCKSv5 UDP portmapping
  ! -fno-strict-aliasing added to gcc options (compiling without this option
    can lead to unpredictable issues under Debian with gcc 6 and potentially
    others)
  ! Fixed LDAP plugin compilation issues (LDAP plugin is still listed as
    unsupported though) and some minor fixes and improvements.

diffstat:

 net/3proxy/Makefile                                                          |  18 +-
 net/3proxy/distinfo                                                          |  27 +-
 net/3proxy/patches/patch-Makefile.unix                                       |  49 ++--
 net/3proxy/patches/patch-ab                                                  |  22 +-
 net/3proxy/patches/patch-ac                                                  |  65 +++---
 net/3proxy/patches/patch-ad                                                  |  48 ++--
 net/3proxy/patches/patch-ae                                                  |  42 ++--
 net/3proxy/patches/patch-cfg_3proxy.cfg.sample                               |  86 +++++-----
 net/3proxy/patches/patch-man_3proxy.8                                        |  36 ++--
 net/3proxy/patches/patch-man_3proxy.cfg.3                                    |  20 +-
 net/3proxy/patches/patch-src_plugins_PamAuth_pamauth.c                       |  15 +
 net/3proxy/patches/patch-src_plugins_TransparentPlugin_transparent__plugin.c |  15 +
 net/3proxy/patches/patch-src_version.h                                       |  22 ++
 13 files changed, 256 insertions(+), 209 deletions(-)

diffs (truncated from 584 to 300 lines):

diff -r c294cd58ae9f -r a46f4578577a net/3proxy/Makefile
--- a/net/3proxy/Makefile       Sun Nov 27 12:09:52 2022 +0000
+++ b/net/3proxy/Makefile       Sun Nov 27 13:14:00 2022 +0000
@@ -1,27 +1,19 @@
-# $NetBSD: Makefile,v 1.13 2018/02/21 15:20:04 triaxx Exp $
-#
+# $NetBSD: Makefile,v 1.14 2022/11/27 13:14:00 triaxx Exp $
 
-DISTNAME=      3proxy-0.8.11
+DISTNAME=      3proxy-0.9.4
 CATEGORIES=    net
-MASTER_SITES=  https://3proxy.ru/${DISTNAME:S/3proxy-//}/
-EXTRACT_SUFX=  .tgz
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=3proxy/}
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      https://3proxy.ru/
 COMMENT=       Multi-protocol proxy
-# 3proxy-0.5.* is dual-licenced under GPL or custom terms.  It's not
-# 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.
-# 3proxy-0.7-license is now inspired by BSD license.
-LICENSE=       3proxy-0.7-license
+LICENSE=       3proxy-0.9-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}
 
@@ -42,7 +34,7 @@
 # install the HTML pages, because they provide no more information than
 # the man pages.
 do-install:
-       ${INSTALL_PROGRAM} ${WRKSRC}/src/3proxy ${DESTDIR}${PREFIX}/sbin/.
+       ${INSTALL_PROGRAM} ${WRKSRC}/bin/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
diff -r c294cd58ae9f -r a46f4578577a net/3proxy/distinfo
--- a/net/3proxy/distinfo       Sun Nov 27 12:09:52 2022 +0000
+++ b/net/3proxy/distinfo       Sun Nov 27 13:14:00 2022 +0000
@@ -1,13 +1,16 @@
-$NetBSD: distinfo,v 1.10 2021/10/26 11:05:20 nia Exp $
+$NetBSD: distinfo,v 1.11 2022/11/27 13:14:00 triaxx Exp $
 
-BLAKE2s (3proxy-0.8.11.tgz) = 21fc38274deb19257b08a6b67bc3d2711567b2d728416c5d6f3ea73009b4e72e
-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) = 841eb478bd5ca09bd19364d61dcd963b7a15c790
-SHA1 (patch-Makefile.unix) = bcaf278e55d954ecc758a0f01c7e35f8d7a7fca2
-SHA1 (patch-man_3proxy.8) = ea00a3c99c201fc87efb1270bfaab13a4e2f9c75
-SHA1 (patch-man_3proxy.cfg.3) = 52fb754e7241c10612e13bca66127072732b56f1
+BLAKE2s (3proxy-0.9.4.tar.gz) = e207319dbc7b88cac0779ab51f177bfa098392c261ab6594417e03fced40c657
+SHA512 (3proxy-0.9.4.tar.gz) = d3316f6ee1217e580ce593a7bfd9d76672487a89862f247373b0acf3ea207887c758168e33b25db9fc974063deab0826c20d455cab2536d03eee49d8bddda6b5
+Size (3proxy-0.9.4.tar.gz) = 610340 bytes
+SHA1 (patch-Makefile.unix) = aabfa5ad7985ddf8b1240e65bc00c86837d844b0
+SHA1 (patch-ab) = 097103e06e576d6e4ad1830122ab6f4d9ed32a3b
+SHA1 (patch-ac) = a68b7949b22a250b7ed223c7790d420fa7ab624c
+SHA1 (patch-ad) = 625c35af17d4d23203e550f8f7e293175b11813f
+SHA1 (patch-ae) = 9ef8ce232d10603527fcc77cc266a2557e8ec2a3
+SHA1 (patch-cfg_3proxy.cfg.sample) = 7b113b9494ca80d613fb53bde02df0b9e3a40584
+SHA1 (patch-man_3proxy.8) = 69a64574e4b1f543ccd4e90bead39740a638b0f4
+SHA1 (patch-man_3proxy.cfg.3) = 3b650436821b1c0cab72a94c1ca245295c5bfba6
+SHA1 (patch-src_plugins_PamAuth_pamauth.c) = 97674438898ddc9ea7cce9a7da303e378d50bcdf
+SHA1 (patch-src_plugins_TransparentPlugin_transparent__plugin.c) = 1176f14c05443c5bcaaa8a36f68701d8446c6997
+SHA1 (patch-src_version.h) = 774543930f3d64240907a1b1dd798372a09e6362
diff -r c294cd58ae9f -r a46f4578577a net/3proxy/patches/patch-Makefile.unix
--- a/net/3proxy/patches/patch-Makefile.unix    Sun Nov 27 12:09:52 2022 +0000
+++ b/net/3proxy/patches/patch-Makefile.unix    Sun Nov 27 13:14:00 2022 +0000
@@ -1,32 +1,31 @@
-$NetBSD: patch-Makefile.unix,v 1.1 2018/02/19 21:25:46 triaxx Exp $
+$NetBSD: patch-Makefile.unix,v 1.2 2022/11/27 13:14:00 triaxx Exp $
 
 Fix Makefile inconsistency
 
 From FreeBSD ports
 
---- Makefile.unix.orig 2017-10-19 14:25:42.000000000 +0000
+--- Makefile.unix.orig 2021-07-01 16:59:57.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 = 
+ # library support. Add -DSAFESQL for poorely written ODBC library / drivers.
+ 
+ BUILDDIR = ../bin/
+-CC = gcc
++CC ?= gcc
+ 
+ # you may need -L/usr/pkg/lib for older NetBSD versions
+-CFLAGS = -g -O2 -fno-strict-aliasing -c -pthread -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
++CFLAGS = -c -O2 -fstack-protector -fno-strict-aliasing -c -pthread -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
+ COUT = -o 
+ LN = $(CC)
+-LDFLAGS = -O2 -fno-strict-aliasing -pthread
++LDFLAGS = -fstack-protector -fno-strict-aliasing -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 c294cd58ae9f -r a46f4578577a net/3proxy/patches/patch-ab
--- a/net/3proxy/patches/patch-ab       Sun Nov 27 12:09:52 2022 +0000
+++ b/net/3proxy/patches/patch-ab       Sun Nov 27 13:14:00 2022 +0000
@@ -1,15 +1,15 @@
-$NetBSD: patch-ab,v 1.3 2018/02/19 21:25:46 triaxx Exp $
+$NetBSD: patch-ab,v 1.4 2022/11/27 13:14:00 triaxx Exp $
 
 Compliance with toupper() documentation.
 
---- src/ntlm.c.orig    2015-02-17 13:07:21.000000000 +0000
+--- src/ntlm.c.orig    2021-07-01 16:59:57.000000000 +0000
 +++ src/ntlm.c
-@@ -43,7 +43,7 @@ int text2unicode(const char * text, char
-       buflen = ((buflen>>1)<<1);
-       if(!text || !buflen) return 0;
-       do {
--              buf[count++] = toupper(*text++);
-+              buf[count++] = toupper((unsigned char)*text++);
-               buf[count++] = '\0';
-       } while (*text && count < buflen);
-       return count;
+@@ -42,7 +42,7 @@ int text2unicode(const char * text, char
+       buflen = ((buflen>>1)<<1);
+       if(!text || !buflen) return 0;
+       do {
+-              buf[count++] = toupper(*text++);
++              buf[count++] = toupper((unsigned char)*text++);
+               buf[count++] = '\0';
+       } while (*text && count < buflen);
+       return count;
diff -r c294cd58ae9f -r a46f4578577a net/3proxy/patches/patch-ac
--- a/net/3proxy/patches/patch-ac       Sun Nov 27 12:09:52 2022 +0000
+++ b/net/3proxy/patches/patch-ac       Sun Nov 27 13:14:00 2022 +0000
@@ -1,36 +1,37 @@
-$NetBSD: patch-ac,v 1.3 2018/02/19 21:25:46 triaxx Exp $
+$NetBSD: patch-ac,v 1.4 2022/11/27 13:14:00 triaxx Exp $
 
 Compliance with isspace() documentation.
 
---- src/webadmin.c.orig        2015-02-17 13:07:21.000000000 +0000
+--- src/webadmin.c.orig        2021-07-01 16:59:57.000000000 +0000
 +++ src/webadmin.c
-@@ -375,12 +375,12 @@ void * adminchild(struct clientparam* pa
-               sb = strchr(buf, ':');
-               if(!sb)continue;
-               ++sb;
--              while(isspace(*sb))sb++;
-+              while(isspace((unsigned char)*sb))sb++;
-               if(!*sb || strncasecmp(sb, "basic", 5)){
-                       continue;
-               }
-               sb+=5;
--              while(isspace(*sb))sb++;
-+              while(isspace((unsigned char)*sb))sb++;
-               i = de64((unsigned char *)sb, (unsigned char *)username, 255);
-               if(i<=0)continue;
-               username[i] = 0;
-@@ -396,12 +396,12 @@ void * adminchild(struct clientparam* pa
-       }
-       else if(i > 15 && (!strncasecmp(buf, "content-length:", 15))){
-               sb = buf + 15;
--              while(isspace(*sb))sb++;
-+              while(isspace((unsigned char)*sb))sb++;
-               contentlen = atoi(sb);
-       }
-       else if(i > 13 && (!strncasecmp(buf, "content-type:", 13))){
-               sb = buf + 13;
--              while(isspace(*sb))sb++;
-+              while(isspace((unsigned char)*sb))sb++;
-               if(!strncasecmp(sb, "x-www-form-urlencoded", 21)) isform = 1;
-       }
-  }
+@@ -403,12 +403,12 @@ void * adminchild(struct clientparam* pa
+               sb = strchr(buf, ':');
+               if(!sb)continue;
+               ++sb;
+-              while(isspace(*sb))sb++;
++              while(isspace((unsigned char)*sb))sb++;
+               if(!*sb || strncasecmp(sb, "basic", 5)){
+                       continue;
+               }
+               sb+=5;
+-              while(isspace(*sb))sb++;
++              while(isspace((unsigned char)*sb))sb++;
+               i = de64((unsigned char *)sb, (unsigned char *)username, 255);
+               if(i<=0)continue;
+               username[i] = 0;
+@@ -424,13 +424,13 @@ void * adminchild(struct clientparam* pa
+       }
+       else if(i > 15 && (!strncasecmp(buf, "content-length:", 15))){
+               sb = buf + 15;
+-              while(isspace(*sb))sb++;
++              while(isspace((unsigned char)*sb))sb++;
+               sscanf(sb, "%u", &contentlen);
+               if(contentlen > LINESIZE*1024) contentlen = 0;
+       }
+       else if(i > 13 && (!strncasecmp(buf, "content-type:", 13))){
+               sb = buf + 13;
+-              while(isspace(*sb))sb++;
++              while(isspace((unsigned char)*sb))sb++;
+               if(!strncasecmp(sb, "x-www-form-urlencoded", 21)) isform = 1;
+       }
+  }
diff -r c294cd58ae9f -r a46f4578577a net/3proxy/patches/patch-ad
--- a/net/3proxy/patches/patch-ad       Sun Nov 27 12:09:52 2022 +0000
+++ b/net/3proxy/patches/patch-ad       Sun Nov 27 13:14:00 2022 +0000
@@ -1,29 +1,29 @@
-$NetBSD: patch-ad,v 1.3 2018/02/19 21:25:46 triaxx Exp $
+$NetBSD: patch-ad,v 1.4 2022/11/27 13:14:00 triaxx Exp $
 
 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.orig  2021-07-01 16:59:57.000000000 +0000
 +++ src/common.c
-@@ -881,3 +881,21 @@ unsigned long getip46(int family, unsign
-       return 0;
- #endif
- }
-+
-+/*
-+ * POSIX says:
-+ *     The usleep() function may fail if:
-+ *     [EINVAL] The time interval specified one million or more microseconds.
-+ *
-+ * Other code in 3proxy calls usleep with much larger arguments, but
-+ * that gets redirected here via "#define usleep(usecs) myusleep(usecs)"
-+ * in proxy.h.  We call sleep() for any whole number of seconds, and
-+ * the real usleep() for any left over microseconds.
-+ */
-+int myusleep(useconds_t useconds)
-+{
-+      unsigned int secs = useconds / 1000000;
-+      useconds = useconds % 1000000;
-+      if (secs > 0) sleep(secs);
-+      return (usleep)(useconds);
-+}
+@@ -632,3 +632,21 @@ unsigned long getip46(int family, unsign
+       return 0;
+ #endif
+ }
++
++/*
++ * POSIX says:
++ *     The usleep() function may fail if:
++ *     [EINVAL] The time interval specified one million or more microseconds.
++ *
++ * Other code in 3proxy calls usleep with much larger arguments, but
++ * that gets redirected here via "#define usleep(usecs) myusleep(usecs)"
++ * in proxy.h.  We call sleep() for any whole number of seconds, and
++ * the real usleep() for any left over microseconds.
++ */
++int myusleep(useconds_t useconds)
++{
++      unsigned int secs = useconds / 1000000;
++      useconds = useconds % 1000000;
++      if (secs > 0) sleep(secs);
++      return (usleep)(useconds);
++}
diff -r c294cd58ae9f -r a46f4578577a net/3proxy/patches/patch-ae
--- a/net/3proxy/patches/patch-ae       Sun Nov 27 12:09:52 2022 +0000
+++ b/net/3proxy/patches/patch-ae       Sun Nov 27 13:14:00 2022 +0000
@@ -1,27 +1,27 @@



Home | Main Index | Thread Index | Old Index