add ebuild for vtun with fix for build-time racing condition
This commit is contained in:
parent
eda25ad341
commit
276fc1180b
8
net-misc/vtun/Manifest
Normal file
8
net-misc/vtun/Manifest
Normal file
@ -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
|
@ -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:
|
72
net-misc/vtun/files/vtun-3.0.2-includes.patch
Normal file
72
net-misc/vtun/files/vtun-3.0.2-includes.patch
Normal file
@ -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 <strings.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
+#include <arpa/inet.h> /* 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 <sys/wait.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
#include <errno.h>
|
||||||
|
+#include <time.h> /* 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 <sys/types.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <errno.h>
|
||||||
|
+#include <unistd.h> /* read(), write() */
|
||||||
|
|
||||||
|
#ifdef HAVE_LIBUTIL_H
|
||||||
|
#include <libutil.h>
|
||||||
|
--- 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 <sys/types.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <errno.h>
|
||||||
|
+#include <time.h> /* 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 <stdlib.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
+#include <time.h> /* nanosleep() */
|
||||||
|
|
||||||
|
#include "vtun.h"
|
||||||
|
#include "linkfd.h"
|
@ -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
|
33
net-misc/vtun/files/vtun.rc
Normal file
33
net-misc/vtun/files/vtun.rc
Normal file
@ -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 $?
|
||||||
|
}
|
33
net-misc/vtun/files/vtund-start.conf
Normal file
33
net-misc/vtun/files/vtund-start.conf
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
### this file defines whether vtund is run as a client or a server
|
||||||
|
###
|
||||||
|
### format is "[host] [server] <args>" or "--server-- [portnumber] <args>".
|
||||||
|
###
|
||||||
|
### [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
|
8
net-misc/vtun/metadata.xml
Normal file
8
net-misc/vtun/metadata.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer>
|
||||||
|
<email>maintainer-needed@gentoo.org</email>
|
||||||
|
<name>Default assignee for orphaned packages</name>
|
||||||
|
</maintainer>
|
||||||
|
</pkgmetadata>
|
58
net-misc/vtun/vtun-3.0.2-r9999.ebuild
Normal file
58
net-misc/vtun/vtun-3.0.2-r9999.ebuild
Normal file
@ -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."
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user