1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-28 10:08:24 +00:00

Remove net/socks5 from the ports tree.

There are numerous redistribution and legal issues surrounding
this piece of software.

net/socks5
This commit is contained in:
Josh Paetzel 2012-04-21 16:58:26 +00:00
parent 2dba3e6167
commit 5514960022
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=295194
21 changed files with 1 additions and 615 deletions

1
LEGAL
View File

@ -421,7 +421,6 @@ skype* net/skype Not for redistribution
squeezeboxserver-* audio/squeezeboxserver Contains non-redistributable
firmware, documentation, and
images
socks5-* net/socks5 No commercial use
sof-*-cdrom-x86.run games/linux-sof Redistribution is limited
speedmgmt* net/pppoa Not for redistribution -- see
http://www.alcatel.com/consumer-

1
MOVED
View File

@ -3287,3 +3287,4 @@ www/fpc-httpd13||2012-04-19|Obsolete freepascal unit. Use www/fpc-httpd22 instea
www/fpc-httpd20||2012-04-19|Obsolete freepascal unit. Use www/fpc-httpd22 instead of it
editors/lazarus-gtk2||2012-04-20|Never fully added. Use editors/lazarus instead
editors/lazarus-qt4||2012-04-20|Never fully added. Use editors/lazarus instead
net/socks5||2012-04-21|Removed

View File

@ -1062,7 +1062,6 @@
SUBDIR += socat
SUBDIR += socketbind
SUBDIR += socketpipe
SUBDIR += socks5
SUBDIR += splatd
SUBDIR += spnetkit
SUBDIR += spoofer

View File

@ -1,61 +0,0 @@
# New ports collection makefile for: socks5
# Date created: 24 Apr 1996
# Whom: pst
#
# $FreeBSD$
#
PORTNAME= socks5
PORTVERSION= 1.0.11
PORTREVISION= 5
CATEGORIES= net security
MASTER_SITES= http://reality.sgiweb.org/freeware/source/socks5/ \
http://freeware.sgi.com/source/socks5/
DISTNAME= socks5-v1.0r11
MAINTAINER= jpaetzel@FreeBSD.org
COMMENT= SOCKS v5 application layer gateway and clients
USE_RC_SUBR= ${PORTNAME}.sh
NO_CDROM= NEC has a funky license for this software
RESTRICTED= no commercial use
CONFLICTS= dante-[0-9]*
# here are some extra configure args you may wish to use
# see the readme file before screwing with them
#
#EXTRA_CONFIGURE_ARGS= \
# --with-default-server=socks.mydomain.com \
# --with-syslog-facility=LOG_AUTH \
# --with-passwd
WRKSRC= ${WRKDIR}/${DISTNAME}
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CFLAGS+= -DHAVE_VSNPRINTF
CONFIGURE_ARGS= --with-libconffile=${PREFIX}/etc/libsocks5.conf \
--with-srvconffile=${PREFIX}/etc/socks5.conf \
--with-srvpidfile=/var/run/socks5.pid \
--with-srvidtfile=/var/run/socks5.ident \
--with-srvpwdfile=${PREFIX}/etc/socks5.passwd \
${EXTRA_CONFIGURE_ARGS}
MAN1= runsocks.1 socks5.1 stopsocks.1 socks5_clients.1
MAN5= libsocks5.conf.5 socks5.conf.5 socks5.passwd.5
CONFIGURE_ENV= LIBS=-lcrypt
.include <bsd.port.pre.mk>
.if ${OSVERSION} > 900007
BROKEN= fails to build with new utmpx
.endif
post-install:
.if !defined(NOPORTDOCS)
@${MKDIR} ${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/examples/* ${EXAMPLESDIR}
@${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/doc/* ${DOCSDIR}
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +0,0 @@
SHA256 (socks5-v1.0r11.tar.gz) = 751eb4614cd27898cea1e3344a1711e132d36d92ea924dcf4665431d9b54673e
SIZE (socks5-v1.0r11.tar.gz) = 401093

View File

@ -1,29 +0,0 @@
--- lib/rld.c.orig Wed Aug 4 04:59:28 1999
+++ lib/rld.c Mon Feb 21 03:55:45 2000
@@ -197,6 +197,26 @@
lsInRLDFunctions = 0;
S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "RLD: gethostbyname2 results: %s %s", name, hp?hp->h_name:"???");
return hp;
+}
+#endif
+
+#ifdef HAVE_GETADDRINFO
+int REAL(getaddrinfo)(const char *hostname, const char *servname,
+ const struct addrinfo *hints, struct addrinfo **aip) {
+ int error;
+ static void *func = NULL;
+
+ S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "RLD: getaddrinfo: %s", hostname);
+ GetOriginalFunc(&func, "_getaddrinfo", TRY_LIBC | TRY_LIBNSL | TRY_LIBRESOLV);
+ if (!func || func == (void *)-1) return NULL;
+
+ lsInRLDFunctions = 1;
+ error = ((int (*)P((const char *, const char *, const struct addrinfo *,
+ struct addrinfo **)))func)(hostname, servname,
+ hints, aip);
+ lsInRLDFunctions = 0;
+ S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "RLD: getaddrinfo results: %s %s", hostname, (*aip&&(*aip)->ai_canonname)?(*aip)->ai_canonname:"???");
+ return error;
}
#endif

View File

@ -1,144 +0,0 @@
--- lib/hostname.c.orig Wed Aug 16 09:38:40 2000
+++ lib/hostname.c Wed Aug 30 13:27:33 2000
@@ -17,6 +17,11 @@
#define S5_HOSTLIST_SIZE 256
#define S5_HOSTALIASES_SIZE 16
+/* wrapper for KAME-special getnameinfo() */
+#ifndef NI_WITHSCOPEID
+#define NI_WITHSCOPEID 0
+#endif
+
struct hostEntry {
char name[S5_HOSTNAME_SIZE];
};
@@ -398,6 +403,129 @@
lsInWrapFunction = 0;
lsInWrapHostname = 0;
return &h;
+}
+#endif
+
+#if defined(HAVE_GETADDRINFO) && defined(HAVE_GETNAMEINFO)
+/* wrapper around the getaddrinfo call. */
+/* similar to getaddrinfo() except for: */
+/* *** if getaddrinfo() fails, then it returns a pointer to a addrinfo */
+/* structure filled with a special value, so that SOCKSxxxxxx() will */
+/* realize that this host was unresolved and fill in the protocol */
+/* accordingly... */
+/* */
+/* returns an error number on failure; 0 on success */
+int LIBPREFIX(getaddrinfo)(const char *hostname, const char *servname,
+ const struct addrinfo *hints,
+ struct addrinfo **aip) {
+ static char numaddrbuf[MAXHOSTNAMELEN];
+ static struct addrinfo *ai;
+ char *local, *fake;
+ int error = 0, i;
+ int addrlen, namelen, family;
+
+#ifdef FOR_SHARED_LIBRARY
+ if (lsInRLDFunctions || lsInWrapFunction || lsInWrapHostname) return REAL(getaddrinfo)(hostname, servname, hints, aip);
+#endif
+
+ lsInWrapFunction = 1;
+ lsInWrapHostname = 1;
+ LIBPREFIX2(init)("libsocks5");
+ S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "SOCKS getaddrinfo: looking up %s", hostname);
+
+ fake = getenv("SOCKS5_FAKEALLHOSTS");
+ local = getenv("SOCKS5_LOCALDNSONLY");
+
+ if (!fake &&
+ (error = REAL(getaddrinfo)(hostname, servname, hints, aip)) == NULL) {
+ getnameinfo((*aip)->ai_addr, (*aip)->ai_addrlen, numaddrbuf,
+ sizeof(numaddrbuf) - 1, NULL, 0,
+ NI_NUMERICHOST|NI_WITHSCOPEID);
+ S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "SOCKS getaddrinfo: REAL: %s", numaddrbuf);
+
+ lsInWrapFunction = 0;
+ lsInWrapHostname = 0;
+ return error;
+ }
+
+ /* If your DNS is the same as the socks server, don't fake a correct */
+ /* lookup when you know it won't work... */
+ if (local) {
+ S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "SOCKS getaddrinfo: REAL: Fake not configured");
+ lsInWrapFunction = 0;
+ lsInWrapHostname = 0;
+ return (error != 0) ? error : EAI_FAIL;
+ }
+
+ /* Fill in some UNRESOLVED values and let the daemon resolve it */
+ if ((i = GetFakeHost(hostname)) <= 0) {
+ S5LogUpdate(S5LogDefaultHandle, S5_LOG_ERROR, 0, "SOCKS getaddrinfo: Get fake host failed");
+ lsInWrapFunction = 0;
+ lsInWrapHostname = 0;
+ return (error != 0) ? error : EAI_FAIL;
+ }
+
+ /* create fake for AF_INET. AF_INET6 support is not yet */
+ if (hints->ai_family == AF_UNSPEC || hints->ai_family == AF_INET) {
+ addrlen = sizeof(struct sockaddr_in);
+ family = AF_INET;
+ ai = (struct addrinfo *)malloc(sizeof(struct addrinfo) + addrlen);
+ if (ai == NULL)
+ return EAI_MEMORY;
+ memcpy(ai, hints, sizeof(struct addrinfo));
+ ai->ai_family = family;
+ ai->ai_addr = (struct sockaddr *)(ai + 1);
+ memset(ai->ai_addr, 0, addrlen);
+ ai->ai_addr->sa_len = addrlen;
+ ai->ai_addrlen = addrlen;
+ ai->ai_addr->sa_family = family;
+ if (servname != NULL) {
+ struct servent *sp;
+ const char *p;
+ int is_number, port;
+
+ p = servname;
+ is_number = 1;
+ while (*p) {
+ if (!isdigit(*p))
+ is_number = 0;
+ p++;
+ }
+ if (is_number) {
+ port = htons(atoi(servname));
+ if (port < 0 || port > 65535) {
+ free(ai);
+ return EAI_SERVICE;
+ }
+ } else {
+ sp = getservbyname(servname, NULL);
+ if (sp == NULL) {
+ free(ai);
+ return EAI_SERVICE;
+ }
+ port = sp->s_port;
+ }
+ ((struct sockaddr_in *)ai->ai_addr)->sin_port = port;
+ }
+ ((struct sockaddr_in *)ai->ai_addr)->sin_addr.s_addr = htonl(i);
+ if ((hints->ai_flags & AI_CANONNAME) != 0) {
+ ai->ai_canonname = (char *)malloc(strlen(hostname) + 1);
+ if (ai->ai_canonname == NULL) {
+ free(ai);
+ return EAI_MEMORY;
+ }
+ strncpy(ai->ai_canonname, hostname, strlen(hostname) + 1);
+ }
+ } else
+ return EAI_FAMILY;
+ *aip = ai;
+
+ getnameinfo((*aip)->ai_addr, (*aip)->ai_addrlen, numaddrbuf,
+ sizeof(numaddrbuf) - 1, NULL, 0, NI_NUMERICHOST);
+ S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10), 0, "SOCKS getaddrinfo: FAKE: %s", numaddrbuf);
+ lsInWrapFunction = 0;
+ lsInWrapHostname = 0;
+ return 0;
}
#endif

View File

@ -1,10 +0,0 @@
--- configure.in.orig Tue Aug 3 00:00:50 1999
+++ configure.in Sun Feb 20 21:24:32 2000
@@ -120,6 +120,7 @@
AC_CHECK_FUNCS(gethostbyname2)
AC_CHECK_FUNCS(gethostbyname_r gethostbyaddr_r getpwuid_r getservbyname_r)
+AC_CHECK_FUNCS(getaddrinfo getnameinfo)
AC_CHECK_FUNCS(memset memcmp memmove strchr strrchr strdup strerror)
AC_CHECK_FUNCS(bcopy bcmp bzero index rindex)
AC_CHECK_FUNCS(setenv putenv unsetenv getenv)

View File

@ -1,84 +0,0 @@
$FreeBSD$
--- configure.orig Mon Aug 2 15:01:03 1999
+++ configure Thu Jun 30 20:17:31 2005
@@ -3090,6 +3090,61 @@
fi
done
+for ac_func in getaddrinfo getnameinfo
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3182: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3187 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
for ac_func in memset memcmp memmove strchr strrchr strdup strerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
@@ -4713,7 +4768,7 @@
;;
FreeBSD*|NetBSD*)
SHLIB_LFLAGS="-Bshareable"
- SHLIB_CFLAGS="-fpic"
+ SHLIB_CFLAGS="-fPIC"
PRELOADS="LD_PRELOAD"
;;
SunOS*4.*)
@@ -4773,7 +4828,7 @@
if test `uname -s` = "FreeBSD"; then
- SHLIB_CFLAGS="-fpic -r"
+ SHLIB_CFLAGS="-fPIC -r"
fi
echo "$ac_t"""lflags: $SHLIB_LFLAGS cflags: $SHLIB_CFLAGS"" 1>&6

View File

@ -1,15 +0,0 @@
--- include/config.h.in.orig Mon Aug 2 23:57:28 1999
+++ include/config.h.in Sun Feb 20 21:20:53 2000
@@ -133,6 +133,12 @@
/* Define if you have the gethostbyname_r function. */
#undef HAVE_GETHOSTBYNAME_R
+/* Define if you have the getaddrinfo function. */
+#undef HAVE_GETADDRINFO
+
+/* Define if you have the getnameinfo function. */
+#undef HAVE_GETNAMEINFO
+
/* Define if you have the getifaddrs function. */
#undef HAVE_GETIFADDRS

View File

@ -1,18 +0,0 @@
--- include/hide.h.orig Wed Aug 4 04:59:30 1999
+++ include/hide.h Mon Feb 21 14:41:49 2000
@@ -19,6 +19,7 @@
#ifdef HAVE_GETHOSTBYNAME2
#define gethostbyname2 HIDE(gethostbyname2)
#endif
+#define getaddrinfo HIDE(getaddrinfo)
#define gethostbyname HIDE(gethostbyname)
#define getpeername HIDE(getpeername)
#define getsockname HIDE(getsockname)
@@ -53,6 +54,7 @@
#ifdef HAVE_GETHOSTBYNAME2
#undef gethostbyname2
#endif
+#undef getaddrinfo
#undef gethostbyname
#undef getpeername
#undef getsockname

View File

@ -1,20 +0,0 @@
--- include/socks.h.orig Wed Aug 4 04:59:30 1999
+++ include/socks.h Mon Feb 21 14:44:03 2000
@@ -52,6 +52,9 @@
#ifdef HAVE_GETHOSTBYNAME2
extern struct hostent *LIBPREFIX(gethostbyname2) P((char *, int));
#endif
+extern int LIBPREFIX(getaddrinfo) P((const char *, const char *,
+ const struct addrinfo *,
+ struct addrinfo **));
#endif /* include prototypes */
#ifndef LIBPREFIX
@@ -93,6 +96,7 @@
#ifdef HAVE_GETHOSTBYNAME2
#define gethostbyname2 LIBPREFIX(gethostbyname2)
#endif
+#define getaddrinfo LIBPREFIX(getaddrinfo)
#define gethostbyname LIBPREFIX(gethostbyname)
#define rresvport LIBPREFIX(rresvport)
#define connect LIBPREFIX(connect)

View File

@ -1,12 +0,0 @@
--- include/system.h.orig Wed Aug 4 04:59:30 1999
+++ include/system.h Mon Feb 21 14:43:42 2000
@@ -24,6 +24,9 @@
#ifdef HAVE_GETHOSTBYNAME2
struct hostent * REAL(gethostbyname2) P((const char *, int));
#endif
+int REAL(getaddrinfo) P((const char *, const char *,
+ const struct addrinfo *,
+ struct addrinfo **));
struct hostent * REAL(gethostbyname) P((const char *));
struct hostent * REAL(gethostbyaddr) P((const void *, int, int));
struct servent * REAL(getservbyname) P((const char *, const char *));

View File

@ -1,10 +0,0 @@
--- server/socket.c.orig Mon Oct 2 21:18:48 2000
+++ server/socket.c Mon Oct 2 21:18:55 2000
@@ -66,6 +66,7 @@
if (errno == EINTR) continue;
case 0:
SigUnblock(set);
+ Signal(SIGCHLD, gravedigger);
errno = oerrno;
return;
default:

View File

@ -1,11 +0,0 @@
--- clients/ftp/domacro.c
+++ clients/ftp/domacro.c
@@ -42,7 +42,7 @@
#include <errno.h>
#include <ctype.h>
-#if !defined(SCO) && !defined(_SEQUENT_) && !defined(linux)
+#if !defined(SCO) && !defined(_SEQUENT_) && !defined(linux) && !defined(__FreeBSD__)
#include <sys/ttychars.h>
#endif

View File

@ -1,49 +0,0 @@
--- clients/ftp/ftp.c.orig Thu Aug 17 00:38:44 2000
+++ clients/ftp/ftp.c Tue Sep 7 20:41:35 2004
@@ -48,7 +48,15 @@
#include <fcntl.h>
#endif
+#ifdef HAVE_STDARG_H
+#include <stdarg.h>
+#define VA_START(a, b) va_start((a), (b))
+#define va_alist ...
+#define va_dcl
+#else
#include <varargs.h>
+#define VA_START(a, b) va_start((a))
+#endif
#ifdef FASCIST
#include <syslog.h>
@@ -241,9 +249,8 @@
}
/*VARARGS*/
-int command(va_alist) va_dcl {
+int command(char *fmt, va_alist) va_dcl {
va_list ap;
- char *fmt;
int r;
Sig_t oldintr;
@@ -251,8 +258,7 @@
if (debug) {
printf("---> ");
- va_start(ap);
- fmt = va_arg(ap, char *);
+ VA_START(ap, fmt);
if (strncmp("PASS ", fmt, 5) == 0)
printf("PASS XXXX");
else
@@ -271,8 +277,7 @@
oldintr = Signal(SIGINT, cmdabort);
- va_start(ap);
- fmt = va_arg(ap, char *);
+ VA_START(ap, fmt);
vfprintf(cout, fmt, ap);
va_end(ap);

View File

@ -1,51 +0,0 @@
--- clients/telnet/commands.c.orig Thu Aug 17 00:38:46 2000
+++ clients/telnet/commands.c Tue Sep 7 20:39:04 2004
@@ -83,7 +83,17 @@
#include <signal.h>
#include <ctype.h>
#include <pwd.h>
+
+#ifdef HAVE_STDARG_H
+#include <stdarg.h>
+#define VA_START(a, b) va_start((a), (b))
+#define va_alist ...
+#define va_dcl
+#else
#include <varargs.h>
+#define VA_START(a, b) va_start((a))
+#endif
+
#include <errno.h>
#include <arpa/telnet.h>
@@ -122,7 +132,9 @@
extern int Ambiguous();
extern void herror();
-static int call();
+typedef int (*intrtn_t)();
+
+static int call(intrtn_t routine, va_alist);
typedef struct {
char *name; /* command name */
@@ -2092,17 +2104,14 @@
/*VARARGS1*/
static int
-call(va_alist)
+call(intrtn_t routine, va_alist)
va_dcl
{
va_list ap;
- typedef int (*intrtn_t)();
- intrtn_t routine;
char *args[100];
int argno = 0;
- va_start(ap);
- routine = (va_arg(ap, intrtn_t));
+ VA_START(ap, routine);
while ((args[argno++] = va_arg(ap, char *)) != 0) {
;
}

View File

@ -1,16 +0,0 @@
--- clients/telnet/externs.h
+++ clients/telnet/externs.h
@@ -92,10 +92,10 @@
# include <termio.h>
# endif
# else
-# ifdef HAVE_SYS_TERMIOS_H
-# include <sys/termios.h>
-#elif defined(HAVE_TERMIOS_H)
+# ifdef HAVE_TERMIOS_H
# include <termios.h>
+#elif defined(HAVE_SYS_TERMIOS_H)
+# include <sys/termios.h>
# endif
# endif
#endif

View File

@ -1,33 +0,0 @@
#!/bin/sh
#
#
# PROVIDE: socks5
# REQUIRE: DAEMON
#
# Add the following line to /etc/rc.conf to enable socks5
#
# socks5_enable="YES"
#
socks5_enable=${socks5_enable-"NO"}
. /etc/rc.subr
name=socks5
rcvar=socks5_enable
pidfile="/var/run/$name.pid-1080"
command=%%PREFIX%%/bin/socks5
stop_cmd=socks5_stop
socks5_stop()
{
echo "Stopping socks5."
kill -9 `cat ${pidfile}`
rm ${pidfile}
}
load_rc_config ${name}
run_rc_command "$1"

View File

@ -1,20 +0,0 @@
This is NWSL (previously CSTC) version 5.0 of SOCKS, a package that allows Unix
hosts behind a firewall to gain full access to the internet without requiring
direct IP reachability. It does require a SOCKS server program being run on a
host that can communicate directly to hosts behind the firewall as well as hosts
on the Internet at large. It is based on the original SOCKS written by David
Koblas <koblas@netcom.com> and the work of the AFT working group of the IETF.
NOTE: The shared library features in socks5 require a dynamic linker that
understands the LD_PRELOAD environment variable. FreeBSD
2.1.5-RELEASE supports this; so do versions of -current and
-stable later than May 2, 1996. All other features will work
with FreeBSD 2.0 and later.
WARNING: Export of SOCKS from the US without a proper license is a violation
of ITAR rules.
WARNING: Commercial use and distribution of this software requires a license
from NEC corporation.
See the README files for more information.

View File

@ -1,28 +0,0 @@
bin/socks5
bin/runsocks
bin/stopsocks
bin/rarchie
bin/rfinger
bin/rftp
bin/rping
bin/rtelnet
bin/rtraceroute
bin/rwhois
include/socks.h
lib/libsocks5.a
lib/libsocks5_sh.so
%%PORTDOCS%%%%EXAMPLESDIR%%/README
%%PORTDOCS%%%%EXAMPLESDIR%%/multiple_server.example
%%PORTDOCS%%%%EXAMPLESDIR%%/server_2_multiple_server.example
%%PORTDOCS%%%%EXAMPLESDIR%%/single_homed_host.example
%%PORTDOCS%%%%EXAMPLESDIR%%/socks5.conf.dualhomed
%%PORTDOCS%%%%EXAMPLESDIR%%/socks5.conf.gssapi
%%PORTDOCS%%%%EXAMPLESDIR%%/socks5.conf.multipleservers
%%PORTDOCS%%%%EXAMPLESDIR%%/socks5.conf.server2server
%%PORTDOCS%%%%EXAMPLESDIR%%/socks5.conf.singlehomed
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
%%PORTDOCS%%%%DOCSDIR%%/rfc1928.txt
%%PORTDOCS%%%%DOCSDIR%%/rfc1929.txt
%%PORTDOCS%%%%DOCSDIR%%/rfc1961.txt
%%PORTDOCS%%%%DOCSDIR%%/socks.faq
%%PORTDOCS%%@dirrm %%DOCSDIR%%