diff --git a/net-misc/vtun/Manifest b/net-misc/vtun/Manifest new file mode 100644 index 0000000..3f58de4 --- /dev/null +++ b/net-misc/vtun/Manifest @@ -0,0 +1,8 @@ +AUX vtun-3.0.2-build-racing-condition-fix.patch 563 RMD160 84cd760b8be139955a0480caeb74bb9647888471 SHA1 3c0803f980ecaafca2bf125aba7a7f4060611bb4 SHA256 0dc70be4d65a3253e8eaecc3b5d0d0dc8ef52e023d9064fb85b488153c9ec92a +AUX vtun-3.0.2-includes.patch 2020 RMD160 eae6a137693f6376c0d6cb1cfa674a6f26f546ef SHA1 462fdac1eb452eae75e179ab7cfe7881205a55d6 SHA256 8dd0204c480437b0c09488d6af70c36ded639bf61eb1aae37e82e0039f39a915 +AUX vtun-3.0.2-remove-config-presence-check.patch 513 RMD160 1b7998f72b1184f73aaa7eda88a69775908c9d95 SHA1 c3c4834d747ef6b570e16a1bb19dee8c9dbf0bd1 SHA256 12c14f8b556a262e908a0285475fc8fb84b282745332aedf3bff43b9654af91d +AUX vtun.rc 772 RMD160 77ceb021d39aed235291f1c48c6a1c66354fdace SHA1 29aa4f4f625165783e5f2f531310fd5998c18a01 SHA256 15d61c1ee544a69ee67fa580b3ef43d446ef6ebc0f1e91654449e61bc53ff43e +AUX vtund-start.conf 1174 RMD160 e27c66bb660df80d6444fd4f86aea910a30aa281 SHA1 3299eb74d03d73ecd7da7e49fdda8ca73587d51e SHA256 fce23e42500ac4b2135dfd4940388e4d05c117bba12446a7e1702c5a3342ab03 +DIST vtun-3.0.2.tar.gz 125777 RMD160 6592251871f7e6b9a7e12b7e07ab0a700d816f57 SHA1 6e2da196c70475e5d3750903b2dad032a7b1e8ac SHA256 db26d4dbc35a2b3d65519f68b8ae55c80d7ec4e6569aeec7a432aa82f24c56d6 +EBUILD vtun-3.0.2-r9999.ebuild 1471 RMD160 a3d921d603076adadaa5f314253ab328423c59f1 SHA1 5f47e1e047db3947875a48c1a7f843a28013d949 SHA256 10dad1a3e2b0be423d97c1b092a90f25759343e0d21a9e98456174fddab3ee7d +MISC metadata.xml 268 RMD160 01696164cd82ae0617304a419940adecf5a9d222 SHA1 b52a9b90dd049bc8749bc0d25cdfddebd447860f SHA256 2089ca59285b2836a6ec1d5aef27f83d580e922212301f0b1eadb04400eb45eb diff --git a/net-misc/vtun/files/vtun-3.0.2-build-racing-condition-fix.patch b/net-misc/vtun/files/vtun-3.0.2-build-racing-condition-fix.patch new file mode 100644 index 0000000..6fa7652 --- /dev/null +++ b/net-misc/vtun/files/vtun-3.0.2-build-racing-condition-fix.patch @@ -0,0 +1,17 @@ +--- Makefile.in.orig 2012-06-12 00:20:24.359206241 +0400 ++++ Makefile.in 2012-06-12 00:22:46.735301510 +0400 +@@ -60,10 +60,12 @@ + vtund: $(OBJS) + $(CC) $(CFLAGS) -o vtund $(OBJS) $(LFD_OBJS) $(LDFLAGS) + +-cfg_file.tab.c: cfg_file.y cfg_kwords.h config.h ++cfg_file.tab.h: + $(YACC) $(YACCFLAGS) -b cfg_file cfg_file.y + +-cfg_file.lex.c: cfg_file.l cfg_kwords.h config.h ++cfg_file.tab.c: cfg_file.y cfg_kwords.h config.h cfg_file.tab.h ++ ++cfg_file.lex.c: cfg_file.l cfg_kwords.h config.h cfg_file.tab.h + $(LEX) $(LEXFLAGS) cfg_file.l > cfg_file.lex.c + + depend: diff --git a/net-misc/vtun/files/vtun-3.0.2-includes.patch b/net-misc/vtun/files/vtun-3.0.2-includes.patch new file mode 100644 index 0000000..8634a65 --- /dev/null +++ b/net-misc/vtun/files/vtun-3.0.2-includes.patch @@ -0,0 +1,72 @@ +--- a/lfd_encrypt.c 2008-01-07 23:35:32.000000000 +0100 ++++ b/lfd_encrypt.c 2010-09-18 04:53:31.000000000 +0200 +@@ -44,6 +44,7 @@ + #include + #include + #include ++#include /* htonl() */ + + #include "vtun.h" + #include "linkfd.h" +--- a/lib.c 2008-01-07 23:35:40.000000000 +0100 ++++ b/lib.c 2010-09-18 04:52:51.000000000 +0200 +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include /* nanosleep() */ + + #include "vtun.h" + #include "linkfd.h" +--- a/lib.h 2008-01-07 23:35:41.000000000 +0100 ++++ b/lib.h 2010-09-18 04:56:50.000000000 +0200 +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include /* read(), write() */ + + #ifdef HAVE_LIBUTIL_H + #include +--- a/vtun.h 2008-01-07 23:36:07.000000000 +0100 ++++ b/vtun.h 2010-09-18 04:56:08.000000000 +0200 +@@ -219,5 +219,9 @@ + int tunnel(struct vtun_host *host); + int read_config(char *file); + struct vtun_host * find_host(char *host); ++int send_msg(int len, char *in, char **out); ++int send_ib_mesg(int *len, char **in); ++int recv_msg(int len, char *in, char **out); ++int recv_ib_mesg(int *len, char **in); + + #endif +--- a/lock.c 2008-01-07 23:35:50.000000000 +0100 ++++ b/lock.c 2010-09-18 05:01:21.000000000 +0200 +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include /* nanosleep() */ + + #include "vtun.h" + #include "linkfd.h" +--- a/server 2008-01-07 23:36:01.000000000 +0100 ++++ b/server.c 2010-09-18 05:02:45.000000000 +0200 +@@ -49,6 +49,7 @@ + #include "auth.h" + + #include "compat.h" ++#include "netlib.h" /* generic_addr() */ + + static volatile sig_atomic_t server_term; + static void sig_term(int sig) +--- a/lfd_shaper.c 2008-01-07 23:35:36.000000000 +0100 ++++ b/lfd_shaper.c 2010-09-18 05:07:12.000000000 +0200 +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include /* nanosleep() */ + + #include "vtun.h" + #include "linkfd.h" diff --git a/net-misc/vtun/files/vtun-3.0.2-remove-config-presence-check.patch b/net-misc/vtun/files/vtun-3.0.2-remove-config-presence-check.patch new file mode 100644 index 0000000..15b3bf2 --- /dev/null +++ b/net-misc/vtun/files/vtun-3.0.2-remove-config-presence-check.patch @@ -0,0 +1,13 @@ +--- Makefile.in.orig 2012-06-11 23:31:11.416075337 +0400 ++++ Makefile.in 2012-06-11 23:31:21.247324839 +0400 +@@ -86,9 +86,7 @@ + + install_config: + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR) +- if [ ! -f $(ETC_DIR)/vtund.conf ]; then \ +- $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \ +- fi ++ $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \ + + install: vtund install_config install_man + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run diff --git a/net-misc/vtun/files/vtun.rc b/net-misc/vtun/files/vtun.rc new file mode 100644 index 0000000..bb3c6e7 --- /dev/null +++ b/net-misc/vtun/files/vtun.rc @@ -0,0 +1,33 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/vtun/files/vtun.rc,v 1.8 2004/07/15 00:15:45 agriffis Exp $ + +depend() { + need net +} + +start() { + IFS=$'\n' + for line in `grep -v '^[[:space:]]*#' /etc/vtund-start.conf | grep -v '^[[:space:]]*$'` + do + echo $line | + (IFS=" " + read host server args + if [ "$host" = "--server--" ]; then + ebegin "Starting vtund server" + /usr/sbin/vtund -s -P $server $args + eend $? + else + ebegin "Starting vtund client $host to $server" + /usr/sbin/vtund $args -- $host $server + eend $? + fi) + done +} + +stop() { + ebegin "Stopping all vtund servers and clients" + killall vtund + eend $? +} diff --git a/net-misc/vtun/files/vtund-start.conf b/net-misc/vtun/files/vtund-start.conf new file mode 100644 index 0000000..01de383 --- /dev/null +++ b/net-misc/vtun/files/vtund-start.conf @@ -0,0 +1,33 @@ +### this file defines whether vtund is run as a client or a server +### +### format is "[host] [server] " or "--server-- [portnumber] ". +### +### [host] is the hostname to use as a client +### +### [server] is the server to connect to +### +### [args] is optional for both server and client and contains any additional +### command line args for that instance of vtund. not needed by most people. +### +### --server-- is the literal string '--server--'. nothing more, nothing less. +### +### [portnumber] is the port number to run the server on. +### +### +### you can have more than one client "host server" line if required, +### and in theory, it should be possible to run as both a client and a +### server simultaneously, but i haven't tested that. + + +### examples: + +### to run as a client using hostname 'viper'. +#viper vtun-server.somewhere.com.au + +### to run a persistent client connection using hostname 'viper' +### connecting to a server on port 6000 and using /etc/vtun.viper.conf +### as the config file. +#viper vtun-server.somewhere.com.au -f /etc/vtun.viper.conf -s -P 6000 + +### to run vtund as a server on port 5000, uncomment the following line: +#--server-- 5000 diff --git a/net-misc/vtun/metadata.xml b/net-misc/vtun/metadata.xml new file mode 100644 index 0000000..59e2b8f --- /dev/null +++ b/net-misc/vtun/metadata.xml @@ -0,0 +1,8 @@ + + + + + maintainer-needed@gentoo.org + Default assignee for orphaned packages + + diff --git a/net-misc/vtun/vtun-3.0.2-r9999.ebuild b/net-misc/vtun/vtun-3.0.2-r9999.ebuild new file mode 100644 index 0000000..f68f50a --- /dev/null +++ b/net-misc/vtun/vtun-3.0.2-r9999.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils + +DESCRIPTION="Create virtual tunnels over TCP/IP networks with traffic shaping, encryption, and compression." +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +HOMEPAGE="http://vtun.sourceforge.net/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86" +IUSE="lzo socks5 ssl zlib" + +RDEPEND="ssl? ( dev-libs/openssl ) + lzo? ( dev-libs/lzo:2 ) + zlib? ( sys-libs/zlib ) + socks5? ( net-proxy/dante )" +DEPEND="${RDEPEND} + sys-devel/bison" + +DOCS="ChangeLog Credits FAQ README README.Setup README.Shaper TODO" + +src_prepare() { + sed -i Makefile.in \ + -e '/^LDFLAGS/s|=|+=|g' \ + || die "sed Makefile" + epatch "${FILESDIR}"/${P}-includes.patch + # remove unneeded checking for /etc/vtund.conf + epatch "${FILESDIR}"/${P}-remove-config-presence-check.patch + # fix build racing condition with bison and lex files, wrt bug #364923 + epatch "${FILESDIR}"/${P}-build-racing-condition-fix.patch +} + +src_configure() { + econf \ + $(use_enable ssl) \ + $(use_enable zlib) \ + $(use_enable lzo) \ + $(use_enable socks5 socks) \ + --enable-shaper +} + +src_install() { + default + newinitd "${FILESDIR}"/vtun.rc vtun + insinto etc + doins "${FILESDIR}"/vtund-start.conf +} + +pkg_postinst() { + elog "You will need the Universal TUN/TAP driver compiled into" + elog "your kernel or as a module to use the associated tunnel" + elog "modes in vtun." +}