[arch-commits] Commit in openvpn/trunk (2 files)
Christian Hesse
eworm at archlinux.org
Wed Dec 28 13:56:22 UTC 2016
Date: Wednesday, December 28, 2016 @ 13:56:21
Author: eworm
Revision: 284937
upgpkg: openvpn 2.4.0-2
fix timeout in non-TLS mode with systemd
Added:
openvpn/trunk/0003-fix-timeout-in-non-TLS-mode-with-systemd.patch
Modified:
openvpn/trunk/PKGBUILD
-----------------------------------------------------+
0003-fix-timeout-in-non-TLS-mode-with-systemd.patch | 59 ++++++++++++++++++
PKGBUILD | 11 ++-
2 files changed, 67 insertions(+), 3 deletions(-)
Added: 0003-fix-timeout-in-non-TLS-mode-with-systemd.patch
===================================================================
--- 0003-fix-timeout-in-non-TLS-mode-with-systemd.patch (rev 0)
+++ 0003-fix-timeout-in-non-TLS-mode-with-systemd.patch 2016-12-28 13:56:21 UTC (rev 284937)
@@ -0,0 +1,59 @@
+From 8fe76deb35364aa0d71b3e771b4a12491a037764 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail at eworm.de>
+Date: Wed, 28 Dec 2016 13:57:11 +0100
+Subject: [PATCH 1/1] fix timeout in non-TLS mode with systemd
+
+In non-TLS configuration we wait for the remote peer to connect
+before issuing "Initialization Sequence Completed". So prevent to
+time out by telling systemd service manager we are ready for now.
+Status will be "Non-TLS mode, ready for now. Waiting for peer..."
+and changes once the remote peer connects.
+
+This fixes #801 (static key tunnels impossible to start via systemd)
+
+Tested-by: Mantas Mikulėnas <grawity at gmail.com>
+Signed-off-by: Christian Hesse <mail at eworm.de>
+---
+ src/openvpn/openvpn.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c
+index 888acda..ae948f9 100644
+--- a/src/openvpn/openvpn.c
++++ b/src/openvpn/openvpn.c
+@@ -30,6 +30,10 @@
+
+ #include "syshead.h"
+
++#ifdef ENABLE_SYSTEMD
++#include <systemd/sd-daemon.h>
++#endif
++
+ #include "init.h"
+ #include "forward.h"
+ #include "multi.h"
+@@ -73,6 +77,21 @@ tunnel_point_to_point(struct context *c)
+ return;
+ }
+
++#ifdef ENABLE_SYSTEMD
++ /* In non-TLS configuration we wait for the remote peer to connect
++ * before issuing "Initialization Sequence Completed". So prevent to
++ * time out by telling systemd service manager we are ready for now.
++ * Status will be "Non-TLS mode, ready for now. Waiting for peer..."
++ * and changes once the remote peer connects. */
++ if (c->options.tls_client == false
++ && c->options.tls_server == false)
++ {
++ sd_notifyf(0, "READY=1\n"
++ "STATUS=Non-TLS mode, ready for now. Waiting for peer...\n"
++ "MAINPID=%lu", (unsigned long) getpid());
++ }
++#endif
++
+ /* main event loop */
+ while (true)
+ {
+--
+2.11.0
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-12-28 12:59:40 UTC (rev 284936)
+++ PKGBUILD 2016-12-28 13:56:21 UTC (rev 284937)
@@ -3,7 +3,7 @@
pkgname=openvpn
pkgver=2.4.0
-pkgrel=1
+pkgrel=2
pkgdesc='An easy-to-use, robust and highly configurable VPN (Virtual Private Network)'
arch=('i686' 'x86_64')
url='http://openvpn.net/index.php/open-source.html'
@@ -16,11 +16,13 @@
'7ACD56B74144925C6214329757DB9DAB613B8DA1') # David Sommerseth (OpenVPN Technologies, Inc) <davids at openvpn.net>
source=("https://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.xz"{,.asc}
'0001-plugin.patch'
- '0002-do-not-race-on-RuntimeDirectory.patch')
+ '0002-do-not-race-on-RuntimeDirectory.patch'
+ '0003-fix-timeout-in-non-TLS-mode-with-systemd.patch')
sha256sums=('6f23ba49a1dbeb658f49c7ae17d9ea979de6d92c7357de3d55cd4525e1b2f87e'
'SKIP'
'b8254067b4ef5d157d87267a76938d86f101972303c7ff20131cc9f28659a30c'
- 'a87b081f998db99190e8b9e185cd7aade5bd6dfb5c03777c82b75d28cd3b375c')
+ 'a87b081f998db99190e8b9e185cd7aade5bd6dfb5c03777c82b75d28cd3b375c'
+ '1b0ff78390dd5e79ce6966fd7fee54d42f6f3622cf8078d8b0f9998046e6b73b')
prepare() {
cd "${srcdir}"/${pkgname}-${pkgver}
@@ -31,6 +33,9 @@
# do not race on RuntimeDirectory
patch -Np1 < "${srcdir}"/0002-do-not-race-on-RuntimeDirectory.patch
+ # fix timeout in non-TLS mode with systemd
+ patch -Np1 < "${srcdir}"/0003-fix-timeout-in-non-TLS-mode-with-systemd.patch
+
# regenerate configure script
autoreconf -fi
}
More information about the arch-commits
mailing list