mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-05-28 04:03:29 -04:00
tun.c: enable using wintun driver under SYSTEM
Commit 6d19775a46 has removed SYSTEM elevation hack,
but introduced regression - inability to use wintun without
interactive service.
Proceed with ring buffers registration even if iservice is unavailable
and display relevant error message.
Trac: #1318
Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Selva Nair <selva.nair@gmail.com>
Message-Id: <20200819070746.197-1-lstipakov@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg20780.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
2da29362cc
commit
ed47c097db
1 changed files with 25 additions and 5 deletions
|
|
@ -6158,12 +6158,32 @@ wintun_register_ring_buffer(struct tuntap *tt, const char *device_guid)
|
|||
}
|
||||
else
|
||||
{
|
||||
msg(M_FATAL, "ERROR: Wintun requires SYSTEM privileges and therefore "
|
||||
"should be used with interactive service. If you want to "
|
||||
"use openvpn from command line, you need to do SYSTEM "
|
||||
"elevation yourself (for example with psexec).");
|
||||
}
|
||||
if (!register_ring_buffers(tt->hand,
|
||||
tt->wintun_send_ring,
|
||||
tt->wintun_receive_ring,
|
||||
tt->rw_handle.read,
|
||||
tt->rw_handle.write))
|
||||
{
|
||||
switch (GetLastError())
|
||||
{
|
||||
case ERROR_ACCESS_DENIED:
|
||||
msg(M_FATAL, "ERROR: Wintun requires SYSTEM privileges and therefore "
|
||||
"should be used with interactive service. If you want to "
|
||||
"use openvpn from command line, you need to do SYSTEM "
|
||||
"elevation yourself (for example with psexec).");
|
||||
break;
|
||||
|
||||
case ERROR_ALREADY_INITIALIZED:
|
||||
msg(M_NONFATAL, "Adapter %s is already in use", device_guid);
|
||||
break;
|
||||
|
||||
default:
|
||||
msg(M_NONFATAL | M_ERRNO, "Failed to register ring buffers");
|
||||
}
|
||||
ret = false;
|
||||
}
|
||||
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue