Compare commits

...
Sign in to create a new pull request.

7 commits

Author SHA1 Message Date
Gabriel L. Somlo
ab7608287d patch to fix RHBZ 1319858, 1319860 2016-03-21 15:03:26 -04:00
Gabriel L. Somlo
fc7406d367 add support for systemd (#661331) 2011-01-06 16:26:11 -05:00
Gabriel L. Somlo
a9c0756041 add support for systemd (#661331) 2011-01-06 16:19:24 -05:00
Fedora Release Engineering
f97447e476 dist-git conversion 2010-07-29 15:10:24 +00:00
Bill Nottingham
f6d6f6fd34 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:16:09 +00:00
7dfac06b8b initial commit 2008-11-19 14:48:03 +00:00
c4b6ad7f0a Initialize branch EL-5 for vtun 2008-11-19 01:43:30 +00:00
8 changed files with 240 additions and 21 deletions

View file

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
vtun-3.0.1.tar.gz
/vtun-3.0.1.tar.gz

View file

@ -1,21 +0,0 @@
# Makefile for source rpm: vtun
# $Id$
NAME := vtun
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View file

@ -0,0 +1 @@
c342ffe77055d4248a38f0b380f28c1b vtun-3.0.1.tar.gz

33
vtun-client-sighup.patch Normal file
View file

@ -0,0 +1,33 @@
When sending a SIGHUP to a vtun client process which is unable to connect
to the remote server, it will attempt to reconnect without sleeping between
consecutive attempts. This results in a CPU usage spike, and a flood of
data sent to syslog.
This patch causes the first sleep after SIGHUP to be discarded, then allows
sleep to be used again in subsequent iterations.
diff -NarU5 a/client.c b/client.c
--- a/client.c 2006-12-11 02:55:06.000000000 -0500
+++ b/client.c 2016-03-21 14:41:09.014377581 -0400
@@ -129,10 +129,11 @@
vtun_syslog(LOG_INFO,"Connecting to %s", vtun.svr_name);
if( connect_t(s,(struct sockaddr *) &svr_addr, host->timeout) ){
vtun_syslog(LOG_INFO,"Connect to %s failed. %s(%d)", vtun.svr_name,
strerror(errno), errno);
+ client_term = 0;
} else {
if( auth_client(s, host) ){
vtun_syslog(LOG_INFO,"Session %s[%s] opened",host->host,vtun.svr_name);
host->rmt_fd = s;
@@ -141,10 +142,11 @@
client_term = tunnel(host);
vtun_syslog(LOG_INFO,"Session %s[%s] closed",host->host,vtun.svr_name);
} else {
vtun_syslog(LOG_INFO,"Connection denied by %s",vtun.svr_name);
+ client_term = 0;
}
}
close(s);
free_sopt(&host->sopt);
}

84
vtun.spec Normal file
View file

@ -0,0 +1,84 @@
Name: vtun
Version: 3.0.1
Release: 10%{?dist}
Summary: Virtual tunnel over TCP/IP networks
License: GPLv2+
Group: System Environment/Daemons
Url: http://vtun.sourceforge.net
Source0: http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Source1: vtund.init
Patch0: vtun-client-sighup.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: xinetd
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/service /sbin/chkconfig
Requires(postun): /sbin/service
BuildRequires: zlib-devel lzo-devel openssl-devel bison flex
%description
VTun provides a method for creating Virtual Tunnels over TCP/IP networks
and allows one to shape, compress, and encrypt traffic in those tunnels.
Supported types of tunnels are: PPP, IP, Ethernet and most other serial
protocols and programs.
VTun is easily and highly configurable: it can be used for various
network tasks like VPN, Mobile IP, Shaped Internet access, IP address
saving, etc. It is completely a user space implementation and does not
require modification to any kernel parts.
%prep
%setup -q
%patch0 -p1
%build
%configure
%{__make} %{?_smp_mflags}
%install
%{__rm} -rf %{buildroot}
%{__install} -D -m 0755 -p %{SOURCE1} %{buildroot}/%{_initrddir}/vtund
%{__install} -D -m 0644 -p scripts/vtund.xinetd %{buildroot}/%{_sysconfdir}/xinetd.d/vtun
%{__sed} -i 's:/usr/local:%{_prefix}:' %{buildroot}/%{_sysconfdir}/xinetd.d/vtun
%{__make} install DESTDIR=%{buildroot} INSTALL_OWNER= INSTALL="/usr/bin/install -p"
%clean
%{__rm} -rf %{buildroot}
%post
if [ $1 -eq 1 ]; then
/sbin/chkconfig --add vtund || :
fi
%preun
if [ $1 -eq 0 ]; then
/sbin/service vtund stop >/dev/null 2>&1 || :
/sbin/chkconfig --del vtund || :
fi
%postun
if [ $1 -eq 1 ]; then
/sbin/service vtund condrestart >/dev/null 2>&1 || :
fi
%files
%defattr(-,root,root,-)
%doc ChangeLog Credits FAQ README README.LZO README.Setup README.Shaper TODO vtund.conf
%config(noreplace) %{_sysconfdir}/vtund.conf
%config(noreplace) %{_sysconfdir}/xinetd.d/vtun
%{_initrddir}/vtund
%{_sbindir}/vtund
%dir %{_localstatedir}/log/vtund
%dir %{_localstatedir}/lock/vtund
%{_mandir}/man5/vtund.conf.5*
%{_mandir}/man8/vtun.8*
%{_mandir}/man8/vtund.8*
%changelog
* Mon Mar 21 2016 Gabriel Somlo <somlo at cmu.edu> 3.0.1-10
- patch to fix RHBZ 1319858, 1319860
- bump release past (el6 & Fedora specific) attempts to add systemd support
* Mon Nov 17 2008 Gabriel Somlo <somlo at cmu.edu> 3.0.1-3
- scriptlets fixes
* Fri Nov 14 2008 Gabriel Somlo <somlo at cmu.edu> 3.0.1-2
- spec file fixes: defattr, -p flag to install program
* Mon Oct 20 2008 Gabriel Somlo <somlo at cmu.edu> 3.0.1-1
- initial fedora package

110
vtund.init Normal file
View file

@ -0,0 +1,110 @@
#!/bin/sh
#
# vtund Startup script for the virtual tunnel daemon
#
# chkconfig: - 55 45
# description: Virtual Tunnel Daemon provides the facility to create \
# virtual tunnels over TCP/IP networks and allows for \
# shaping, compression, and encryption of tunneled traffic.
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec="/usr/sbin/vtund"
prog="vtund"
config="/etc/vtund.conf"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon $exec -s
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading config for $prog: "
killproc $prog -HUP
retval=$?
echo
return $retval
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?

10
vtund.systemd Normal file
View file

@ -0,0 +1,10 @@
[Unit]
Description=virtual tunnel daemon
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/sbin/vtund -s
[Install]
WantedBy=multi-user.target