Only read from TAP-Win32 if the device is enabled.
authorEtienne Dechamps <etienne@edechamps.fr>
Sat, 19 Jul 2014 15:05:23 +0000 (16:05 +0100)
committerEtienne Dechamps <etienne@edechamps.fr>
Sat, 19 Jul 2014 15:05:23 +0000 (16:05 +0100)
commit1d10afd3d33f5623494d9eeb2fa8237712f8aa2e
tree4f2399d583725867a56c0d250b1c6bfd027b5570
parentcc9203ee75c49360dd29710ac12bb67fe503f97b
Only read from TAP-Win32 if the device is enabled.

With newer TAP-Win32 versions (such as the experimental
tap-windows6 9.21.0), tinc is unable to read from the virtual network
device:

    Error while reading from (null) {23810A13-BCA9-44CE-94C6-9AEDFBF85736}: No such file or directory

This is because these new drivers apparently don't accept reads when
the device is not in the connected state (media status).

This commit fixes the issue by making sure we start reading no sooner
than when the device is enabled, and that we stop reading when the
device is disabled. This also makes the behavior somewhat cleaner,
because it doesn't make much sense to read from a disabled device
anyway.
src/mingw/device.c