Message ID | 20200205175556.1877-1-simon@rozman.si |
---|---|
State | Accepted |
Headers | show |
Series | [Openvpn-devel] tun.c: refactor driver detection and make it case-insensitive | expand |
Hi,
Indeed, looks much easier to read.
Compiled, tested.
Acked-by: Lev Stipakov <lstipakov@gmail.com>
<div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>Indeed, looks much easier to read.</div><div><br></div><div>Compiled, tested.</div><div><br></div><div>Acked-by: Lev Stipakov <<a href="mailto:lstipakov@gmail.com">lstipakov@gmail.com</a>></div></div></div>
Your patch has been applied to the master branch. And, indeed, thanks for that :-) - I do remember complaining about the old code - technically correct but very hard to read. The new code is much easier to read (and should do the same, except for the case insensitivity). Test compiled on Ubuntu 16.04 / MinGW. commit 0b8714f627b2d740be7f8ff6f42cd276030e6d67 Author: Simon Rozman Date: Wed Feb 5 18:55:56 2020 +0100 tun.c: refactor driver detection and make it case-insensitive Signed-off-by: Simon Rozman <simon@rozman.si> Acked-by: Lev Stipakov <lstipakov@gmail.com> Message-Id: <20200205175556.1877-1-simon@rozman.si> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg19365.html Signed-off-by: Gert Doering <gert@greenie.muc.de> -- kind regards, Gert Doering
diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index af09e676..070b0fa0 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -3692,11 +3692,19 @@ get_tap_reg(struct gc_arena *gc) if (status == ERROR_SUCCESS && data_type == REG_SZ) { + /* Is this adapter supported? */ enum windows_driver_type windows_driver = WINDOWS_DRIVER_UNSPECIFIED; + if (strcasecmp(component_id, TAP_WIN_COMPONENT_ID) == 0 || + strcasecmp(component_id, "root\\" TAP_WIN_COMPONENT_ID) == 0) + { + windows_driver = WINDOWS_DRIVER_TAP_WINDOWS6; + } + else if (strcasecmp(component_id, WINTUN_COMPONENT_ID) == 0) + { + windows_driver = WINDOWS_DRIVER_WINTUN; + } - if ((windows_driver = WINDOWS_DRIVER_TAP_WINDOWS6, !strcmp(component_id, TAP_WIN_COMPONENT_ID)) - || (windows_driver = WINDOWS_DRIVER_TAP_WINDOWS6, !strcmp(component_id, "root\\" TAP_WIN_COMPONENT_ID)) - || (windows_driver = WINDOWS_DRIVER_WINTUN, !strcmp(component_id, WINTUN_COMPONENT_ID))) + if (windows_driver != WINDOWS_DRIVER_UNSPECIFIED) { struct tap_reg *reg; ALLOC_OBJ_CLEAR_GC(reg, struct tap_reg, gc);
Hardware IDs are case insensitive on Windows. Furthermore the driver detection logic has been made more explicit and easier to read. Signed-off-by: Simon Rozman <simon@rozman.si> --- src/openvpn/tun.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)