Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jul 2007 01:59:30 +0200 (CEST)
From:      Michael Scholz <mike@fth-devel.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/114544: New port: net/gateway6 free IPv6 tunnel
Message-ID:  <200707122359.l6CNxU8k001581@fth-devel.net>
Resent-Message-ID: <200707130210.l6D2AFpn032596@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         114544
>Category:       ports
>Synopsis:       New port: net/gateway6 free IPv6 tunnel
>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 Jul 13 02:10:14 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Michael Scholz
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD pumpkin.fth-devel.net 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Tue Jul 10 18:56:49 CEST 2007 mike@pumpkin.fth-devel.net:/usr/gnu/obj/usr/gnu/fbsd/src/sys/PUMPKIN i386

>Description:
  Gateway6 tunnel setup protocol client like Freenet6 (net/freenet6).

>How-To-Repeat:
	Add gateway6_enable="yes" to /etc/rc.conf and start with
	'/usr/local/etc/rc.d/gateway6 start' or restart the system.

>Fix:
--- gateway6.shar begins here ---
# 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:
#
#	gateway6
#	gateway6/files
#	gateway6/files/pkg-message.in
#	gateway6/files/patch-src.lib.config.c
#	gateway6/files/patch5-template.freebsd.sh
#	gateway6/files/gateway6.sh.in
#	gateway6/files/patch-Mk.mk-freebsd.mk
#	gateway6/files/patch-platform.freebsd.tsp_local.c
#	gateway6/pkg-plist
#	gateway6/pkg-descr
#	gateway6/distinfo
#	gateway6/Makefile
#
echo c - gateway6
mkdir -p gateway6 > /dev/null 2>&1
echo c - gateway6/files
mkdir -p gateway6/files > /dev/null 2>&1
echo x - gateway6/files/pkg-message.in
sed 's/^X//' >gateway6/files/pkg-message.in << 'END-of-gateway6/files/pkg-message.in'
XNow that the package is installed, please finish it with the following steps:
X
X- Check the values of %%PREFIX%%/etc/gw6c.conf. If you have registered at
X  the website, fill in your userid and password there.
X- Run '%%PREFIX%%/etc/rc.d/gateway6 start' to start the tunnel.
X- Try to ping a IPv6 host, for example: ping6 www.jp.freebsd.org
X
XNet/gateway6 supports rc.subr.
XPlease add 'gateway6_enable="YES"' to your /etc/rc.conf to make it
Xstart autoamtically at startup.
X
XWWW: http://www.go6.net/
END-of-gateway6/files/pkg-message.in
echo x - gateway6/files/patch-src.lib.config.c
sed 's/^X//' >gateway6/files/patch-src.lib.config.c << 'END-of-gateway6/files/patch-src.lib.config.c'
X--- src/lib/config.c.orig	2007-05-07 20:55:25.000000000 +0200
X+++ src/lib/config.c	2007-07-12 00:10:55.000000000 +0200
X@@ -274,7 +274,7 @@
X   int status = NO_ERROR;
X   struct in_addr addr;
X   struct in6_addr addr6;
X-  const char* cszTemplDir = "template";
X+  const char* cszTemplDir = "share/gateway6";
X 
X   // Hard-coded parameters. Not configurable anymore.
X   pConf->syslog = FALSE;
END-of-gateway6/files/patch-src.lib.config.c
echo x - gateway6/files/patch5-template.freebsd.sh
sed 's/^X//' >gateway6/files/patch5-template.freebsd.sh << 'END-of-gateway6/files/patch5-template.freebsd.sh'
X--- template/freebsd.sh.orig	2005-10-25 20:38:02.000000000 +0200
X+++ template/freebsd.sh	2007-07-11 23:33:20.000000000 +0200
X@@ -76,7 +76,7 @@
X Display 1 '--- Start of configuration script. ---'
X Display 1 "Script: " `basename $0`
X 
X-gifconfig=/usr/sbin/gifconfig
X+gifconfig=/sbin/ifconfig
X ifconfig=/sbin/ifconfig
X route=/sbin/route
X rtadvd=/usr/sbin/rtadvd
END-of-gateway6/files/patch5-template.freebsd.sh
echo x - gateway6/files/gateway6.sh.in
sed 's/^X//' >gateway6/files/gateway6.sh.in << 'END-of-gateway6/files/gateway6.sh.in'
X#!/bin/sh
X#
X# $FreeBSD$
X#
X
X#
X# PROVIDE: gateway6
X# REQUIRE: FILESYSTEMS netif
X# BEFORE: ip6addrctl
X# KEYWORD: shutdown
X#
X
X#
X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
X# to enable the IPv6 tunnel to Freenet6.net:
X#
X# gateway6_enable (bool): Set to NO by default.
X#                         Set it to YES to enable gateway6.
X# gateway6_flags (flags): Set to "" by default.
X#
X
X. %%RC_SUBR%%
X
Xname="gateway6"
Xrcvar=`set_rcvar`
X
Xcommand=%%PREFIX%%/bin/gw6c
Xrequired_files=%%PREFIX%%/etc/gw6c.conf
X
Xload_rc_config $name
X
X: ${gateway6_enable="NO"}
X: ${gateway6_flags=""}
X
Xrun_rc_command "$1"
END-of-gateway6/files/gateway6.sh.in
echo x - gateway6/files/patch-Mk.mk-freebsd.mk
sed 's/^X//' >gateway6/files/patch-Mk.mk-freebsd.mk << 'END-of-gateway6/files/patch-Mk.mk-freebsd.mk'
X--- Mk/mk-freebsd.mk.orig	2006-09-23 01:06:20.000000000 +0200
X+++ Mk/mk-freebsd.mk	2007-07-12 17:58:04.000000000 +0200
X@@ -16,7 +16,7 @@
X install_bin=$(installdir)/bin
X install_etc=$(installdir)/etc
X install_lib=$(installdir)/lib
X-install_template=$(installdir)/template
X+install_template=$(installdir)/share/gateway6
X install_man=$(installdir)/man
X subdirs=src/net src/lib src/tsp src/xml platform/unix-common platform/freebsd template conf man
X ifname=gif0
END-of-gateway6/files/patch-Mk.mk-freebsd.mk
echo x - gateway6/files/patch-platform.freebsd.tsp_local.c
sed 's/^X//' >gateway6/files/patch-platform.freebsd.tsp_local.c << 'END-of-gateway6/files/patch-platform.freebsd.tsp_local.c'
X--- platform/freebsd/tsp_local.c.orig	2007-04-25 21:31:31.000000000 +0200
X+++ platform/freebsd/tsp_local.c	2007-07-12 18:38:01.000000000 +0200
X@@ -53,11 +53,11 @@
X #include "tsp_tun.h"   /* freebsd's tun */
X 
X 
X-char *FileName  = "gw6c.conf";
X+char *FileName  = "/usr/local/etc/gw6c.conf";
X char *ScriptInterpretor = "/bin/sh";
X char *ScriptExtension = "sh";
X char *ScriptDir = NULL;
X-char *TspHomeDir = "/usr/local/etc/gw6";
X+char *TspHomeDir = "/usr/local";
X char DirSeparator = '/';
X 
X int RootUid = 0;
X@@ -77,17 +77,12 @@
X void
X tspSetEnv(char *Variable, char *Value, int Flag)
X {
X-	char *buf;
X 	if(Value) {
X-		int size=(strlen(Variable) + strlen(Value) + 2);
X-		if((buf=malloc(size)) == NULL) {
X+	       if(setenv(Variable, Value, Flag) == -1) {
X 			Display(LOG_LEVEL_3, ELError, "SetEnv", HEX_STR_NOT_ENOUGH_MEM);
X 			return;
X 		}
X-		snprintf(buf, size, "%s=%s", Variable, Value);
X-		putenv(buf);
X-		Display(LOG_LEVEL_3, ELNotice, "tspSetEnv", "%s", buf);
X-		free(buf);
X+	        Display(LOG_LEVEL_3, ELNotice, "tspSetEnv", "%s=%s", Variable, Value);
X 	}
X }
X 
END-of-gateway6/files/patch-platform.freebsd.tsp_local.c
echo x - gateway6/pkg-plist
sed 's/^X//' >gateway6/pkg-plist << 'END-of-gateway6/pkg-plist'
Xbin/gw6c
X@unexec if cmp -s %D/etc/gw6c.conf.sample %D/etc/gw6c.conf; then rm -f %D/etc/gw6c.conf; fi
Xetc/gw6c.conf.sample
X@exec if [ ! -f %D/etc/gw6c.conf ] ; then cp -p %D/%F %B/gw6c.conf; fi
X%%DATADIR%%/CLIENT-LICENSE.TXT
X%%DATADIR%%/GUI-LICENSE.TXT
X%%DATADIR%%/HEX_DC_0005_Gateway6_Client_Guide.pdf
X%%DATADIR%%/HEX_DC_0007_Gateway6_Client_Release_Notes.pdf
X%%DATADIR%%/INSTALL
X%%DATADIR%%/README
X%%DATADIR%%/checktunnel.sh
X%%DATADIR%%/freebsd.sh
X@dirrm %%DATADIR%%
X@dirrm %%EXAMPLESDIR%%
END-of-gateway6/pkg-plist
echo x - gateway6/pkg-descr
sed 's/^X//' >gateway6/pkg-descr << 'END-of-gateway6/pkg-descr'
XFrom README:
X
XTSP is a control protocol used to establish and maintain static 
Xtunnels. The Gateway6 Client is used on the host computer to connect 
Xto a tunnel broker using the TSP protocol and to get the information 
Xfor its tunnel. When it receives the information for the tunnel, the 
XGateway6 client creates the static tunnel on its operating system.
X
XThe Gateway6 Client code is mostly identical for all client platforms.
XHowever, creating the static tunnel is operating system dependent and 
Xis done by a script called by the Gateway6 Client. These scripts are 
Xlocated under the template directory in the Gateway6 Client 
Xinstallation directory.
X
XThe script executed by the Gateway6 Client to configure the tunnel 
Xinterface is customized for each type of supported operating system 
Xand takes care of all specifics for the target operating system. 
XOn Unix systems, it is a shell script. This separation of the binary 
Xand script enables fast and easy additions of new operating systems, 
Xas has been shown by the community contributions for many operating 
Xsystems.
X
XWWW: http://www.go6.net/
END-of-gateway6/pkg-descr
echo x - gateway6/distinfo
sed 's/^X//' >gateway6/distinfo << 'END-of-gateway6/distinfo'
XMD5 (gw6c-5_0-RELEASE-src.tar.gz) = 5dda7941133a199adf3453d105cecf5d
XSHA256 (gw6c-5_0-RELEASE-src.tar.gz) = 431e59a6590f0826f1cb34a6319bd69d024ca89e36f8578a2befe039a489e894
XSIZE (gw6c-5_0-RELEASE-src.tar.gz) = 2441593
END-of-gateway6/distinfo
echo x - gateway6/Makefile
sed 's/^X//' >gateway6/Makefile << 'END-of-gateway6/Makefile'
X# New ports collection makefile for:   gateway6
X# Date created:        11 Jul 2007
X# Whom:                Michael Scholz (mike@fth-devel.net)
X#
X# $FreeBSD$
X#
X
XPORTNAME=	gateway6
XPORTVERSION=	5.0
XCATEGORIES=	net ipv6
XMASTER_SITES=	ftp://ftp.fth-devel.net/pub/freenet6/
XMASTER_SITES+=	http://www.go6.net/4105/file.asp?file_id=142/
XDISTNAME=	gw6c-5_0-RELEASE-src
X
XMAINTAINER=	mike@fth-devel.net
XCOMMENT=	Gateway6 Tunnel Setup Protocol Client - Free IPv6 tunnel
X
XUSE_RC_SUBR=	gateway6.sh
XWRKSRC=		${WRKDIR}/tspc-advanced
X
XMAN8=		gw6c.8
XMAN5=		gw6c.conf.5
X
XPKGMESSAGE=	${WRKDIR}/pkg-message
XSUB_FILES=	gateway6.sh pkg-message
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 400000
XIGNORE=		this program might not be working on FreeBSD version below 4.0
X.endif
X.if ${OSVERSION} > 500000
XEXTRA_PATCHES=	${FILESDIR}/patch5-template.freebsd.sh
X.endif
X
XMAKE_ARGS=	target=freebsd installdir=${PREFIX}
XGW6C_DATA=	CLIENT-LICENSE.TXT GUI-LICENSE.TXT INSTALL README
X
Xdo-install:
X	@${MKDIR} ${EXAMPLESDIR}
X	@${MKDIR} ${DATADIR}
X	@${INSTALL_PROGRAM} ${WRKSRC}/bin/gw6c ${PREFIX}/bin/gw6c
X	@${INSTALL_MAN} ${WRKSRC}/man/man8/gw6c.8 ${PREFIX}/man/man8
X	@${INSTALL_MAN} ${WRKSRC}/man/man5/gw6c.conf.5 ${PREFIX}/man/man5
X	@${INSTALL_SCRIPT} ${WRKSRC}/template/checktunnel.sh ${DATADIR}
X	@${INSTALL_SCRIPT} ${WRKSRC}/template/freebsd.sh ${DATADIR}
X	@${INSTALL_DATA} ${WRKSRC}/bin/gw6c.conf.sample ${PREFIX}/etc
X	@${INSTALL_DATA} ${WRKDIR}/HEX_DC_0005_Gateway6_Client_Guide.pdf ${DATADIR}
X	@${INSTALL_DATA} ${WRKDIR}/HEX_DC_0007_Gateway6_Client_Release_Notes.pdf ${DATADIR}
X
X.for f in ${GW6C_DATA}
X	@${INSTALL_DATA} ${WRKSRC}/$f ${DATADIR}
X.endfor
X
Xpost-install:
X	@if [ ! -f ${PREFIX}/etc/orbit.conf ]; then \
X		${CP} -p ${PREFIX}/etc/gw6c.conf.sample ${PREFIX}/etc/gw6c.conf ; \
X	fi
X	@${CAT} ${PKGMESSAGE}
X
Xpost-patch:
X	@${REINPLACE_CMD} \
X		-e "s|/installdir/bin|${PREFIX}/etc|g" \
X		${WRKSRC}/man/man8/gw6c.8
X
X	@${REINPLACE_CMD} \
X		-e "s|/usr/local/gw6c|${PREFIX}|g" \
X		-e "s|/install/dir/bin/gw6c.conf.sample|${EXAMPLESDIR}/gw6c.conf.sample|g" \
X		-e "s|/install/dir/bin/gw6c.conf|${PREFIX}/etc/gw6c.conf|g" \
X		-e "s|template=linux|template=freebsd|g" \
X		${WRKSRC}/man/man5/gw6c.conf.5
X
X.include <bsd.port.post.mk>
END-of-gateway6/Makefile
exit
--- gateway6.shar ends here ---


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707122359.l6CNxU8k001581>