diff options
author | Bernhard Schmidt <berni@debian.org> | 2021-02-24 19:54:12 +0100 |
---|---|---|
committer | Bernhard Schmidt <berni@debian.org> | 2021-02-24 19:54:12 +0100 |
commit | 4ee98f284a93c3b855092d35ac21371d9dcad65b (patch) | |
tree | dc5a9759b8165b50d028db416367767b82f42f49 /src/openvpn/pf.c | |
parent | 0816f633cec4254ccfd98901252eefe84b0e2648 (diff) |
New upstream version 2.5.1upstream/2.5.1
Diffstat (limited to 'src/openvpn/pf.c')
-rw-r--r-- | src/openvpn/pf.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/openvpn/pf.c b/src/openvpn/pf.c index f9bbfb5..3f472ef 100644 --- a/src/openvpn/pf.c +++ b/src/openvpn/pf.c @@ -639,8 +639,17 @@ pf_init_context(struct context *c) } if (!c->c2.pf.enabled) { - msg(M_WARN, "WARNING: failed to init PF plugin, rejecting client."); - register_signal(c, SIGUSR1, "plugin-pf-init-failed"); + /* At some point in openvpn history, this code just printed a + * warning and signalled itself (SIGUSR1, "plugin-pf-init-failed") + * to terminate the client instance. This got broken at one of + * the client auth state refactorings (leading to SIGSEGV crashes) + * and due to "pf will be removed anyway" reasons the easiest way + * to prevent crashes is to REQUIRE that plugins succeed - so if + * the plugin fails, we cleanly abort OpenVPN + * + * see also: https://community.openvpn.net/openvpn/ticket/1377 + */ + msg(M_FATAL, "FATAL: failed to init PF plugin, must succeed."); return; } } |