mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-09-20 20:03:13 +02:00
Make most registry values optional
Not all installations need registry values such as log_dir and config_dir especially if automatic service is not in use. This patch provides reasonable defaults for registry values. - Read the default value of HKLM\Software\PACKAGE_NAME to get the install path and construct defaults for exe_path, config_dir, log_dir from it. Use "ovpn", "0", NORMAL_PRIORITY as the defaults for config file extension, log-append flag and process priority. The only remaining required registry entry is the root key (usually HKLM\Software\OpenVPN) whose default value should be set to the installation path. Signed-off-by: Selva Nair <selva.nair@gmail.com> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <1511026858-23281-2-git-send-email-selva.nair@gmail.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg15892.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
b1263b06db
commit
db04bca672
@ -89,6 +89,8 @@ GetOpenvpnSettings(settings_t *s)
|
||||
TCHAR append[2];
|
||||
DWORD error;
|
||||
HKEY key;
|
||||
TCHAR install_path[MAX_PATH];
|
||||
TCHAR default_value[MAX_PATH];
|
||||
|
||||
openvpn_sntprintf(reg_path, _countof(reg_path), TEXT("SOFTWARE\\" PACKAGE_NAME "%s"), service_instance);
|
||||
|
||||
@ -99,37 +101,50 @@ GetOpenvpnSettings(settings_t *s)
|
||||
return MsgToEventLog(M_SYSERR, TEXT("Could not open Registry key HKLM\\%s not found"), reg_path);
|
||||
}
|
||||
|
||||
error = GetRegString(key, TEXT("exe_path"), s->exe_path, sizeof(s->exe_path), NULL);
|
||||
/* The default value of REG_KEY is the install path */
|
||||
if (GetRegString(key, NULL, install_path, sizeof(install_path), NULL) != ERROR_SUCCESS)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
openvpn_sntprintf(default_value, _countof(default_value), TEXT("%s\\bin\\openvpn.exe"),
|
||||
install_path);
|
||||
error = GetRegString(key, TEXT("exe_path"), s->exe_path, sizeof(s->exe_path), default_value);
|
||||
if (error != ERROR_SUCCESS)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
error = GetRegString(key, TEXT("config_dir"), s->config_dir, sizeof(s->config_dir), NULL);
|
||||
openvpn_sntprintf(default_value, _countof(default_value), TEXT("%s\\config"), install_path);
|
||||
error = GetRegString(key, TEXT("config_dir"), s->config_dir, sizeof(s->config_dir),
|
||||
default_value);
|
||||
if (error != ERROR_SUCCESS)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
error = GetRegString(key, TEXT("config_ext"), s->ext_string, sizeof(s->ext_string), NULL);
|
||||
error = GetRegString(key, TEXT("config_ext"), s->ext_string, sizeof(s->ext_string),
|
||||
TEXT(".ovpn"));
|
||||
if (error != ERROR_SUCCESS)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
error = GetRegString(key, TEXT("log_dir"), s->log_dir, sizeof(s->log_dir), NULL);
|
||||
openvpn_sntprintf(default_value, _countof(default_value), TEXT("%s\\log"), install_path);
|
||||
error = GetRegString(key, TEXT("log_dir"), s->log_dir, sizeof(s->log_dir), default_value);
|
||||
if (error != ERROR_SUCCESS)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
error = GetRegString(key, TEXT("priority"), priority, sizeof(priority), NULL);
|
||||
error = GetRegString(key, TEXT("priority"), priority, sizeof(priority),
|
||||
TEXT("NORMAL_PRIORITY_CLASS"));
|
||||
if (error != ERROR_SUCCESS)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
error = GetRegString(key, TEXT("log_append"), append, sizeof(append), NULL);
|
||||
error = GetRegString(key, TEXT("log_append"), append, sizeof(append), TEXT("0"));
|
||||
if (error != ERROR_SUCCESS)
|
||||
{
|
||||
goto out;
|
||||
|
Loading…
Reference in New Issue
Block a user