mirror of https://github.com/OpenVPN/openvpn-gui
Ignore pushed --route-method when interactive service is in use
When using interactive service, route addition should use the
service. The user may not have privileges to set routes
otherwise. We already override any --route-method set in the
config file as openvpn.exe is started with --msg-channel as the
last option which sets route-method to ROUTE_METHOD_SERVICE.
This patch extends that to pushed --route-method
Also change _T("") to L"" in the edited lines to be explicit about
wide and narrow strings. We no longer support non-unicode builds.
No change when interactive service is not used.
Ref: issue #281
Signed-off-by: Selva Nair <selva.nair@gmail.com>
pull/289/head
parent
89509747f1
commit
4cb55f1e58
|
|
@ -1931,8 +1931,13 @@ StartOpenVPN(connection_t *c)
|
|||
|
||||
c->hProcess = NULL;
|
||||
c->manage.password[sizeof(c->manage.password) - 1] = '\n';
|
||||
_sntprintf_0(startup_info, _T("%s%c%s%c%.*S"), c->config_dir, _T('\0'),
|
||||
options, _T('\0'), sizeof(c->manage.password), c->manage.password);
|
||||
|
||||
/* Ignore pushed route-method when service is in use */
|
||||
const wchar_t *extra_options = L" --pull-filter ignore route-method";
|
||||
size += wcslen(extra_options);
|
||||
|
||||
_sntprintf_0(startup_info, L"%s%c%s%s%c%.*S", c->config_dir, L'\0',
|
||||
options, extra_options, L'\0', sizeof(c->manage.password), c->manage.password);
|
||||
c->manage.password[sizeof(c->manage.password) - 1] = '\0';
|
||||
|
||||
if (!WritePipe(c->iserv.pipe, startup_info, size * sizeof (TCHAR)))
|
||||
|
|
|
|||
Loading…
Reference in New Issue