Log TAP-Windows driver version on startup.
authorEtienne Dechamps <etienne@edechamps.fr>
Sun, 15 Mar 2015 18:18:04 +0000 (18:18 +0000)
committerEtienne Dechamps <etienne@edechamps.fr>
Sun, 15 Mar 2015 18:36:37 +0000 (18:36 +0000)
This is generally useful. We've seen issues that are specific to some
version of these drivers (especially the newer 9.0.0.21 version), so
it's relevant to log it, especially since that means it will be
copy-pasted by people posting their logs asking for help.

src/mingw/device.c

index 19719a7a0b4fc808d4924b6a5cfc8b66c5308132..253b95d1b8ec8062cb0e6845651c624dc92018a2 100644 (file)
@@ -175,6 +175,17 @@ static bool setup_device(void) {
                return false;
        }
 
+       /* Get version information from tap device */
+
+       {
+               ULONG info[3] = {0};
+               DWORD len;
+               if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_VERSION, &info, sizeof info, &info, sizeof info, &len, NULL))
+                       logger(DEBUG_ALWAYS, LOG_WARNING, "Could not get version information from Windows tap device %s (%s): %s", device, iface, winerror(GetLastError()));
+               else
+                       logger(DEBUG_ALWAYS, LOG_INFO, "TAP-Windows driver version: %lu.%lu%s", info[0], info[1], info[2] ? " (DEBUG)" : "");
+       }
+
        /* Get MAC address from tap device */
 
        if(!DeviceIoControl(device_handle, TAP_IOCTL_GET_MAC, mymac.x, sizeof mymac.x, mymac.x, sizeof mymac.x, &len, 0)) {