diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f9c375d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +vtun-3.0.1.tar.gz +/vtun-3.0.1.tar.gz +/vtun-3.0.3.tar.gz diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/sources b/sources new file mode 100644 index 0000000..d62f2f2 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +f3becf2a0270910a841060c08d1db824 vtun-3.0.3.tar.gz diff --git a/vtun-client-sighup.patch b/vtun-client-sighup.patch new file mode 100644 index 0000000..c67bc91 --- /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 2012-07-08 01:32:57.000000000 -0400 ++++ b/client.c 2016-03-21 17:17:34.111775616 -0400 +@@ -131,10 +131,11 @@ + + if( connect_t(s,(struct sockaddr *) &svr_addr, host->timeout) ){ + if (!vtun.quiet || errno != ETIMEDOUT) + 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; +@@ -143,10 +144,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-nostrip.patch b/vtun-nostrip.patch new file mode 100644 index 0000000..fb4aa65 --- /dev/null +++ b/vtun-nostrip.patch @@ -0,0 +1,10 @@ +diff -up vtun-3.0.3/Makefile.in~ vtun-3.0.3/Makefile.in +--- vtun-3.0.3/Makefile.in~ 2012-07-09 07:55:38.000000000 +0300 ++++ vtun-3.0.3/Makefile.in 2012-09-16 16:12:41.176283091 +0300 +@@ -99,6 +99,5 @@ install: vtund install_config install_ma + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR) + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR) + $(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR) +- $(BIN_DIR)/strip $(DESTDIR)$(SBIN_DIR)/vtund + + # DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/vtun.service b/vtun.service new file mode 100644 index 0000000..d26d83c --- /dev/null +++ b/vtun.service @@ -0,0 +1,12 @@ +[Unit] +Description=Virtual Tunnels over TCP/IP networks +After=syslog.target network.target + +[Service] +EnvironmentFile=/etc/sysconfig/vtun +ExecStart=/usr/sbin/vtund -n $OPTIONS +ExecReload=/usr/bin/kill -HUP $MAINPID +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/vtun.socket b/vtun.socket new file mode 100644 index 0000000..07f9d3d --- /dev/null +++ b/vtun.socket @@ -0,0 +1,8 @@ +[Unit] +Description=Vtun Activation Socket + +[Socket] +ListenStream=5000 + +[Install] +WantedBy=sockets.target diff --git a/vtun.spec b/vtun.spec new file mode 100644 index 0000000..cbda083 --- /dev/null +++ b/vtun.spec @@ -0,0 +1,167 @@ +Name: vtun +Version: 3.0.3 +Release: 15%{?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: vtun.socket +Source2: vtun.service +Source3: vtun.sysconfig +Patch0: vtun-nostrip.patch +Patch1: vtun-client-sighup.patch + +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +BuildRequires: zlib-devel lzo-devel openssl-devel bison flex systemd-units autoconf + +#enable PIE/PIC: +%global _hardened_build 1 + +%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 +%patch1 -p1 + +%build +%{__autoconf} +# FIXME: Package suffers from c11/inline issues. +# Workaround by appending --std=gnu89 to CFLAGS +# Proper fix would be to fix the source-code +%configure CFLAGS="${RPM_OPT_FLAGS} --std=gnu89" +make %{?_smp_mflags} + +%install +install -D -m 0644 -p %{SOURCE1} %{buildroot}/%{_unitdir}/vtun.socket +install -D -m 0644 -p %{SOURCE2} %{buildroot}/%{_unitdir}/vtun.service +install -D -m 0644 -p %{SOURCE3} %{buildroot}/%{_sysconfdir}/sysconfig/vtun +make install DESTDIR=%{buildroot} INSTALL_OWNER= INSTALL="/usr/bin/install -p" + +%post +%systemd_post vtun.service vtun.socket + +%preun +%systemd_preun vtun.service vtun.socket + +%postun +%systemd_postun vtun.service vtun.socket + +%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}/sysconfig/vtun +%{_unitdir}/vtun.socket +%{_unitdir}/vtun.service +%{_sbindir}/vtund +%dir %{_localstatedir}/log/vtund +%ghost %dir %{_localstatedir}/lock/vtund +%{_mandir}/man5/vtund.conf.5* +%{_mandir}/man8/vtun.8* +%{_mandir}/man8/vtund.8* + +%changelog +* Mon Mar 21 2016 Gabriel Somlo 3.0.3-15 +- patch to fix #1319858,#1319859,#1319861 + +* Fri Feb 05 2016 Fedora Release Engineering - 3.0.3-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jun 22 2015 Ralf Corsépius - 3.0.3-13 +- Append --stdc=gnu89 to CFLAGS (Work-around to c11/inline compatibility + issues. Fix FTBFS). + +* Fri Jun 19 2015 Fedora Release Engineering - 3.0.3-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Dec 23 2014 Gabriel Somlo 3.0.3-11 +- enhanced service file (remove "KillMode", use default "cgroup" mode) + +* Thu Nov 20 2014 Gabriel Somlo 3.0.3-10 +- enhanced service file (-n to prevent daemonizing vtund) + +* Fri Nov 14 2014 Gabriel Somlo 3.0.3-9 +- added /etc/sysconfig/vtun environment file +- updated unit files + +* Mon Aug 18 2014 Fedora Release Engineering - 3.0.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 3.0.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 3.0.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon May 13 2013 Gabriel Somlo 3.0.3-5 +- added autoconf step to support aarch64 (#926708) + +* Wed May 01 2013 Gabriel Somlo 3.0.3-4 +- rebuild with PIE (#955286) + +* Fri Feb 15 2013 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Sep 16 2012 Gabriel Somlo 3.0.3-2 +- avoid stripping too early to preserve debuginfo (#857716) + +* Thu Sep 13 2012 Gabriel Somlo 3.0.3-1 +- update to 3.0.3 +- new systemd-rpm macros (#850362) + +* Sun Jul 22 2012 Fedora Release Engineering - 3.0.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon May 21 2012 Peter Robinson - 3.0.1-14 +- Fix unit file location, cleanup and modernise spec + +* Sat Jan 14 2012 Fedora Release Engineering - 3.0.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sat Sep 10 2011 Gabriel Somlo 3.0.1-12 +- removed xinetd and sysvinit support + +* Sat Sep 10 2011 Gabriel Somlo 3.0.1-11 +- update support for systemd (#737195) + +* Mon Feb 07 2011 Fedora Release Engineering - 3.0.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* 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/vtun.sysconfig b/vtun.sysconfig new file mode 100644 index 0000000..467bd8b --- /dev/null +++ b/vtun.sysconfig @@ -0,0 +1,16 @@ +# Comment out one of the following for client or server mode +# +# To run vtun as a server: +# +#OPTIONS='-s' +# +# +# +#To run vtun as a client, we need: +# +# - session name, e.g. "lion"; must be present in both client and server +# config files. +# +# - server address or host name. +# +#OPTIONS='lion vtun-server.example.com'