ports/156108: A simple tcp connection proxy for ipv4 and ipv6

Alexander Hausner alex at hugo.bmg.gv.at
Fri Apr 1 12:20:10 UTC 2011


>Number:         156108
>Category:       ports
>Synopsis:       A simple tcp connection proxy for ipv4 and ipv6
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 01 12:20:09 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Hausner
>Release:        FreeBSD 8.2-RELEASE
>Organization:
BMG
>Environment:
FreeBSD hugo.bmg.gv.at 8.2-RELEASE FreeBSD 8.2-RELEASE #4: Tue Mar  1 09:33:51 CET 2011     root at hugo.bmg.gv.at:/usr/obj/usr/src/sys/HUGO  amd64
>Description:
New Port: net/tcpproxy

tcpproxy is a simple tcp connection proxy which combines the features of rinetd and 6tunnel. tcpproxy supports IPv4 and IPv6 and also supports connections from IPv6 to IPv4 endpoints and vice versa.

WWW: http://www.spreadspace.org/tcpproxy/

>How-To-Repeat:
You also need two patches for UIDs and GIDs:

--- UIDs.old    2011-04-01 14:03:10.087626921 +0200
+++ UIDs        2011-04-01 14:03:10.087626921 +0200
@@ -199,3 +199,4 @@
 get_iplayer:*:937:937::0:0:get_iplayer user:/nonexistent:/sbin/nologin
 vdr:*:938:938::0:0:vdr user:/nonexistent:/usr/sbin/nologin
 noip:*:939:939::0:0:noip user:/nonexistent:/usr/sbin/nologin
+_tcpproxy:*:940:940::0:0:tcpproxy user:/nonexistent:/usr/sbin/nologin

--- GIDs.old    2011-04-01 14:03:04.612021003 +0200
+++ GIDs        2011-04-01 14:03:04.612021003 +0200
@@ -191,3 +191,4 @@
 get_iplayer:*:937:
 vdr:*:938:
 noip:*:939:
+_tcpproxy:*:940:



>Fix:
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#       tcpproxy
#       tcpproxy/files
#       tcpproxy/files/tcpproxy.in
#       tcpproxy/Makefile
#       tcpproxy/distinfo
#       tcpproxy/pkg-descr
#
echo c - tcpproxy
mkdir -p tcpproxy > /dev/null 2>&1
echo c - tcpproxy/files
mkdir -p tcpproxy/files > /dev/null 2>&1
echo x - tcpproxy/files/tcpproxy.in
sed 's/^X//' >tcpproxy/files/tcpproxy.in << '3fa981900f21f7cae9b9a957bc005980'
X#!/bin/sh
X#
X# PROVIDE: tcpproxy
X# REQUIRE: LOGIN
X# KEYWORD: shutdown
X#
X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
X# to enable this service:
X#
X# tcpproxy_enable (bool):   Set to NO by default.
X#                           Set it to YES to enable tcpproxy.
X# tcpproxy_config (path):   Set to %%PREFIX%%/etc/tcpproxy.conf
X#                           by default.
X#
X
X. /etc/rc.subr
X
Xname="tcpproxy"
Xrcvar=${name}_enable
X
Xcommand=%%PREFIX%%/bin/${name}
Xpidfile=/var/run/${name}.pid
X
Xload_rc_config $name
X
X: ${tcpproxy_enable="NO"}
X: ${tcpproxy_config="%%PREFIX%%/etc/tcpproxy.conf"}
X
Xcommand_args="-P $pidfile -c $tcpproxy_config -u _tcpproxy -g _tcpproxy"
X
Xrun_rc_command "$1"
3fa981900f21f7cae9b9a957bc005980
echo x - tcpproxy/Makefile
sed 's/^X//' >tcpproxy/Makefile << 'd9c3e76413d6988a9a98b84d11c2fdc7'
X# New ports collection makefile for:   tcpproxy
X# Date created:                2011-03-30
X# Whom:                        Alexander Hausner <alex at hugo.bmg.gv.at>
X#
X# $FreeBSD$
X#
X
XPORTNAME=      tcpproxy
XPORTVERSION=   1.0
XCATEGORIES=    net
XMASTER_SITES=  http://www.spreadspace.org/tcpproxy/releases/ \
X               http://alex.bmg.gv.at/programs/
X
XMAINTAINER=    alex at hugo.bmg.gv.at
XCOMMENT=       A simple tcp connection proxy for ipv4 and ipv6
X
XBUILD_DEPENDS= ragel:${PORTSDIR}/devel/ragel
X
XUSE_GMAKE=     yes
XHAS_CONFIGURE= yes
X
XUSERS=         _tcpproxy
XGROUPS=                _tcpproxy
X
XMAN8=          tcpproxy.8
X
XUSE_RC_SUBR=   tcpproxy
X
XWRKSRC=                ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src
X
XPLIST_FILES=   bin/tcpproxy etc/tcpproxy_sample.conf
X
Xdo-install:
X       ${INSTALL_PROGRAM} ${WRKSRC}/tcpproxy ${PREFIX}/bin
X       ${INSTALL_DATA}  ${WRKDIR}/${PORTNAME}-${PORTVERSION}/contrib/example.conf ${PREFIX}/etc/tcpproxy_sample.conf
X       ${INSTALL_MAN} ${WRKDIR}/${PORTNAME}-${PORTVERSION}/doc/${MAN8} ${PREFIX}/man/man8
X
X.include <bsd.port.mk>
d9c3e76413d6988a9a98b84d11c2fdc7
echo x - tcpproxy/distinfo
sed 's/^X//' >tcpproxy/distinfo << '7ac5e450349bddc47b85d75236cd87ca'
XSHA256 (tcpproxy-1.0.tar.gz) = 8d21bca2849b87b05566549859666a8bde0e21ed1a304390a71a12929e937f70
XSIZE (tcpproxy-1.0.tar.gz) = 35946
7ac5e450349bddc47b85d75236cd87ca
echo x - tcpproxy/pkg-descr
sed 's/^X//' >tcpproxy/pkg-descr << '32436977b243a5d5d6cd26eac243c1a5'
Xtcpproxy is a simple tcp connection proxy which combines the features of
Xrinetd and 6tunnel. tcpproxy supports IPv4 and IPv6 and also supports
Xconnections from IPv6 to IPv4 endpoints and vice versa.
X
XWWW: http://www.spreadspace.org/tcpproxy/
32436977b243a5d5d6cd26eac243c1a5
exit

-------------------------------------------------------------------------------

You also need two patches for UIDs and GIDs:

--- UIDs.old    2011-04-01 14:03:10.087626921 +0200
+++ UIDs        2011-04-01 14:03:10.087626921 +0200
@@ -199,3 +199,4 @@
 get_iplayer:*:937:937::0:0:get_iplayer user:/nonexistent:/sbin/nologin
 vdr:*:938:938::0:0:vdr user:/nonexistent:/usr/sbin/nologin
 noip:*:939:939::0:0:noip user:/nonexistent:/usr/sbin/nologin
+_tcpproxy:*:940:940::0:0:tcpproxy user:/nonexistent:/usr/sbin/nologin

--- GIDs.old    2011-04-01 14:03:04.612021003 +0200
+++ GIDs        2011-04-01 14:03:04.612021003 +0200
@@ -191,3 +191,4 @@
 get_iplayer:*:937:
 vdr:*:938:
 noip:*:939:
+_tcpproxy:*:940:




Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	tcpproxy
#	tcpproxy/files
#	tcpproxy/files/tcpproxy.in
#	tcpproxy/Makefile
#	tcpproxy/distinfo
#	tcpproxy/pkg-descr
#
echo c - tcpproxy
mkdir -p tcpproxy > /dev/null 2>&1
echo c - tcpproxy/files
mkdir -p tcpproxy/files > /dev/null 2>&1
echo x - tcpproxy/files/tcpproxy.in
sed 's/^X//' >tcpproxy/files/tcpproxy.in << '3fa981900f21f7cae9b9a957bc005980'
X#!/bin/sh
X#
X# PROVIDE: tcpproxy
X# REQUIRE: LOGIN
X# KEYWORD: shutdown
X#
X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
X# to enable this service:
X#
X# tcpproxy_enable (bool):   Set to NO by default.
X#                           Set it to YES to enable tcpproxy.
X# tcpproxy_config (path):   Set to %%PREFIX%%/etc/tcpproxy.conf
X#                           by default.
X#
X
X. /etc/rc.subr
X
Xname="tcpproxy"
Xrcvar=${name}_enable
X
Xcommand=%%PREFIX%%/bin/${name}
Xpidfile=/var/run/${name}.pid
X
Xload_rc_config $name
X
X: ${tcpproxy_enable="NO"}
X: ${tcpproxy_config="%%PREFIX%%/etc/tcpproxy.conf"}
X
Xcommand_args="-P $pidfile -c $tcpproxy_config -u _tcpproxy -g _tcpproxy"
X
Xrun_rc_command "$1"
3fa981900f21f7cae9b9a957bc005980
echo x - tcpproxy/Makefile
sed 's/^X//' >tcpproxy/Makefile << 'd9c3e76413d6988a9a98b84d11c2fdc7'
X# New ports collection makefile for:	tcpproxy
X# Date created:		2011-03-30
X# Whom:			Alexander Hausner <alex at hugo.bmg.gv.at>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	tcpproxy
XPORTVERSION=	1.0
XCATEGORIES=	net
XMASTER_SITES=	http://www.spreadspace.org/tcpproxy/releases/ \
X		http://alex.bmg.gv.at/programs/
X
XMAINTAINER=	alex at hugo.bmg.gv.at
XCOMMENT=	A simple tcp connection proxy for ipv4 and ipv6
X
XBUILD_DEPENDS=	ragel:${PORTSDIR}/devel/ragel
X
XUSE_GMAKE=	yes
XHAS_CONFIGURE=	yes
X
XUSERS=		_tcpproxy
XGROUPS=		_tcpproxy
X
XMAN8=		tcpproxy.8
X
XUSE_RC_SUBR=	tcpproxy
X
XWRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}/src
X
XPLIST_FILES=	bin/tcpproxy etc/tcpproxy_sample.conf
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/tcpproxy ${PREFIX}/bin
X	${INSTALL_DATA}  ${WRKDIR}/${PORTNAME}-${PORTVERSION}/contrib/example.conf ${PREFIX}/etc/tcpproxy_sample.conf
X	${INSTALL_MAN} ${WRKDIR}/${PORTNAME}-${PORTVERSION}/doc/${MAN8} ${PREFIX}/man/man8
X
X.include <bsd.port.mk>
d9c3e76413d6988a9a98b84d11c2fdc7
echo x - tcpproxy/distinfo
sed 's/^X//' >tcpproxy/distinfo << '7ac5e450349bddc47b85d75236cd87ca'
XSHA256 (tcpproxy-1.0.tar.gz) = 8d21bca2849b87b05566549859666a8bde0e21ed1a304390a71a12929e937f70
XSIZE (tcpproxy-1.0.tar.gz) = 35946
7ac5e450349bddc47b85d75236cd87ca
echo x - tcpproxy/pkg-descr
sed 's/^X//' >tcpproxy/pkg-descr << '32436977b243a5d5d6cd26eac243c1a5'
Xtcpproxy is a simple tcp connection proxy which combines the features of
Xrinetd and 6tunnel. tcpproxy supports IPv4 and IPv6 and also supports
Xconnections from IPv6 to IPv4 endpoints and vice versa.
X
XWWW: http://www.spreadspace.org/tcpproxy/
32436977b243a5d5d6cd26eac243c1a5
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list