From 3630a7a50099874d55bf8e212ad4a97d6e70966f Mon Sep 17 00:00:00 2001 From: Gert Doering Date: Thu, 16 Aug 2012 20:09:09 +0200 Subject: Keep pre-existing tun/tap devices around on *BSD This amends commit 62c613d46dc49 to check whether a named tun/tap device ("--dev tunX" instead of "--dev tun") exists before OpenVPN started - if yes, keep around at program end. If no, destroy. Also has a spelling fix, and changes clear_tuntap() to be "static" (only ever called from within tun.c). Tested on FreeBSD 7.4, FreeBSD 9.0, NetBSD 5.1, OpenBSD 4.9 Signed-off-by: Gert Doering Acked-by: Eric Crist Signed-off-by: David Sommerseth --- src/openvpn/tun.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/openvpn/tun.h') diff --git a/src/openvpn/tun.h b/src/openvpn/tun.h index 9bd990f..8622bf8 100644 --- a/src/openvpn/tun.h +++ b/src/openvpn/tun.h @@ -137,6 +137,8 @@ struct tuntap bool ipv6; + bool persistent_if; /* if existed before, keep on program end */ + struct tuntap_options options; /* options set on command line */ char *actual_name; /* actual name of TUN/TAP dev, usually including unit number */ @@ -201,7 +203,7 @@ tuntap_defined (const struct tuntap *tt) * Function prototypes */ -void clear_tuntap (struct tuntap *tuntap); +static void clear_tuntap (struct tuntap *tuntap); void open_tun (const char *dev, const char *dev_type, const char *dev_node, struct tuntap *tt); -- cgit