From c8700fd62bd7a8ee199fa53b409caecfbb3b8cce Mon Sep 17 00:00:00 2001 From: apb Date: Wed, 27 Feb 2008 16:14:25 +0000 Subject: Add net/3proxy version 0.5.3k. This is a multi-protocol proxy that can be configured to chain to other proxies. --- net/3proxy/DESCR | 11 +++++++++++ net/3proxy/Makefile | 34 ++++++++++++++++++++++++++++++++++ net/3proxy/PLIST | 4 ++++ net/3proxy/distinfo | 8 ++++++++ net/3proxy/patches/patch-aa | 13 +++++++++++++ net/3proxy/patches/patch-ab | 13 +++++++++++++ net/3proxy/patches/patch-ac | 34 ++++++++++++++++++++++++++++++++++ 7 files changed, 117 insertions(+) create mode 100644 net/3proxy/DESCR create mode 100644 net/3proxy/Makefile create mode 100644 net/3proxy/PLIST create mode 100644 net/3proxy/distinfo create mode 100644 net/3proxy/patches/patch-aa create mode 100644 net/3proxy/patches/patch-ab create mode 100644 net/3proxy/patches/patch-ac diff --git a/net/3proxy/DESCR b/net/3proxy/DESCR new file mode 100644 index 00000000000..bf7e6639589 --- /dev/null +++ b/net/3proxy/DESCR @@ -0,0 +1,11 @@ +3Proxy tiny free proxy server previously known as 3[APA3A] tiny freeware +proxy (pronounce it as "Zaraza tiny freeware proxy") is really tiny +cross-platform (Win32/Win64&Unix) proxy servers set. It includes HTTP proxy +with HTTPS and FTP support, SOCKSv4/SOCKSv4.5/SOCKSv5 proxy +(socks/socks.exe), POP3 proxy, SMTP proxy, AIM/ICQ proxy (icqpr/icqpr.exe), +MSN messenger / Live messenger proxy (msnpr/msnpr.exe), FTP proxy, caching +DNS proxy, TCP and UDP portmappers. You can use every proxy as a standalone +program (socks, proxy, tcppm, udppm, pop3p) or use combined program (3proxy). +Combined proxy additionally supports features like access control, bandwidth +limiting, limiting daily/weekly/monthly traffic amount, proxy chaining, log +rotation, syslog and ODBC logging, etc. diff --git a/net/3proxy/Makefile b/net/3proxy/Makefile new file mode 100644 index 00000000000..2d543cbbca5 --- /dev/null +++ b/net/3proxy/Makefile @@ -0,0 +1,34 @@ +# $NetBSD: Makefile,v 1.1 2008/02/27 16:14:25 apb Exp $ +# + +DISTNAME= 3proxy-0.5.3k +PKGNAME= ${DISTNAME:C/k$/.11/} +CATEGORIES= net +MASTER_SITES= http://3proxy.ru/${DISTNAME:S/3proxy-//}/ +EXTRACT_SUFX= .tgz + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://3proxy.ru/ +COMMENT= Multi-protocol proxy + +WRKSRC= ${WRKDIR} +MAKE_FILE= Makefile.unix + +# 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. +LICENSE= 3proxy-0.5-license + +# We install only 3proxy and its man pages. There are several other +# binaries which we don't install, because the 3proxy executable +# provides a superset of the functionality of the others. We also don't +# install the HTML pages, because they provide no more information than +# the man pages. +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/src/3proxy ${PREFIX}/sbin/. + ${INSTALL_MAN} ${WRKSRC}/man/3proxy.8 ${PREFIX}/${PKGMANDIR}/man8/. + ${INSTALL_MAN} ${WRKSRC}/man/3proxy.cfg.3 \ + ${PREFIX}/${PKGMANDIR}/man5/3proxy.cfg.5 + +.include "../../mk/bsd.pkg.mk" diff --git a/net/3proxy/PLIST b/net/3proxy/PLIST new file mode 100644 index 00000000000..6f6dc03cb96 --- /dev/null +++ b/net/3proxy/PLIST @@ -0,0 +1,4 @@ +@comment $NetBSD: PLIST,v 1.1 2008/02/27 16:14:25 apb Exp $ +sbin/3proxy +man/man8/3proxy.8 +man/man5/3proxy.cfg.5 diff --git a/net/3proxy/distinfo b/net/3proxy/distinfo new file mode 100644 index 00000000000..64b15e47e93 --- /dev/null +++ b/net/3proxy/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1 2008/02/27 16:14:25 apb 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 diff --git a/net/3proxy/patches/patch-aa b/net/3proxy/patches/patch-aa new file mode 100644 index 00000000000..ed4fd67948e --- /dev/null +++ b/net/3proxy/patches/patch-aa @@ -0,0 +1,13 @@ +$NetBSD: patch-aa,v 1.1 2008/02/27 16:14:25 apb Exp $ + +--- src/3proxy.c.orig 2007-04-20 13:05:10.000000000 +0200 ++++ 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); diff --git a/net/3proxy/patches/patch-ab b/net/3proxy/patches/patch-ab new file mode 100644 index 00000000000..3b4863e3e89 --- /dev/null +++ b/net/3proxy/patches/patch-ab @@ -0,0 +1,13 @@ +$NetBSD: patch-ab,v 1.1 2008/02/27 16:14:25 apb Exp $ + +--- src/ntlm.c.orig 2006-10-15 10:40:04.000000000 +0200 ++++ 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; diff --git a/net/3proxy/patches/patch-ac b/net/3proxy/patches/patch-ac new file mode 100644 index 00000000000..caef49b394f --- /dev/null +++ b/net/3proxy/patches/patch-ac @@ -0,0 +1,34 @@ +$NetBSD: patch-ac,v 1.1 2008/02/27 16:14:25 apb Exp $ + +--- src/webadmin.c.orig 2006-03-10 21:36:33.000000000 +0200 ++++ 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; + } + } -- cgit v1.2.3