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 latest release, 0.7.1.2. Fix buil...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/397a67f5ea35
branches:  trunk
changeset: 649616:397a67f5ea35
user:      rodent <rodent%pkgsrc.org@localhost>
date:      Mon Apr 06 02:26:53 2015 +0000

description:
Update to latest release, 0.7.1.2. Fix build on OpenBSD and Bitrig, as
identified by sevan@'s early build report. Update patches. Changes:

02.07.2014
Releasing 0.7.1.1
! Linux compilation issues corrected


28.06.2014
Releasing 0.7.1
+ Windows icons added
+ Warnings added for most common misconfigurations
+ ftppr NLSD command supported
! Ignore NTLM handshake if NTLM is not enabled
! memcpy replaced with memmove for overlapped region
! better EINTR handling on *nix
! FTP proxy debugging output removed, binding for data connection corrected
! memory leak fixed in ldapauth plugin

08.04.2014
Releasing as 0.7
Significant changes since 0.6.1:
!! auth iponly by default
! maxconn is 500 by default
! Improved HTTP/1.1 compatibility
! Functionality bugfixes
+ Few new plugins

11.07.2012
! fixed: counters over 4GB in webadmin

26.06.2012
! OpenSSL thread support functions added to SSL plugin

10.05.2012
! SSL plugin works. Commands to enable/disable SSL spoofing will be added later.

25.04.2012
! pcre_rewrite slash sequence logic corrected

16.04.2012
+ Added: SSLPlugin for SSL decryption with certificates spoofing

12.04.2012
+ Added: new filter callback function type (pre data filter) for things like SSL/TLS, gzip, etc.
  WARNING: all plugins with filter functions need to be reviewed for compatibility

06.02.2012
+ Added: transparent redirection plugin for linux. Automatically detects redirection
  address if traffic is redirected via iptables

15.08.2011
! Fixed: 100% CPU because of usleep with large value on NetBSD

11.06.2011
+ Support for extusername/extpassword added to smtpp

04.06.2011
! Fixed: web admin access
! Fixed: wrong error code in logfile in some rare cases
! Migrated to VC 9.0 compiler

14.04.2011
! Authentication: do not request username/password in mixed authentication
  if all modules deny access.

12.04.2011
! Minor code cleanup

17.12.2010
- Debugging output to stdout removed

09.12.2010
! Code cleanup for sockets mapping and chunked encoding,
! Content-Length up to 4GB

25.11.2010
+ System locale handling added for mixed case username in WindowAuthentication

13.11.2010
+ Plugin utf8tocp1251 added to automatically detect UTF-8 (used by Chrome and
  Opera in username/password.

  usage

  plugin "utf8tocp1251" utf8tocp1251
  auth utf8tocp1251 strong

  or

  auth utf8tocp1251 cache windows


11.11.2010
! encoding paramter added to WWW-Authenticate and Proxy-Authenticate headers in
  .3ps files according to
  http://tools.ietf.org/id/draft-reschke-basicauth-enc-01.txt

12.08.2010
! Removed getservbyport() from webadmin to avoid potential race condition

09.08.2010
! Default .3ps files corrected

26.06.2010
! Fixed: keep-alive connections detection for HTTP/1.1

10.12.2009
! Fixed: external address may be incorrectly set if few requests are
  received in single connection.

02.12.2009
! zero sockaddr before bind for some FreeBSD versions compatibity

26.10.2009
! Some changes for MD4/MD5 libraries 64-bit compatibility

01.10.2009
! Fixed: Content-Length is sent twice to server if there are content-handling
  plugins.

17.09.2009
! Makefile.Linux: add3proxyuser.sh moved to INSTALL_CFG_OBJS
  (thanks to Martin Wanicki)
+ Functionality added to intercept all socket-related calls for plugins

03.09.2009
! Fixed: client connection was not closed on removed Content-Length (may
  cause connection hang for timeout at the end of large file transfer
  if filtering plugins are used).

24.08.2009
+ Added transparent redirection to ICQ and MSN proxy
+ Added (untested) Last.fm ripper plugin - initial version, code needs to be
  cleaned to work under *nix. Thanks to Denis Stanishevskiy.

14.08.2009
+ WinCE (Windows Mobile) support added

27.07.2009
! Fixed: use authnserver for name match check if configured

22.07.2009
+ authnserver command added (nserver to use only with auth dnsname)

13.07.2009
+ man pages for smtpp and icqpr added
! traffic correction plugin logics fixed

10.07.2009
+ 3proxy configuration parser: support added for empty strings ("").

09.07.2009
+ dnsname authentication added (auth dnsname) - puts validated reverse DNS
  record (PTR) instead of username
+ PCREPlugin: Added: \r, \n support from pcre_rewrite rewrite string. Use \0
  for empty string
+ PCREPlugin: Added: * may be used instead of regex (no regex is created
  and checked in this case)

24.06.2009
! random redirections are really fixed (incomplete fix on 08.04.2009)
! icqpr "Need recync" problem fixed
! disable NTLM by default (because of Windows Vista) until NTLMv2 implemented
! set auth iponly to be default


08.04.2009
! Fixed: distribution between parent proxies was not even because of
  non-linear probability

18.03.2009
! Marking as 0.7-devel

06.03.2009
! Fixed: filters were applied in reverse order

25.02.2009
! Fixed: beginning of HTTP data may be not passed to filter

22.02.2009
! handle Content-Length as unsigned long to allow files > 2GB.

10.02.2009
! Ldapauth plugin corrected according to changes on 02.02.2009

02.02.2009
+ countout / nocountout commands added
! Added workaround for Mac OS X / iPhone OS poll() (mis)behaviour.

30.01.2009
! Flush buffer in case of POLLxxx - probably required for Mac OS X / iPhone OS

24.01.2009
! Changed WindowsAuthentication to convert username to lowercase

10.12.2008
! Fixed: login may hang in ftppr in case of large server banner

30.10.2008
! WindowsAuthentication plugin may sometimes fail with 100122 error
  on startup because of uninitialized variable.

30.09.2008
! -lXXX moved to $LIBS in Makefiles for linkers compatibility
+ 3proxy for Dummies v.1.2 by Kurmaeff Halit added (in Russian)

26.08.2008
! Fixed: end of chunked-encoded page may be incorrectly detected

24.07.2008
! Fixed: buffering problem on multiple chunks

21.07.2008
! Previous fix was incomplete

13.07.2008
  Thanks to Hostile Fork:
! Fixed directory listing building for some rare FTP servers (e.g. HP)
! Fixed (probably) chunked encoding should now work. REQUIRES TESTING.
  please report, if you have problems with chunked.


11.05.2008
+ minor plugin interface additions

03.05.2008
+ pcre_options implemented

24.04.2008
! Fixed: bandlimsout may not work if both bandlimsin and bandlimsout
  are configured.

01.04.2008
! Fixed: chunked was actually converted to non-chunked

25.03.2008
+ HTTP chunked support (hopefully) added, not tested yet

13.02.2008
! Do not shutdown listening socket
! FTPPR was broken on 10.02 fix
! ':' may be encoded in ftp:// URI's in proxy

diffstat:

 net/3proxy/Makefile         |   8 ++---
 net/3proxy/distinfo         |  18 ++++++------
 net/3proxy/patches/patch-aa |  22 +++++++-------
 net/3proxy/patches/patch-ab |  20 +++++++-------
 net/3proxy/patches/patch-ac |  64 ++++++++++++++++++++++----------------------
 net/3proxy/patches/patch-ad |  49 ++++++++++++++++-----------------
 net/3proxy/patches/patch-ae |  36 ++++++++++++++++---------
 7 files changed, 112 insertions(+), 105 deletions(-)

diffs (267 lines):

diff -r cf2970539b3e -r 397a67f5ea35 net/3proxy/Makefile
--- a/net/3proxy/Makefile       Mon Apr 06 01:52:25 2015 +0000
+++ b/net/3proxy/Makefile       Mon Apr 06 02:26:53 2015 +0000
@@ -1,9 +1,7 @@
-# $NetBSD: Makefile,v 1.7 2015/03/13 16:35:39 tnn Exp $
+# $NetBSD: Makefile,v 1.8 2015/04/06 02:26:53 rodent Exp $
 #
 
-DISTNAME=      3proxy-0.5.3k
-PKGNAME=       ${DISTNAME:C/k$/.11/}
-PKGREVISION=   1
+DISTNAME=      3proxy-0.7.1.2
 CATEGORIES=    net
 MASTER_SITES=  http://3proxy.ru/${DISTNAME:S/3proxy-//}/
 EXTRACT_SUFX=  .tgz
@@ -17,7 +15,7 @@
 # number.  3proxy-0.6.* will have a different license.
 LICENSE=       3proxy-0.5-license
 
-WRKSRC=                ${WRKDIR}
+WRKSRC=                ${WRKDIR}/${PKGBASE}
 MAKE_FILE=     Makefile.unix
 
 INSTALLATION_DIRS=     sbin ${PKGMANDIR}/man5 ${PKGMANDIR}/man8
diff -r cf2970539b3e -r 397a67f5ea35 net/3proxy/distinfo
--- a/net/3proxy/distinfo       Mon Apr 06 01:52:25 2015 +0000
+++ b/net/3proxy/distinfo       Mon Apr 06 02:26:53 2015 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.2 2008/02/27 23:50:29 apb Exp $
+$NetBSD: distinfo,v 1.3 2015/04/06 02:26:53 rodent Exp $
 
-SHA1 (3proxy-0.5.3k.tgz) = 71befdaa94867e4b54a5b24e2a3b3b33debd5e67
-RMD160 (3proxy-0.5.3k.tgz) = 416d3c0d870a6aa450472f4ab060ce90e3362dea
-Size (3proxy-0.5.3k.tgz) = 190797 bytes
-SHA1 (patch-aa) = e84a56ce0ce1fc82c982fb0e78ea14986035e0a0
-SHA1 (patch-ab) = 681c7b0b29ad6fb652b3fa8bcecc2af563589c4f
-SHA1 (patch-ac) = caff37ccb6018152d11f6ce5c682f8cec4feff9b
-SHA1 (patch-ad) = e5ebc2defdf5a79ff21e37101ddbee5f212d64f1
-SHA1 (patch-ae) = 03b9d88bd316fda6b812bbe29dbe471a652cfe91
+SHA1 (3proxy-0.7.1.2.tgz) = 58d92a3b61767c83a16f2cfd784458972083c63b
+RMD160 (3proxy-0.7.1.2.tgz) = a3be3d2c786cc52bfde46b7f9630a79eaf7b983c
+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) = ef3236744582bd717db1329b7b6ad68c82156d55
diff -r cf2970539b3e -r 397a67f5ea35 net/3proxy/patches/patch-aa
--- a/net/3proxy/patches/patch-aa       Mon Apr 06 01:52:25 2015 +0000
+++ b/net/3proxy/patches/patch-aa       Mon Apr 06 02:26:53 2015 +0000
@@ -1,13 +1,13 @@
-$NetBSD: patch-aa,v 1.1 2008/02/27 16:14:25 apb Exp $
+$NetBSD: patch-aa,v 1.2 2015/04/06 02:26:53 rodent Exp $
 
---- src/3proxy.c.orig  2007-04-20 13:05:10.000000000 +0200
+--- src/3proxy.c.orig  2015-02-17 13:07:20.000000000 +0000
 +++ src/3proxy.c
-@@ -1276,7 +1276,7 @@ int readconfig(FILE * fp){
- 
- 
-                               tl->comment = mystrdup((char *)ch->argv[1]);
--                              while(isdigit(*tl->comment))tl->comment++;
-+                              while(isdigit((unsigned char)*tl->comment))tl->comment++;
-                               if(*tl->comment== '/')tl->comment++;
- 
-                               sscanf((char *)ch->argv[1], "%u", &tl->number);
+@@ -1550,7 +1550,7 @@ static int h_ace(int argc, unsigned char
+                       unsigned long lim;
+ 
+                       tl->comment = ( char *)argv[1];
+-                      while(isdigit(*tl->comment))tl->comment++;
++                      while(isdigit((unsigned char)*tl->comment))tl->comment++;
+                       if(*tl->comment== '/')tl->comment++;
+                       tl->comment = mystrdup(tl->comment);
+ 
diff -r cf2970539b3e -r 397a67f5ea35 net/3proxy/patches/patch-ab
--- a/net/3proxy/patches/patch-ab       Mon Apr 06 01:52:25 2015 +0000
+++ b/net/3proxy/patches/patch-ab       Mon Apr 06 02:26:53 2015 +0000
@@ -1,13 +1,13 @@
-$NetBSD: patch-ab,v 1.1 2008/02/27 16:14:25 apb Exp $
+$NetBSD: patch-ab,v 1.2 2015/04/06 02:26:53 rodent Exp $
 
---- src/ntlm.c.orig    2006-10-15 10:40:04.000000000 +0200
+--- src/ntlm.c.orig    2015-02-17 13:07:21.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;
+       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 cf2970539b3e -r 397a67f5ea35 net/3proxy/patches/patch-ac
--- a/net/3proxy/patches/patch-ac       Mon Apr 06 01:52:25 2015 +0000
+++ b/net/3proxy/patches/patch-ac       Mon Apr 06 02:26:53 2015 +0000
@@ -1,34 +1,34 @@
-$NetBSD: patch-ac,v 1.1 2008/02/27 16:14:25 apb Exp $
+$NetBSD: patch-ac,v 1.2 2015/04/06 02:26:53 rodent Exp $
 
---- src/webadmin.c.orig        2006-03-10 21:36:33.000000000 +0200
+--- src/webadmin.c.orig        2015-02-17 13:07:21.000000000 +0000
 +++ src/webadmin.c
-@@ -311,12 +311,12 @@ void * adminchild(void * data) {
-               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;
-@@ -332,12 +332,12 @@ void * adminchild(void * data) {
-       }
-       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;
-       }
-  }
+@@ -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;
+       }
+  }
diff -r cf2970539b3e -r 397a67f5ea35 net/3proxy/patches/patch-ad
--- a/net/3proxy/patches/patch-ad       Mon Apr 06 01:52:25 2015 +0000
+++ b/net/3proxy/patches/patch-ad       Mon Apr 06 02:26:53 2015 +0000
@@ -1,27 +1,26 @@
-$NetBSD: patch-ad,v 1.1 2008/02/27 23:50:29 apb Exp $
+$NetBSD: patch-ad,v 1.2 2015/04/06 02:26:53 rodent Exp $
 
---- src/common.c.orig  2008-01-08 18:57:30.000000000 +0200
+--- src/common.c.orig  2015-02-17 13:07:20.000000000 +0000
 +++ src/common.c
-@@ -606,3 +606,22 @@ unsigned long getip(unsigned char *name)
- #endif
-       return retval;
- }
-+
-+/*
-+ * 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);
-+}
+@@ -719,3 +719,21 @@ unsigned long getip(unsigned char *name)
+ #endif
+       return retval;
+ }
++
++/*
++ * 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 cf2970539b3e -r 397a67f5ea35 net/3proxy/patches/patch-ae
--- a/net/3proxy/patches/patch-ae       Mon Apr 06 01:52:25 2015 +0000
+++ b/net/3proxy/patches/patch-ae       Mon Apr 06 02:26:53 2015 +0000
@@ -1,13 +1,23 @@
-$NetBSD: patch-ae,v 1.1 2008/02/27 23:50:29 apb Exp $
-
---- src/proxy.h.orig   2006-09-21 14:32:05.000000000 +0200
-+++ src/proxy.h
-@@ -95,6 +95,8 @@
- #endif
- #define daemonize() daemon(1,1)
- #define SLEEPTIME 1000
-+#define usleep(usecs) myusleep(usecs)
-+int myusleep(useconds_t);
- #ifndef O_BINARY
- #define O_BINARY 0
- #endif
+$NetBSD: patch-ae,v 1.2 2015/04/06 02:26:53 rodent Exp $
+
+--- src/proxy.h.orig   2015-02-17 13:07:21.000000000 +0000
++++ src/proxy.h
+@@ -22,7 +22,9 @@
+ #include <ctype.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#if !(defined(__OpenBSD__) || !defined(__Bitrig__))
+ #include <sys/timeb.h>
++#endif
+ #include <fcntl.h>
+ #include <time.h>
+ 
+@@ -101,6 +103,8 @@
+ #endif
+ #define daemonize() daemon(1,1)
+ #define SLEEPTIME 1000
++#define usleep(usecs) myusleep(usecs)
++int myusleep(useconds_t);
+ #ifndef O_BINARY
+ #define O_BINARY 0
+ #endif



Home | Main Index | Thread Index | Old Index