D
defaultshr
Guest
I work on developing application based on UWP VPN framework.
We noticed the UWP VPN framework is broken after upgrade to OS version 2004, build 19041.329 in following aspect.
This is related to DNS Assignment input given to VPN API in earlier OS versions as follows.
VpnDomainNameAssignment dnsAssignment = null;
If dnsAssignment is supplied as NULL to StartWithMainTransport API below in case of SPLIT tunnel, results in StartWithMainTransport API to *hang* in OS version 2004. However, this works perfectly fine on OS version 1909.
channel.StartWithMainTransport(localV4Addrs, localV6Addrs, null, routeScope, dnsAssignment, mtuSize, maxFrameSize, false, this.dSock);
In the "Event Viewer" also, under "Vpn Plugin Platform" -> Operational events, we notice the *Vpn State Machine* Status remains as "Negotiating Network" and does not change to "Connected" in OS version 2004. Where as the previous OS version, it immediately changes to "Connected".
As a fix, we tried changing the code to just pass an empty object like below to StartWithMainTransport API, which seems to make it work.
VpnDomainNameAssignment dnsAssignment = new VpnDomainNameAssignment();
We request your immediate attention & resolution on this issue as this may potentially affect many users having VPN clients based on UWP VPN Plugin platform who may supplying DNS assignment as null when it is not required which used to work in earlier OS versions. We may appreciate delivering a patch, which treats NULL same as empty object.
Kindly note the apps which are already in field which supplied null as argument, broke when their OS got updated to version 2004. Basically, with OS version 2004, forward compatibility of the above API is not kept.
thank you,
Continue reading...
We noticed the UWP VPN framework is broken after upgrade to OS version 2004, build 19041.329 in following aspect.
This is related to DNS Assignment input given to VPN API in earlier OS versions as follows.
VpnDomainNameAssignment dnsAssignment = null;
If dnsAssignment is supplied as NULL to StartWithMainTransport API below in case of SPLIT tunnel, results in StartWithMainTransport API to *hang* in OS version 2004. However, this works perfectly fine on OS version 1909.
channel.StartWithMainTransport(localV4Addrs, localV6Addrs, null, routeScope, dnsAssignment, mtuSize, maxFrameSize, false, this.dSock);
In the "Event Viewer" also, under "Vpn Plugin Platform" -> Operational events, we notice the *Vpn State Machine* Status remains as "Negotiating Network" and does not change to "Connected" in OS version 2004. Where as the previous OS version, it immediately changes to "Connected".
As a fix, we tried changing the code to just pass an empty object like below to StartWithMainTransport API, which seems to make it work.
VpnDomainNameAssignment dnsAssignment = new VpnDomainNameAssignment();
We request your immediate attention & resolution on this issue as this may potentially affect many users having VPN clients based on UWP VPN Plugin platform who may supplying DNS assignment as null when it is not required which used to work in earlier OS versions. We may appreciate delivering a patch, which treats NULL same as empty object.
Kindly note the apps which are already in field which supplied null as argument, broke when their OS got updated to version 2004. Basically, with OS version 2004, forward compatibility of the above API is not kept.
thank you,
Continue reading...