summaryrefslogtreecommitdiffstats
path: root/src/openvpn/openvpn.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvpn/openvpn.c')
-rw-r--r--src/openvpn/openvpn.c11
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 */