From c4b6ad7f0ae668c75fadecffc9d8be50e4bd178c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 19 Nov 2008 01:43:30 +0000 Subject: [PATCH 1/7] Initialize branch EL-5 for vtun --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..42f697a --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-5 From 7dfac06b8b1b1c5c24cd0cc35e9387ac5558ac90 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Wed, 19 Nov 2008 14:48:03 +0000 Subject: [PATCH 2/7] initial commit --- .cvsignore | 1 + import.log | 1 + sources | 1 + vtun.spec | 79 ++++++++++++++++++++++++++++++++++++++ vtund.init | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 192 insertions(+) create mode 100644 import.log create mode 100644 vtun.spec create mode 100644 vtund.init diff --git a/.cvsignore b/.cvsignore index e69de29..1b3feab 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +vtun-3.0.1.tar.gz diff --git a/import.log b/import.log new file mode 100644 index 0000000..537e7fc --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +vtun-3_0_1-3_fc8:EL-5:vtun-3.0.1-3.fc8.src.rpm:1227106036 diff --git a/sources b/sources index e69de29..6c68109 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +c342ffe77055d4248a38f0b380f28c1b vtun-3.0.1.tar.gz diff --git a/vtun.spec b/vtun.spec new file mode 100644 index 0000000..0a34781 --- /dev/null +++ b/vtun.spec @@ -0,0 +1,79 @@ +Name: vtun +Version: 3.0.1 +Release: 3%{?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 +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 + +%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 Nov 17 2008 Gabriel Somlo 3.0.1-3 +- scriptlets fixes +* Fri Nov 14 2008 Gabriel Somlo 3.0.1-2 +- spec file fixes: defattr, -p flag to install program +* Mon Oct 20 2008 Gabriel Somlo 3.0.1-1 +- initial fedora package diff --git a/vtund.init b/vtund.init new file mode 100644 index 0000000..13f22bc --- /dev/null +++ b/vtund.init @@ -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 $? From f6d6f6fd34166963949ab079300861ddeec1a49f Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:16:09 +0000 Subject: [PATCH 3/7] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 68b6d3f..5e77816 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: vtun -# $Id$ +# $Id: Makefile,v 1.1 2008/11/19 01:43:25 kevin Exp $ 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 +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From f97447e47673f191465cd13f242ee3e2a85d599e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 15:10:24 +0000 Subject: [PATCH 4/7] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - import.log | 1 - 4 files changed, 23 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 5e77816..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: vtun -# $Id: Makefile,v 1.1 2008/11/19 01:43:25 kevin Exp $ -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 $$d/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) diff --git a/branch b/branch deleted file mode 100644 index 42f697a..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-5 diff --git a/import.log b/import.log deleted file mode 100644 index 537e7fc..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -vtun-3_0_1-3_fc8:EL-5:vtun-3.0.1-3.fc8.src.rpm:1227106036 From a9c07560413f8117a3b3cbd5c99e9e16f7d3ca56 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Thu, 6 Jan 2011 16:19:24 -0500 Subject: [PATCH 5/7] add support for systemd (#661331) --- vtun.spec | 35 ++++++++++++++++++++++++++++++++--- vtund.systemd | 10 ++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 vtund.systemd diff --git a/vtun.spec b/vtun.spec index 0a34781..3b5abb1 100644 --- a/vtun.spec +++ b/vtun.spec @@ -1,17 +1,21 @@ Name: vtun Version: 3.0.1 -Release: 3%{?dist} +Release: 9%{?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 +Source2: vtund.systemd BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: xinetd Requires(post): /sbin/chkconfig -Requires(preun): /sbin/service /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service +Requires(preun): systemd-units Requires(postun): /sbin/service +Requires(postun): systemd-units BuildRequires: zlib-devel lzo-devel openssl-devel bison flex %description @@ -34,6 +38,7 @@ require modification to any kernel parts. %install %{__rm} -rf %{buildroot} %{__install} -D -m 0755 -p %{SOURCE1} %{buildroot}/%{_initrddir}/vtund +%{__install} -D -m 0644 -p %{SOURCE2} %{buildroot}/lib/systemd/system/vtund.service %{__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" @@ -50,11 +55,14 @@ fi if [ $1 -eq 0 ]; then /sbin/service vtund stop >/dev/null 2>&1 || : /sbin/chkconfig --del vtund || : + /bin/systemctl disable vtund.service >/dev/null 2>&1 || : + /bin/systemctl stop vtund.service >/dev/null 2>&1 || : fi %postun if [ $1 -eq 1 ]; then /sbin/service vtund condrestart >/dev/null 2>&1 || : + /bin/systemctl try-restart vtund.service >/dev/null 2>&1 || : fi %files @@ -63,17 +71,38 @@ fi %config(noreplace) %{_sysconfdir}/vtund.conf %config(noreplace) %{_sysconfdir}/xinetd.d/vtun %{_initrddir}/vtund +/lib/systemd/system/vtund.service %{_sbindir}/vtund %dir %{_localstatedir}/log/vtund -%dir %{_localstatedir}/lock/vtund +%ghost %dir %{_localstatedir}/lock/vtund %{_mandir}/man5/vtund.conf.5* %{_mandir}/man8/vtun.8* %{_mandir}/man8/vtund.8* %changelog +* Thu Jan 06 2011 Gabriel Somlo 3.0.1-9 +- add support for systemd (#661331) + +* Tue Nov 30 2010 Gabriel Somlo 3.0.1-8 +- using %ghost on /var/lock/vtund directory (#656720) + +* Fri Aug 21 2009 Tomas Mraz - 3.0.1-7 +- rebuilt with new openssl + +* Sun Jul 26 2009 Fedora Release Engineering - 3.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 3.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Jan 18 2009 Tomas Mraz 3.0.1-4 +- rebuild with new openssl + * Mon Nov 17 2008 Gabriel Somlo 3.0.1-3 - scriptlets fixes + * Fri Nov 14 2008 Gabriel Somlo 3.0.1-2 - spec file fixes: defattr, -p flag to install program + * Mon Oct 20 2008 Gabriel Somlo 3.0.1-1 - initial fedora package diff --git a/vtund.systemd b/vtund.systemd new file mode 100644 index 0000000..47f7bc8 --- /dev/null +++ b/vtund.systemd @@ -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 From fc7406d3670c905d9586ac820938a14eed1568ff Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Thu, 6 Jan 2011 16:26:11 -0500 Subject: [PATCH 6/7] add support for systemd (#661331) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1b3feab..78cf322 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ vtun-3.0.1.tar.gz +/vtun-3.0.1.tar.gz From ab7608287d41089d18268755b25629c0b0a25f38 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Mon, 21 Mar 2016 15:03:26 -0400 Subject: [PATCH 7/7] patch to fix RHBZ 1319858, 1319860 --- vtun-client-sighup.patch | 33 +++++++++++++++++++++++++++++++++ vtun.spec | 40 ++++++++-------------------------------- 2 files changed, 41 insertions(+), 32 deletions(-) create mode 100644 vtun-client-sighup.patch diff --git a/vtun-client-sighup.patch b/vtun-client-sighup.patch new file mode 100644 index 0000000..744aeae --- /dev/null +++ b/vtun-client-sighup.patch @@ -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); + } diff --git a/vtun.spec b/vtun.spec index 3b5abb1..7cd6b86 100644 --- a/vtun.spec +++ b/vtun.spec @@ -1,21 +1,18 @@ Name: vtun Version: 3.0.1 -Release: 9%{?dist} +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 -Source2: vtund.systemd +Patch0: vtun-client-sighup.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: xinetd Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig -Requires(preun): /sbin/service -Requires(preun): systemd-units +Requires(preun): /sbin/service /sbin/chkconfig Requires(postun): /sbin/service -Requires(postun): systemd-units BuildRequires: zlib-devel lzo-devel openssl-devel bison flex %description @@ -30,6 +27,7 @@ require modification to any kernel parts. %prep %setup -q +%patch0 -p1 %build %configure @@ -38,7 +36,6 @@ require modification to any kernel parts. %install %{__rm} -rf %{buildroot} %{__install} -D -m 0755 -p %{SOURCE1} %{buildroot}/%{_initrddir}/vtund -%{__install} -D -m 0644 -p %{SOURCE2} %{buildroot}/lib/systemd/system/vtund.service %{__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" @@ -55,14 +52,11 @@ fi if [ $1 -eq 0 ]; then /sbin/service vtund stop >/dev/null 2>&1 || : /sbin/chkconfig --del vtund || : - /bin/systemctl disable vtund.service >/dev/null 2>&1 || : - /bin/systemctl stop vtund.service >/dev/null 2>&1 || : fi %postun if [ $1 -eq 1 ]; then /sbin/service vtund condrestart >/dev/null 2>&1 || : - /bin/systemctl try-restart vtund.service >/dev/null 2>&1 || : fi %files @@ -71,38 +65,20 @@ fi %config(noreplace) %{_sysconfdir}/vtund.conf %config(noreplace) %{_sysconfdir}/xinetd.d/vtun %{_initrddir}/vtund -/lib/systemd/system/vtund.service %{_sbindir}/vtund %dir %{_localstatedir}/log/vtund -%ghost %dir %{_localstatedir}/lock/vtund +%dir %{_localstatedir}/lock/vtund %{_mandir}/man5/vtund.conf.5* %{_mandir}/man8/vtun.8* %{_mandir}/man8/vtund.8* %changelog -* Thu Jan 06 2011 Gabriel Somlo 3.0.1-9 -- add support for systemd (#661331) - -* Tue Nov 30 2010 Gabriel Somlo 3.0.1-8 -- using %ghost on /var/lock/vtund directory (#656720) - -* Fri Aug 21 2009 Tomas Mraz - 3.0.1-7 -- rebuilt with new openssl - -* Sun Jul 26 2009 Fedora Release Engineering - 3.0.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Feb 25 2009 Fedora Release Engineering - 3.0.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sun Jan 18 2009 Tomas Mraz 3.0.1-4 -- rebuild with new openssl - +* Mon Mar 21 2016 Gabriel Somlo 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 3.0.1-3 - scriptlets fixes - * Fri Nov 14 2008 Gabriel Somlo 3.0.1-2 - spec file fixes: defattr, -p flag to install program - * Mon Oct 20 2008 Gabriel Somlo 3.0.1-1 - initial fedora package