summaryrefslogtreecommitdiff
path: root/net/gateway6
diff options
context:
space:
mode:
Diffstat (limited to 'net/gateway6')
-rw-r--r--net/gateway6/Makefile73
-rw-r--r--net/gateway6/distinfo3
-rw-r--r--net/gateway6/files/gateway6.sh.in35
-rw-r--r--net/gateway6/files/patch-Mk.mk-freebsd.mk11
-rw-r--r--net/gateway6/files/patch-platform.freebsd.tsp_local.c36
-rw-r--r--net/gateway6/files/patch-src.lib.config.c11
-rw-r--r--net/gateway6/files/patch5-template.freebsd.sh11
-rw-r--r--net/gateway6/files/pkg-message.in12
-rw-r--r--net/gateway6/pkg-descr23
-rw-r--r--net/gateway6/pkg-plist14
10 files changed, 229 insertions, 0 deletions
diff --git a/net/gateway6/Makefile b/net/gateway6/Makefile
new file mode 100644
index 000000000000..af802850e541
--- /dev/null
+++ b/net/gateway6/Makefile
@@ -0,0 +1,73 @@
+# New ports collection makefile for: gateway6
+# Date created: 11 Jul 2007
+# Whom: Michael Scholz (mike@fth-devel.net)
+#
+# $FreeBSD$
+#
+
+PORTNAME= gateway6
+PORTVERSION= 5.0
+CATEGORIES= net ipv6
+MASTER_SITES= ftp://ftp.fth-devel.net/pub/freenet6/
+MASTER_SITES+= http://www.go6.net/4105/file.asp?file_id=142/
+DISTNAME= gw6c-5_0-RELEASE-src
+
+MAINTAINER= mike@fth-devel.net
+COMMENT= Gateway6 Tunnel Setup Protocol Client - Free IPv6 tunnel
+
+USE_RC_SUBR= gateway6.sh
+WRKSRC= ${WRKDIR}/tspc-advanced
+
+MAN8= gw6c.8
+MAN5= gw6c.conf.5
+
+PKGMESSAGE= ${WRKDIR}/pkg-message
+SUB_FILES= gateway6.sh pkg-message
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 400000
+IGNORE= this program might not be working on FreeBSD version below 4.0
+.endif
+.if ${OSVERSION} > 500000
+EXTRA_PATCHES= ${FILESDIR}/patch5-template.freebsd.sh
+.endif
+
+MAKE_ARGS= target=freebsd installdir=${PREFIX}
+GW6C_DATA= CLIENT-LICENSE.TXT GUI-LICENSE.TXT INSTALL README
+
+do-install:
+ @${MKDIR} ${EXAMPLESDIR}
+ @${MKDIR} ${DATADIR}
+ @${INSTALL_PROGRAM} ${WRKSRC}/bin/gw6c ${PREFIX}/bin/gw6c
+ @${INSTALL_MAN} ${WRKSRC}/man/man8/gw6c.8 ${PREFIX}/man/man8
+ @${INSTALL_MAN} ${WRKSRC}/man/man5/gw6c.conf.5 ${PREFIX}/man/man5
+ @${INSTALL_SCRIPT} ${WRKSRC}/template/checktunnel.sh ${DATADIR}
+ @${INSTALL_SCRIPT} ${WRKSRC}/template/freebsd.sh ${DATADIR}
+ @${INSTALL_DATA} ${WRKSRC}/bin/gw6c.conf.sample ${PREFIX}/etc
+ @${INSTALL_DATA} ${WRKDIR}/HEX_DC_0005_Gateway6_Client_Guide.pdf ${DATADIR}
+ @${INSTALL_DATA} ${WRKDIR}/HEX_DC_0007_Gateway6_Client_Release_Notes.pdf ${DATADIR}
+
+.for f in ${GW6C_DATA}
+ @${INSTALL_DATA} ${WRKSRC}/$f ${DATADIR}
+.endfor
+
+post-install:
+ @if [ ! -f ${PREFIX}/etc/orbit.conf ]; then \
+ ${CP} -p ${PREFIX}/etc/gw6c.conf.sample ${PREFIX}/etc/gw6c.conf ; \
+ fi
+ @${CAT} ${PKGMESSAGE}
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s|/installdir/bin|${PREFIX}/etc|g" \
+ ${WRKSRC}/man/man8/gw6c.8
+
+ @${REINPLACE_CMD} \
+ -e "s|/usr/local/gw6c|${PREFIX}|g" \
+ -e "s|/install/dir/bin/gw6c.conf.sample|${EXAMPLESDIR}/gw6c.conf.sample|g" \
+ -e "s|/install/dir/bin/gw6c.conf|${PREFIX}/etc/gw6c.conf|g" \
+ -e "s|template=linux|template=freebsd|g" \
+ ${WRKSRC}/man/man5/gw6c.conf.5
+
+.include <bsd.port.post.mk>
diff --git a/net/gateway6/distinfo b/net/gateway6/distinfo
new file mode 100644
index 000000000000..ea9ffe3cac03
--- /dev/null
+++ b/net/gateway6/distinfo
@@ -0,0 +1,3 @@
+MD5 (gw6c-5_0-RELEASE-src.tar.gz) = 5dda7941133a199adf3453d105cecf5d
+SHA256 (gw6c-5_0-RELEASE-src.tar.gz) = 431e59a6590f0826f1cb34a6319bd69d024ca89e36f8578a2befe039a489e894
+SIZE (gw6c-5_0-RELEASE-src.tar.gz) = 2441593
diff --git a/net/gateway6/files/gateway6.sh.in b/net/gateway6/files/gateway6.sh.in
new file mode 100644
index 000000000000..0cde258a3c24
--- /dev/null
+++ b/net/gateway6/files/gateway6.sh.in
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+#
+# PROVIDE: gateway6
+# REQUIRE: FILESYSTEMS netif
+# BEFORE: ip6addrctl
+# KEYWORD: shutdown
+#
+
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable the IPv6 tunnel to Freenet6.net:
+#
+# gateway6_enable (bool): Set to NO by default.
+# Set it to YES to enable gateway6.
+# gateway6_flags (flags): Set to "" by default.
+#
+
+. %%RC_SUBR%%
+
+name="gateway6"
+rcvar=`set_rcvar`
+
+command=%%PREFIX%%/bin/gw6c
+required_files=%%PREFIX%%/etc/gw6c.conf
+
+load_rc_config $name
+
+: ${gateway6_enable="NO"}
+: ${gateway6_flags=""}
+
+run_rc_command "$1"
diff --git a/net/gateway6/files/patch-Mk.mk-freebsd.mk b/net/gateway6/files/patch-Mk.mk-freebsd.mk
new file mode 100644
index 000000000000..76fa425bcacc
--- /dev/null
+++ b/net/gateway6/files/patch-Mk.mk-freebsd.mk
@@ -0,0 +1,11 @@
+--- Mk/mk-freebsd.mk.orig 2006-09-23 01:06:20.000000000 +0200
++++ Mk/mk-freebsd.mk 2007-07-12 17:58:04.000000000 +0200
+@@ -16,7 +16,7 @@
+ install_bin=$(installdir)/bin
+ install_etc=$(installdir)/etc
+ install_lib=$(installdir)/lib
+-install_template=$(installdir)/template
++install_template=$(installdir)/share/gateway6
+ install_man=$(installdir)/man
+ subdirs=src/net src/lib src/tsp src/xml platform/unix-common platform/freebsd template conf man
+ ifname=gif0
diff --git a/net/gateway6/files/patch-platform.freebsd.tsp_local.c b/net/gateway6/files/patch-platform.freebsd.tsp_local.c
new file mode 100644
index 000000000000..5cb0b74b24c5
--- /dev/null
+++ b/net/gateway6/files/patch-platform.freebsd.tsp_local.c
@@ -0,0 +1,36 @@
+--- platform/freebsd/tsp_local.c.orig 2007-04-25 21:31:31.000000000 +0200
++++ platform/freebsd/tsp_local.c 2007-07-12 18:38:01.000000000 +0200
+@@ -53,11 +53,11 @@
+ #include "tsp_tun.h" /* freebsd's tun */
+
+
+-char *FileName = "gw6c.conf";
++char *FileName = "/usr/local/etc/gw6c.conf";
+ char *ScriptInterpretor = "/bin/sh";
+ char *ScriptExtension = "sh";
+ char *ScriptDir = NULL;
+-char *TspHomeDir = "/usr/local/etc/gw6";
++char *TspHomeDir = "/usr/local";
+ char DirSeparator = '/';
+
+ int RootUid = 0;
+@@ -77,17 +77,12 @@
+ void
+ tspSetEnv(char *Variable, char *Value, int Flag)
+ {
+- char *buf;
+ if(Value) {
+- int size=(strlen(Variable) + strlen(Value) + 2);
+- if((buf=malloc(size)) == NULL) {
++ if(setenv(Variable, Value, Flag) == -1) {
+ Display(LOG_LEVEL_3, ELError, "SetEnv", HEX_STR_NOT_ENOUGH_MEM);
+ return;
+ }
+- snprintf(buf, size, "%s=%s", Variable, Value);
+- putenv(buf);
+- Display(LOG_LEVEL_3, ELNotice, "tspSetEnv", "%s", buf);
+- free(buf);
++ Display(LOG_LEVEL_3, ELNotice, "tspSetEnv", "%s=%s", Variable, Value);
+ }
+ }
+
diff --git a/net/gateway6/files/patch-src.lib.config.c b/net/gateway6/files/patch-src.lib.config.c
new file mode 100644
index 000000000000..77ddfcc4774c
--- /dev/null
+++ b/net/gateway6/files/patch-src.lib.config.c
@@ -0,0 +1,11 @@
+--- src/lib/config.c.orig 2007-05-07 20:55:25.000000000 +0200
++++ src/lib/config.c 2007-07-12 00:10:55.000000000 +0200
+@@ -274,7 +274,7 @@
+ int status = NO_ERROR;
+ struct in_addr addr;
+ struct in6_addr addr6;
+- const char* cszTemplDir = "template";
++ const char* cszTemplDir = "share/gateway6";
+
+ // Hard-coded parameters. Not configurable anymore.
+ pConf->syslog = FALSE;
diff --git a/net/gateway6/files/patch5-template.freebsd.sh b/net/gateway6/files/patch5-template.freebsd.sh
new file mode 100644
index 000000000000..4fba4427a807
--- /dev/null
+++ b/net/gateway6/files/patch5-template.freebsd.sh
@@ -0,0 +1,11 @@
+--- template/freebsd.sh.orig 2005-10-25 20:38:02.000000000 +0200
++++ template/freebsd.sh 2007-07-11 23:33:20.000000000 +0200
+@@ -76,7 +76,7 @@
+ Display 1 '--- Start of configuration script. ---'
+ Display 1 "Script: " `basename $0`
+
+-gifconfig=/usr/sbin/gifconfig
++gifconfig=/sbin/ifconfig
+ ifconfig=/sbin/ifconfig
+ route=/sbin/route
+ rtadvd=/usr/sbin/rtadvd
diff --git a/net/gateway6/files/pkg-message.in b/net/gateway6/files/pkg-message.in
new file mode 100644
index 000000000000..7358c785bc9e
--- /dev/null
+++ b/net/gateway6/files/pkg-message.in
@@ -0,0 +1,12 @@
+Now that the package is installed, please finish it with the following steps:
+
+- Check the values of %%PREFIX%%/etc/gw6c.conf. If you have registered at
+ the website, fill in your userid and password there.
+- Run '%%PREFIX%%/etc/rc.d/gateway6 start' to start the tunnel.
+- Try to ping a IPv6 host, for example: ping6 www.jp.freebsd.org
+
+Net/gateway6 supports rc.subr.
+Please add 'gateway6_enable="YES"' to your /etc/rc.conf to make it
+start autoamtically at startup.
+
+WWW: http://www.go6.net/
diff --git a/net/gateway6/pkg-descr b/net/gateway6/pkg-descr
new file mode 100644
index 000000000000..8266938ead2f
--- /dev/null
+++ b/net/gateway6/pkg-descr
@@ -0,0 +1,23 @@
+From README:
+
+TSP is a control protocol used to establish and maintain static
+tunnels. The Gateway6 Client is used on the host computer to connect
+to a tunnel broker using the TSP protocol and to get the information
+for its tunnel. When it receives the information for the tunnel, the
+Gateway6 client creates the static tunnel on its operating system.
+
+The Gateway6 Client code is mostly identical for all client platforms.
+However, creating the static tunnel is operating system dependent and
+is done by a script called by the Gateway6 Client. These scripts are
+located under the template directory in the Gateway6 Client
+installation directory.
+
+The script executed by the Gateway6 Client to configure the tunnel
+interface is customized for each type of supported operating system
+and takes care of all specifics for the target operating system.
+On Unix systems, it is a shell script. This separation of the binary
+and script enables fast and easy additions of new operating systems,
+as has been shown by the community contributions for many operating
+systems.
+
+WWW: http://www.go6.net/
diff --git a/net/gateway6/pkg-plist b/net/gateway6/pkg-plist
new file mode 100644
index 000000000000..23c3b420a2bb
--- /dev/null
+++ b/net/gateway6/pkg-plist
@@ -0,0 +1,14 @@
+bin/gw6c
+@unexec if cmp -s %D/etc/gw6c.conf.sample %D/etc/gw6c.conf; then rm -f %D/etc/gw6c.conf; fi
+etc/gw6c.conf.sample
+@exec if [ ! -f %D/etc/gw6c.conf ] ; then cp -p %D/%F %B/gw6c.conf; fi
+%%DATADIR%%/CLIENT-LICENSE.TXT
+%%DATADIR%%/GUI-LICENSE.TXT
+%%DATADIR%%/HEX_DC_0005_Gateway6_Client_Guide.pdf
+%%DATADIR%%/HEX_DC_0007_Gateway6_Client_Release_Notes.pdf
+%%DATADIR%%/INSTALL
+%%DATADIR%%/README
+%%DATADIR%%/checktunnel.sh
+%%DATADIR%%/freebsd.sh
+@dirrm %%DATADIR%%
+@dirrm %%EXAMPLESDIR%%