diff options
Diffstat (limited to 'src/openvpn')
-rw-r--r-- | src/openvpn/openvpn.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c index d05acde..32e326e 100644 --- a/src/openvpn/openvpn.c +++ b/src/openvpn/openvpn.c @@ -229,8 +229,12 @@ openvpn_main (int argc, char *argv[]) if (do_test_crypto (&c.options)) break; - /* Query passwords before becoming a daemon */ - init_query_passwords (&c); + /* Query passwords before becoming a daemon if we don't use the + * management interface to get them. */ +#ifdef ENABLE_MANAGEMENT + if (!(c.options.management_flags & MF_QUERY_PASSWORDS)) +#endif + init_query_passwords (&c); /* become a daemon if --daemon */ if (c.first_time) @@ -243,6 +247,9 @@ openvpn_main (int argc, char *argv[]) /* open management subsystem */ if (!open_management (&c)) break; + /* query for passwords through management interface, if needed */ + if (c.options.management_flags & MF_QUERY_PASSWORDS) + init_query_passwords (&c); #endif /* set certain options as environmental variables */ |