summaryrefslogtreecommitdiffstats
path: root/init.c
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2010-11-29 23:57:44 +0100
committerDavid Sommerseth <davids@redhat.com>2011-03-25 09:38:48 +0100
commita0a547a70d6f8e5cc444fe6b07020d874cca1418 (patch)
treef5752c51d8a62c25f492763ae8fa7edee71db49d /init.c
parent7fc00d4cbe87206eea3ff5a8d12908c8c942f045 (diff)
downloadopenvpn-a0a547a70d6f8e5cc444fe6b07020d874cca1418.tar.gz
openvpn-a0a547a70d6f8e5cc444fe6b07020d874cca1418.tar.xz
openvpn-a0a547a70d6f8e5cc444fe6b07020d874cca1418.zip
Provide 'dev_type' environment variable to plug-ins and script hooks
Normally OpenVPN is configured with --dev {tun,tap}, but it is also possible to use --dev myvpn instead. In these situations, OpenVPN will request --dev-type as well to be able to set up a tun or tap device properly. The 'dev' environment variable will contain the value provided by --dev. In those cases where the plug-in/script need to behave differently when using a tun device versus using a tap device, there are no possibilities for it to know what kind of device --dev myvpn would be. This patch adds a 'dev_type' environment variable which contains a string of the device type, either automatically discovered based on the --dev name, or set using the --dev-type option. Signed-off-by: David Sommerseth <dazo@users.sourceforge.net> Acked-by: James Yonan <james@openvpn.net>
Diffstat (limited to 'init.c')
-rw-r--r--init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/init.c b/init.c
index a7c4b2b..61e04fa 100644
--- a/init.c
+++ b/init.c
@@ -1303,6 +1303,7 @@ do_open_tun (struct context *c)
c->plugins,
OPENVPN_PLUGIN_UP,
c->c1.tuntap->actual_name,
+ dev_type_string (c->options.dev, c->options.dev_type),
TUN_MTU_SIZE (&c->c2.frame),
EXPANDED_SIZE (&c->c2.frame),
print_in_addr_t (c->c1.tuntap->local, IA_EMPTY_IF_UNDEF, &gc),
@@ -1338,6 +1339,7 @@ do_open_tun (struct context *c)
c->plugins,
OPENVPN_PLUGIN_UP,
c->c1.tuntap->actual_name,
+ dev_type_string (c->options.dev, c->options.dev_type),
TUN_MTU_SIZE (&c->c2.frame),
EXPANDED_SIZE (&c->c2.frame),
print_in_addr_t (c->c1.tuntap->local, IA_EMPTY_IF_UNDEF, &gc),
@@ -1401,6 +1403,7 @@ do_close_tun (struct context *c, bool force)
c->plugins,
OPENVPN_PLUGIN_DOWN,
tuntap_actual,
+ NULL,
TUN_MTU_SIZE (&c->c2.frame),
EXPANDED_SIZE (&c->c2.frame),
print_in_addr_t (local, IA_EMPTY_IF_UNDEF, &gc),
@@ -1423,6 +1426,7 @@ do_close_tun (struct context *c, bool force)
c->plugins,
OPENVPN_PLUGIN_DOWN,
tuntap_actual,
+ NULL,
TUN_MTU_SIZE (&c->c2.frame),
EXPANDED_SIZE (&c->c2.frame),
print_in_addr_t (local, IA_EMPTY_IF_UNDEF, &gc),