summaryrefslogtreecommitdiff
path: root/net/tsocks
diff options
context:
space:
mode:
authorEdwin Groothuis <edwin@FreeBSD.org>2003-10-08 01:20:50 +0000
committerEdwin Groothuis <edwin@FreeBSD.org>2003-10-08 01:20:50 +0000
commitd4f1520cee0cb2764786032ae2b83aaf659661eb (patch)
treeaa2f5c4a35e1470acce564b5066826e6e589e142 /net/tsocks
parentre-add DISTNAME with a comment regarding security/nmapfe (diff)
new port: net/tsocks
Allow non SOCKS aware applications to use SOCKS without modification. PR: ports/56534 Submitted by: YazzY <yazzy@yazzy.org>
Notes
Notes: svn path=/head/; revision=90580
Diffstat (limited to 'net/tsocks')
-rw-r--r--net/tsocks/Makefile107
-rw-r--r--net/tsocks/distinfo1
-rw-r--r--net/tsocks/files/patch-Makefile.in12
-rw-r--r--net/tsocks/files/patch-configure38
-rw-r--r--net/tsocks/files/patch-readme113
-rw-r--r--net/tsocks/files/patch-tsocks.163
-rw-r--r--net/tsocks/files/patch-tsocks.8168
-rw-r--r--net/tsocks/pkg-descr21
-rw-r--r--net/tsocks/pkg-message9
-rw-r--r--net/tsocks/pkg-plist9
10 files changed, 541 insertions, 0 deletions
diff --git a/net/tsocks/Makefile b/net/tsocks/Makefile
new file mode 100644
index 000000000000..01af4b810c14
--- /dev/null
+++ b/net/tsocks/Makefile
@@ -0,0 +1,107 @@
+# New ports collection makefile for: tsocks
+# Date created: 5th September 2003
+# Whom: Marcin Jessa <freebsd@yazzy.org>
+#
+# $FreeBSD$
+
+PORTNAME= tsocks
+PORTVERSION= 1.8.b5
+PORTREVISION= 1
+CATEGORIES= net security
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} \
+ http://ftp1.sourceforge.net/tsocks/ \
+ http://www.yazzy.org/ports/tsocks/
+MASTER_SITE_SUBDIR= tsocks
+DISTNAME=${PORTNAME}-${PORTVERSION:C/.b/beta/}
+
+MAINTAINER= yazzy@yazzy.org
+COMMENT= Allow non SOCKS aware applications to use SOCKS without modification
+
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+INSTALLS_SHLIB= yes
+LDCONFIG_DIRS= ${PREFIX}/lib/tsocks
+USE_REINPLACE= yes
+
+WRKSRC=${WRKDIR}/${PORTNAME}-${PORTVERSION:C/.b.*//}
+
+CONFIGURE_ARGS= --with-conf=${PREFIX}/etc/tsocks.conf \
+ --libdir=${LOCALBASE}/lib/tsocks
+
+MAN1= tsocks.1
+MAN5= tsocks.conf.5
+MAN8= tsocks.8
+
+.if defined(WITH_SOCKSDNS)
+CONFIGURE_ARGS+= --enable-socksdns
+.endif
+
+.if defined(WITH_OLDMETHOD)
+CONFIGURE_ARGS+= --enable-oldmethod
+.endif
+
+.if defined(WITH_NODEBUG)
+CONFIGURE_ARGS+= --disable-debug
+.endif
+
+.if defined(WITH_NOHOSTNAMES)
+CONFIGURE_ARGS+= --disable-hostnames
+.endif
+
+.include <bsd.port.pre.mk>
+
+pre-everything::
+.if !defined(WITH_SOCKSDNS)
+ @${ECHO_MSG}
+ @${ECHO_MSG} "You can use the WITH_SOCKSDNS=yes knob."
+ @${ECHO_MSG} "This option causes tsocks to intercept"
+ @${ECHO_MSG} "DNS lookups and attempt to force them"
+ @${ECHO_MSG} "to use TCP instead of UDP and thus"
+ @${ECHO_MSG} "be proxied through the socks server."
+ @${ECHO_MSG}
+.endif
+
+.if !defined(WITH_OLDMETHOD)
+ @${ECHO_MSG}
+ @${ECHO_MSG} "You can use the make WITH_OLDMETHOD=yes knob."
+ @${ECHO_MSG} "This forces tsocks not to use the"
+ @${ECHO_MSG} "RTLD_NEXT parameter to dlsym to get the"
+ @${ECHO_MSG} "address of the connect() method tsocks"
+ @${ECHO_MSG} "overrides, instead it loads a reference"
+ @${ECHO_MSG} "to the libc shared library and then uses dlsym()."
+ @${ECHO_MSG}
+.endif
+
+.if !defined(WITH_NODEBUG)
+ @${ECHO_MSG}
+ @${ECHO_MSG} "You can use the make WITH_NODEBUG=yes knob."
+ @${ECHO_MSG} "This configuration option tells tsocks"
+ @${ECHO_MSG} "to never output error messages to stderr."
+ @${ECHO_MSG}
+.endif
+
+.if !defined(WITH_NOHOSTNAMES)
+ @${ECHO_MSG}
+ @${ECHO_MSG} "You can use the make WITH_NOHOSTNAMES=yes knob."
+ @${ECHO_MSG} "This disables DNS lookups on names"
+ @${ECHO_MSG} "provided as socks servers in the config"
+ @${ECHO_MSG} "file. This option is necessary"
+ @${ECHO_MSG} "if socks dns is enabled since tsocks"
+ @${ECHO_MSG} "can't send a socks dns request to resolve"
+ @${ECHO_MSG} "the location of the socks server."
+ @${ECHO_MSG}
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|ufds|fds|g' ${WRKSRC}/tsocks.c
+
+.if !defined(NOPORTDOCS)
+post-install:
+ @${MKDIR} ${PREFIX}/share/examples/tsocks
+ ${INSTALL_DATA} ${WRKSRC}/*.example ${PREFIX}/share/examples/tsocks
+ ${INSTALL_DATA} ${WRKSRC}/tsocks.conf.simple.example ${PREFIX}/etc/tsocks.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/INSTALL ${PREFIX}/share/examples/tsocks/README
+ @${CAT} ${PKGMESSAGE}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/net/tsocks/distinfo b/net/tsocks/distinfo
new file mode 100644
index 000000000000..59ed6d3cbe2e
--- /dev/null
+++ b/net/tsocks/distinfo
@@ -0,0 +1 @@
+MD5 (tsocks-1.8beta5.tar.gz) = 51caefd77e5d440d0bbd6443db4fc0f8
diff --git a/net/tsocks/files/patch-Makefile.in b/net/tsocks/files/patch-Makefile.in
new file mode 100644
index 000000000000..d36d3299368d
--- /dev/null
+++ b/net/tsocks/files/patch-Makefile.in
@@ -0,0 +1,12 @@
+--- Makefile.in.orig Tue Oct 7 18:13:47 2003
++++ Makefile.in Tue Oct 7 18:14:24 2003
+@@ -67,8 +67,7 @@
+
+ installlib:
+ ${MKINSTALLDIRS} "${DESTDIR}${libdir}"
+- ${INSTALL} ${SHLIB} ${DESTDIR}${libdir}
+- ln -sf ${SHLIB} ${DESTDIR}${libdir}/${LIB_NAME}.so.${SHLIB_MAJOR}
++ ${INSTALL} ${SHLIB} ${DESTDIR}${libdir}/${LIB_NAME}.so.${SHLIB_MAJOR}
+ ln -sf ${LIB_NAME}.so.${SHLIB_MAJOR} ${DESTDIR}${libdir}/${LIB_NAME}.so
+
+ installman:
diff --git a/net/tsocks/files/patch-configure b/net/tsocks/files/patch-configure
new file mode 100644
index 000000000000..f0c0d107d8a3
--- /dev/null
+++ b/net/tsocks/files/patch-configure
@@ -0,0 +1,38 @@
+--- configure.orig Sat Sep 6 00:45:57 2003
++++ configure Sat Sep 6 00:46:07 2003
+@@ -1836,14 +1836,14 @@
+ SIMPLELIBS=${LIBS}
+ LIBS=
+
+-echo $ac_n "checking for dlsym in -ldl""... $ac_c" 1>&6
+-echo "configure:1841: checking for dlsym in -ldl" >&5
++echo $ac_n "checking for dlsym in -lc""... $ac_c" 1>&6
++echo "configure:1841: checking for dlsym in -lc" >&5
+ ac_lib_var=`echo dl'_'dlsym | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_save_LIBS="$LIBS"
+-LIBS="-ldl $LIBS"
++LIBS="-lc $LIBS"
+ cat > conftest.$ac_ext <<EOF
+ #line 1849 "configure"
+ #include "confdefs.h"
+@@ -1877,7 +1877,7 @@
+ #define $ac_tr_lib 1
+ EOF
+
+- LIBS="-ldl $LIBS"
++ LIBS="-lc $LIBS"
+
+ else
+ echo "$ac_t""no" 1>&6
+@@ -2228,7 +2228,7 @@
+ echo $ac_n "checking for correct poll prototype""... $ac_c" 1>&6
+ echo "configure:2230: checking for correct poll prototype" >&5
+ PROTO=
+-for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
++for testproto in 'struct pollfd fds[], nfds_t nfds, int timeout'
+ do
+ if test "${PROTO}" = ""; then
+ cat > conftest.$ac_ext <<EOF
diff --git a/net/tsocks/files/patch-readme b/net/tsocks/files/patch-readme
new file mode 100644
index 000000000000..2fdc1fdac737
--- /dev/null
+++ b/net/tsocks/files/patch-readme
@@ -0,0 +1,113 @@
+--- INSTALL Sat May 18 04:12:30 2002
++++ README Sat Sep 6 18:36:27 2003
+@@ -1,12 +1,7 @@
+-Quick Installation Instructions
++Quick Instructions
+ -------------------------------
+
+-1. Unpack the archive (though if you're reading this you've already
+-achieved that)
+-
+- tar -zxvf tsocks-<version>.tar.gx
+-
+-2. Run ./configure, options which might be of interest (and that are
++1. Explenations of the ./configure options which might be of interest (and that are
+ specific to tsocks include):
+ --enable-socksdns This option causes tsocks to intercept
+ DNS lookups and attempt to force them
+@@ -39,55 +34,31 @@
+ Other standard autoconf options are provided by typing './configure
+ --help'
+
+-NOTE: The install path for the library is _NOT_ prefixed with --prefix,
+-this is because it is strongly recommended that tsocks is installed into
+-/lib (and not /usr/lib). This is important if tsocks is put into
+-/etc/ld.so.preload since /usr is not mounted on many systems at boot
+-time, meaning that programs running before /usr is mounted will try to
+-preload tsocks, fail to find it and die, making the machine unusable. If
+-you really wish to install the library into some other path use --libdir.
+-
+-3. Compile the code by typing:
++2. Created files:
+
+- make
+-
+-This should result in the creation of the following:
+ - libtsocks.so - the libtsocks library
+ - validateconf - a utility to verify the tsocks configuration file
+ - inspectsocks - a utility to determine the version of a socks server
+ - saveme - a statically linked utility to remove /etc/ld.so.preload
+ if it becomes corrupt
++ - man pages - tsocks(8), tsocks(1) and tsocks.conf(5)
+
+-4. If you experience any errors at this step and don't know how to fix
+-them, seek help using the contacts listed on
+-http://tsocks.sourceforge.net/contact.php
+-
+-5. Install the compiled library. You can skip this step if you only plan
+-to use the library for personal use. If you want all users on the machine
+-to be able to use it however, su to root then type
+-
+- make install
++3. Configuration
+
+-This will install the library, the tsocks script and its man pages
+-(tsocks(8), tsocks(1) and tsocks.conf(5)) to the paths specified to
+-configure.
+-
+-Note that by default the library is installed to /lib and that the
+-configure --prefix is IGNORED. See above for more detail.
+-
+-6. At this point you'll need to create the tsocks configuration file.
+-There are two samples provided in the build directory called
++You'll need to create the tsocks configuration file.
++There are two samples provided in the build directory and
++/usr/local/share/examples/tsocks called
+ tsocks.conf.simple.example and tsocks.conf.complex.example.
+ Documentation on the configuration file format is provided in the
+ tsocks.conf man page ('man tsocks.conf').
+
+-7. Having created the tsocks.conf file you should verify it using
++4. Having created the tsocks.conf file you should verify it using
+ validateconf (some detail on validateconf can be found in the tsocks.conf
+ man page). Normally validateconf is run without arguments
+ ('./validateconf'). Any errors which are displayed by validateconf need
+ to be rectified before tsocks will function correctly.
+
+-8. You can now choose to make the library affect all users or just those
++5. You can now choose to make the library affect all users or just those
+ who choose to use it. If you want users to use it themselves, they can
+ simply use the tsocks(1) shell script to run programs (see 'man tsocks')
+ or do the following in their shell before running applications that need
+@@ -97,25 +68,15 @@
+
+ (in CSH) setenv LD_PRELOAD <path to library>
+
+- <path to library> = e.g /lib/libtsocks.so.1.8
+-
+-If you want all users to pick up the library, place the full path to the
+-full library in the file /etc/ld.so.preload (e.g "/lib/libtsocks.so"). Be
+-EXTREMELY careful if you do this, if you mistype it or in some way get it
+-wrong this will make your machine UNUSABLE. Also, if you do this, make
+-sure the directory you put the library in is in the root of the
+-filesystem, if the library is not available at boot time, again, your
+-machine will be UNUSABLE.
++ <path to library> = e.g /usr/local/lib/tsocks/libtsocks.so.1.8
+
+-9. Go ahead and use it! At this point everything should work. Again, if
++6. Go ahead and use it! At this point everything should work. Again, if
+ you experience any problems, use the contact points listed at
+-http://tsocks.sourceforge.net/contact.php. If you do happen to break your
+-machine with /etc/ld.so.preload, the build process creates a statically
+-linked executable called saveme in the build directory. This executable
+-simply unlinks /etc/ld.so.preload, this may or may not save you so give
+-it a try. If it fails, you'll need to switch off the machine and get a
+-rescue disk (e.g tomsrtbt) mount the disk and remove the file manually.
++http://tsocks.sourceforge.net/contact.php.
+
+ Thats it,
+
+ Thanks, Shaun Clowes (delius@progsoc.org)
++
++
++Adapted for FreeBSD by Marcin Jessa (yazzy@yazzy.org)
diff --git a/net/tsocks/files/patch-tsocks.1 b/net/tsocks/files/patch-tsocks.1
new file mode 100644
index 000000000000..44a0e7eb601e
--- /dev/null
+++ b/net/tsocks/files/patch-tsocks.1
@@ -0,0 +1,63 @@
+--- tsocks.1.orig Sat Mar 16 11:34:44 2002
++++ tsocks.1 Sat Sep 6 17:54:49 2003
+@@ -1,24 +1,24 @@
+-.TH TSOCKS 1 "" "TSOCKS"
+-
+-.SH NAME
++.\"
++.TH "TSOCKS" "1" "" "TSOCKS" ""
++.SH "NAME"
+ .BR tsocks
+ \- Shell wrapper to simplify the use of the tsocks(8) library to
+ transparently allow an application to use a SOCKS proxy
+-.SH SYNOPSIS
++.SH "SYNOPSIS"
+ .B tsocks
+ .RB [application\ [application's\ arguments]]
+-.br
++.br
+ or
+ .B tsocks
+ .RB [on|off]
+-.br
++.br
+ or
+ .B tsocks
+-.SH DESCRIPTION
++.SH "DESCRIPTION"
+ .B tsocks
+ is a wrapper between the tsocks library and the application what you
+ would like to run socksified.
+-.SH OPTIONS
++.SH "OPTIONS"
+ .IP \fB[application\ \fB[application's\ arguments]]
+ run the application as specified with the environment (LD_PRELOAD) set
+ such that tsocks(8) will transparently proxy SOCKS connections in
+@@ -28,19 +28,19 @@
+ variable. When tsocks(8) is in this variable all executed
+ applications are automatically socksified. If you want to
+ use this function, you HAVE to source the shell script from yours,
+-like this: "source /usr/bin/tsocks" or ". /usr/bin/tsocks"
+-.br
++like this: "source /usr/local/bin/tsocks" or ". /usr/local/bin/tsocks"
++.br
+ Example:
+-.br
+-". tsocks on" -- add the tsocks lib to LD_PRELOAD
+-.br
+-". tsocks off" -- remove the tsocks lib from LD_PRELOAD
++.br
++". tsocks on" \-\- add the tsocks lib to LD_PRELOAD
++.br
++". tsocks off" \-\- remove the tsocks lib from LD_PRELOAD
+ .IP \fB[show|sh]
+ show the current value of the LD_PRELOAD variable
+ .IP \fB<without\ any\ argument>
+ create a new shell with LD_PRELOAD including tsocks(8).
+-.PP
+-.SH AUTHOR
++.PP
++.SH "AUTHOR"
+ This script was created by Tamas SZERB <toma@rulez.org> for the debian
+ package of tsocks. It (along with this manual page) have since been
+ adapted into the main tsocks project and modified.
diff --git a/net/tsocks/files/patch-tsocks.8 b/net/tsocks/files/patch-tsocks.8
new file mode 100644
index 000000000000..e2023046e1fe
--- /dev/null
+++ b/net/tsocks/files/patch-tsocks.8
@@ -0,0 +1,168 @@
+--- tsocks.8.orig Sat Mar 16 11:20:51 2002
++++ tsocks.8 Sat Sep 6 18:15:08 2003
+@@ -1,25 +1,24 @@
+-.TH TSOCKS 8 "" "Shaun Clowes" \" -*-
+- \" nroff -*
+-
+-.SH NAME
++.\" \" nroff -*
++.\"
++.TH "TSOCKS" "8" "" "Shaun Clowes" "\""
++.SH "NAME"
+ .BR tsocks
+ \- Library for intercepting outgoing network connections and
+ redirecting them through a SOCKS server.
+
+-.SH SYNOPSIS
+-
++.SH "SYNOPSIS"
+ Set LD_PRELOAD to load the library then use applications as normal
+
+ The syntax to force preload of the library for different shells is
+ specified below:
+
+-Bash, Ksh and Bourne shell -
++Bash, Ksh and Bourne shell \-
+
+-export LD_PRELOAD=/lib/libtsocks.so
++export LD_PRELOAD=/usr/local/lib/tsocks/libtsocks.so
+
+-C Shell -
++C Shell \-
+
+-setenv LD_PRELOAD=/lib/libtsocks.so
++setenv LD_PRELOAD=/usr/local/lib/tsocks/libtsocks.so
+
+ This process can be automated (for Bash, Bourne and Korn shell
+ users) for a single command or for all commands in a shell session
+@@ -30,13 +29,12 @@
+ information on this configuration see the CAVEATS section of this
+ manual page.
+
+-.SH DESCRIPTION
+-
++.SH "DESCRIPTION"
+ .BR tsocks
+ is a library to allow transparent SOCKS proxying. It wraps the normal
+ connect() function. When a connection is attempted, it consults the
+ configuration file (which is defined at configure time but defaults to
+-/etc/tsocks.conf) and determines if the IP address specified is local. If
++/usr/local/etc/tsocks.conf) and determines if the IP address specified is local. If
+ it is not, the library redirects the connection to a SOCKS server
+ specified in the configuration file. It then negotiates that connection
+ with the SOCKS server and passes the connection back to the calling
+@@ -52,42 +50,42 @@
+ Most arguments to
+ .BR tsocks
+ are provided in the configuration file (the location of which is defined
+-at configure time by the --with-conf=<file> argument but defaults to
+-/etc/tsocks.conf). The structure of this file is documented in tsocks.conf(8)
++at configure time by the \-\-with\-conf=<file> argument but defaults to
++/usr/local/etc/tsocks.conf). The structure of this file is documented in tsocks.conf(8)
+
+ Some configuration options can be specified at run time using environment
+ variables as follows:
+
+-.TP
++.TP
+ .I TSOCKS_CONFFILE
+ This environment variable overrides the default location of the tsocks
+ configuration file. This variable is not honored if the program tsocks
+ is embedded in is setuid. In addition this environment variable can
+-be compiled out of tsocks with the --disable-envconf argument to
++be compiled out of tsocks with the \-\-disable\-envconf argument to
+ configure at build time
+
+-.TP
++.TP
+ .I TSOCKS_DEBUG
+ This environment variable sets the level of debug output that should be
+ generated by tsocks (debug output is generated in the form of output to
+ standard error). If this variable is not present by default the logging
+ level is set to 0 which indicates that only error messages should be output.
+ Setting it to higher values will cause tsocks to generate more messages
+-describing what it is doing. If set to -1 tsocks will output absolutely no
++describing what it is doing. If set to \-1 tsocks will output absolutely no
+ error or debugging messages. This is only needed if tsocks output interferes
+ with a program it is embedded in. Message output can be permanently compiled
+-out of tsocks by specifying the --disable-debug option to configure at
++out of tsocks by specifying the \-\-disable\-debug option to configure at
+ build time
+
+-.TP
++.TP
+ .I TSOCKS_DEBUG_FILE
+ This option can be used to redirect the tsocks output (which would normally
+ be sent to standard error) to a file. This variable is not honored if the
+ program tsocks is embedded in is setuid. For programs where tsocks output
+ interferes with normal operation this option is generally better than
+-disabling messages (with TSOCKS_DEBUG = -1)
++disabling messages (with TSOCKS_DEBUG = \-1)
+
+-.TP
++.TP
+ .I TSOCKS_USERNAME
+ This environment variable can be used to specify the username to be used when
+ version 5 SOCKS servers request username/password authentication. This
+@@ -95,7 +93,7 @@
+ file using 'default_user', see tsocks.conf(8) for more information. This
+ variable is ignored for version 4 SOCKS servers.
+
+-.TP
++.TP
+ .I TSOCKS_PASSWORD
+ This environment variable can be used to specify the password to be used when
+ version 5 SOCKS servers request username/password authentication. This
+@@ -115,11 +113,12 @@
+ .BR tsocks
+ will generate error messages and print them to stderr when there are
+ problems with the configuration file or the SOCKS negotiation with the
+-server if the TSOCKS_DEBUG environment variable is not set to -1 or and
+---disable-debug was not specified at compile time. This output may cause
++server if the TSOCKS_DEBUG environment variable is not set to \-1 or and
++\-\-disable\-debug was not specified at compile time. This output may cause
+ some problems with programs that redirect standard error.
+
+ .SS CAVEATS
++.BR Linux specific:
+ .BR tsocks
+ will not in the above configuration be able to provide SOCKS proxying to
+ setuid applications or applications that are not run from a shell. You can
+@@ -132,8 +131,7 @@
+ careful. Also be sure the library is in the root filesystem as all hell
+ will break loose if the directory it is in is not available at boot time.
+
+-.SH BUGS
+-
++.SH "BUGS"
+ .BR tsocks
+ can only proxy outgoing TCP connections
+
+@@ -157,21 +155,21 @@
+ .BR tsocks
+ uses ELF dynamic loader features to intercept dynamic function calls from
+ programs in which it is embedded. As a result, it cannot trace the
+-actions of statically linked executables, non-ELF executables, or
++actions of statically linked executables, non\-ELF executables, or
+ executables that make system calls directly with the system call trap or
+ through the syscall() routine.
+
+-.SH FILES
+-/etc/tsocks.conf - default tsocks configuration file
++.SH "FILES"
++/usr/local/etc/tsocks.conf \- default tsocks configuration file
+
+-.SH SEE ALSO
++.SH "SEE ALSO"
+ tsocks.conf(5)
+ tsocks(1)
+
+-.SH AUTHOR
++.SH "AUTHOR"
+ Shaun Clowes (delius@progsoc.uts.edu.au)
+
+-.SH COPYRIGHT
++.SH "COPYRIGHT"
+ Copyright 2000 Shaun Clowes
+
+ tsocks and its documentation may be freely copied under the terms and
diff --git a/net/tsocks/pkg-descr b/net/tsocks/pkg-descr
new file mode 100644
index 000000000000..51488d47d34d
--- /dev/null
+++ b/net/tsocks/pkg-descr
@@ -0,0 +1,21 @@
+SOCKS servers are a form of proxy that are commonly used
+in firewalled LAN environments to allow access between networks,
+and often to the Internet.
+The problem is that most applications don't know how to gain
+access through SOCKS servers.
+This means that network based applications
+that don't understand SOCKS are very limited in networks they can reach.
+An example of this is simple 'telnet'.
+If you're on a network firewalled from the internet
+with a SOCKS server for outside access,
+telnet can't use this server and thus can't telnet out to the Internet.
+
+tsocks' role is to allow these non SOCKS aware applications
+(e.g telnet, ssh, ftp etc) to use SOCKS without any modification.
+It does this by intercepting the
+calls that applications make to establish network connections
+and negotating them through a SOCKS server as necessary.
+
+WWW: http://tsocks.sourceforge.net
+
+Thanks opet for his help on that port.
diff --git a/net/tsocks/pkg-message b/net/tsocks/pkg-message
new file mode 100644
index 000000000000..985d693814c6
--- /dev/null
+++ b/net/tsocks/pkg-message
@@ -0,0 +1,9 @@
+
+###
+
+Simple setup file was copied to ${PREFIX}/etc/tsocks.conf.sample
+An example of a more complex setup file can be found in
+${PREFIX}/share/examples/tsocks/
+Some more details avaliable in ${PREFIX}/share/examples/tsocks/README
+
+###
diff --git a/net/tsocks/pkg-plist b/net/tsocks/pkg-plist
new file mode 100644
index 000000000000..493dcaa7d033
--- /dev/null
+++ b/net/tsocks/pkg-plist
@@ -0,0 +1,9 @@
+bin/tsocks
+etc/tsocks.conf.sample
+lib/tsocks/libtsocks.so.1
+lib/tsocks/libtsocks.so
+@dirrm lib/tsocks/
+%%EXAMPLESDIR%%/tsocks.conf.complex.example
+%%EXAMPLESDIR%%/tsocks.conf.simple.example
+%%EXAMPLESDIR%%/README
+@dirrm %%EXAMPLESDIR%%