- Set default config directory (config_dir) to %UserProfile%\OpenVPN\config
(saved and read back from HKCU\Software\OpenVPN-GUI\config_dir)
- Add a global_config_dir variable read from HKLM\Software\OpenVPN\config_dir
or set to OpenVPN-install-path\config
- Scan both directories and their sub directories for connection profiles.
In case of name conflicts config_dir gets priority over global_config_dir
- Eliminate multiple warnings of duplicate configs
Fixed on review (Thanks to leobasilio@gmail.com)
- Fix wrongly used o.config_dir in 2 locations
- Unrelated: Added missing CheckIServiceStatus to service.h
Signed-off-by: Selva Nair <selva.nair@gmail.com>
This reverts commit 2af8636896.
Requiring "highestAvalable" privilege is no longer required,
nor advisable, as the same functionality is provided using
the interactive service with the GUI running with limited rights.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
- Handle early errors (openvpn exits before management connection is up)
with a helpful error message that points the user to view log.
- Include only readable config files in the connection list
- Warn if no connection profiles found
TODO: handle startup errors from interactive service
This is needed to avoid early messages going to stdout leaving no
trace of errors when openvpn exits before management interface is up.
It also ensures that any --log directives in the config do not override
the log file location.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
Change the default log file location to OpenVPN/log in user's profile directory
to support running without admin privileges using the interactive service.
The registry keys are moved to HKCU from HKLM to allow for user-specific
settings as well as to avoid the need for running the GUI as admin at the
first instance.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
Connecting to a named pipe server while running with admin rights is not
secure in some windows versions. As the interactive service is not required
to set routes while running as admin, this looks like a safe compromise.
Fix based on feedback from Heiko Hund
- Move IsUserAdmin() check before opening the service pipe
Signed-off-by: Selva Nair <selva.nair@gmail.com>
[openvpn_config.c:194]: (style) The function 'ConfigFileOptionExist' is never used.
[localization.c:299]: (style) The function 'LocalizedDialogBox' is never used.
[main.c:549]: (style) The function 'PrintErrorDebug' is never used.
[main.c:583]: (style) The function 'init_security_attributes_allow_all' is never used.
[misc.c:180]: (style) The function 'wcseq' is never used.
Request the highest privilege of the invoking user. When started by a
user with admin rights, a UAC prompt may pop up requesting consent.
The current behaviour is preserved for users with limited privileges.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
The first line of the page is too long for the current width, so it
spills onto the second line, shifting the rest of the text downwards.
As a result, the line with the URL is shifted out of the label's bounds
and is no longer visible.
Openvpn no longer terminates but restarts on suspend. This conflicts with
the stop/restart logic in the gui during windows power state change events.
This patch changes the default behaviour so that SIGTERM is not triggered
during windows suspend.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
It seems that openvpn-gui.exe loads libeay32.dll when it launches. This prevents
the OpenVPN installer from overwriting that library when it needs to, in the
"Dependencies" section. There are various workarounds, none of which are
particularly pretty, so for now the restart functionality is simply removed.
Signed-off-by: Samuli Seppänen <samuli.seppanen@gmail.com>