The current way to get a version information is to open DCO device and make IOCTL call. This has a few issues:
If DCO device is already in use, an another app won't be to get the version, since the device is exclusive
With the multiple DCO devices there is a high chance that \.\ovpn-dco device, which we use to get version information, is already in use. To open another device, we use via device interface enumeration, which requires a lot of boilerplate code to work.
To make it easier for userspace to get the device version, create a non-exclusive control device \.\ovpn-dco-ver which supports single IOCTL to get the version number. This device is created when the first network device is created and removed with the last network device.
The current way to get a version information is to open DCO device and make IOCTL call. This has a few issues:
If DCO device is already in use, an another app won't be to get the version, since the device is exclusive
With the multiple DCO devices there is a high chance that \.\ovpn-dco device, which we use to get version information, is already in use. To open another device, we use via device interface enumeration, which requires a lot of boilerplate code to work.
To make it easier for userspace to get the device version, create a non-exclusive control device \.\ovpn-dco-ver which supports single IOCTL to get the version number. This device is created when the first network device is created and removed with the last network device.
Bump version to 1.3.0.
https://github.com/OpenVPN/ovpn-dco-win/issues/75