diff options
author | rodent <rodent@pkgsrc.org> | 2015-04-06 02:26:53 +0000 |
---|---|---|
committer | rodent <rodent@pkgsrc.org> | 2015-04-06 02:26:53 +0000 |
commit | 5b322fd67ba727d4c9192bb9ff3006593175c548 (patch) | |
tree | 7fcd72d18141b94543749f4cf4974b4cf7d51fba /net/3proxy | |
parent | fe43c79ae33839de5341ebd250f44944cca9a48d (diff) | |
download | pkgsrc-5b322fd67ba727d4c9192bb9ff3006593175c548.tar.gz |
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 (limited to 'net/3proxy')
-rw-r--r-- | net/3proxy/Makefile | 8 | ||||
-rw-r--r-- | net/3proxy/distinfo | 18 | ||||
-rw-r--r-- | net/3proxy/patches/patch-aa | 22 | ||||
-rw-r--r-- | net/3proxy/patches/patch-ab | 20 | ||||
-rw-r--r-- | net/3proxy/patches/patch-ac | 64 | ||||
-rw-r--r-- | net/3proxy/patches/patch-ad | 49 | ||||
-rw-r--r-- | net/3proxy/patches/patch-ae | 36 |
7 files changed, 112 insertions, 105 deletions
diff --git a/net/3proxy/Makefile b/net/3proxy/Makefile index 457812084c7..1d74afc4696 100644 --- a/net/3proxy/Makefile +++ b/net/3proxy/Makefile @@ -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 @@ COMMENT= Multi-protocol proxy # 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 --git a/net/3proxy/distinfo b/net/3proxy/distinfo index af507a6f2a2..7e93ab4c25c 100644 --- a/net/3proxy/distinfo +++ b/net/3proxy/distinfo @@ -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 --git a/net/3proxy/patches/patch-aa b/net/3proxy/patches/patch-aa index ed4fd67948e..5ded78fed97 100644 --- a/net/3proxy/patches/patch-aa +++ b/net/3proxy/patches/patch-aa @@ -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 --git a/net/3proxy/patches/patch-ab b/net/3proxy/patches/patch-ab index 3b4863e3e89..c2f22abdf28 100644 --- a/net/3proxy/patches/patch-ab +++ b/net/3proxy/patches/patch-ab @@ -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 --git a/net/3proxy/patches/patch-ac b/net/3proxy/patches/patch-ac index caef49b394f..af837d529da 100644 --- a/net/3proxy/patches/patch-ac +++ b/net/3proxy/patches/patch-ac @@ -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 --git a/net/3proxy/patches/patch-ad b/net/3proxy/patches/patch-ad index 201b685eaa9..a8bd3c91258 100644 --- a/net/3proxy/patches/patch-ad +++ b/net/3proxy/patches/patch-ad @@ -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 --git a/net/3proxy/patches/patch-ae b/net/3proxy/patches/patch-ae index f7e4435be51..724237a4154 100644 --- a/net/3proxy/patches/patch-ae +++ b/net/3proxy/patches/patch-ae @@ -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
|