1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-11-23 01:49:53 +03:00

Virtual Network Adapter (NDIS6) source code updates.

Fixed an issue that the VPN Client Virtual Network Driver fails to communicate when LTE or 3G wireless modems are used to connect to the internet by the computer running Windows 10 Spring Creators Update (version 1803). Please be careful that It is necessary to reinstall the device driver of the Virtual Network Adapter after upgrading the VPN client to build 9666 or later in order to solve the problem.
This commit is contained in:
Daiyuu Nobori 2018-04-22 17:58:03 +09:00
parent b1f74268b1
commit 20b5b107e6

View File

@ -119,6 +119,7 @@
static UINT64 max_speed = NEO_MAX_SPEED_DEFAULT; static UINT64 max_speed = NEO_MAX_SPEED_DEFAULT;
static bool keep_link = false; static bool keep_link = false;
static UINT reg_if_type = IF_TYPE_ETHERNET_CSMACD;
BOOLEAN BOOLEAN
PsGetVersion( PsGetVersion(
@ -350,8 +351,8 @@ NDIS_STATUS NeoNdisInitEx(NDIS_HANDLE MiniportAdapterHandle,
gen.AccessType = NET_IF_ACCESS_BROADCAST; gen.AccessType = NET_IF_ACCESS_BROADCAST;
gen.DirectionType = NET_IF_DIRECTION_SENDRECEIVE; gen.DirectionType = NET_IF_DIRECTION_SENDRECEIVE;
gen.ConnectionType = NET_IF_CONNECTION_DEDICATED; gen.ConnectionType = NET_IF_CONNECTION_DEDICATED;
gen.IfType = IF_TYPE_ETHERNET_CSMACD; gen.IfType = reg_if_type;
gen.IfConnectorPresent = TRUE; gen.IfConnectorPresent = FALSE;
gen.SupportedStatistics = gen.SupportedStatistics =
NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_RCV | NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_RCV |
NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_RCV | NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_RCV |
@ -897,6 +898,20 @@ BOOL NeoLoadRegistory()
keep_link = keep; keep_link = keep;
// Read the *IfType value
name = NewUnicode("*IfType");
NdisReadConfiguration(&ret, &param, config, GetUnicode(name), NdisParameterInteger);
FreeUnicode(name);
if (NG(ret) || param->ParameterType != NdisParameterInteger)
{
reg_if_type = IF_TYPE_ETHERNET_CSMACD;
}
else
{
reg_if_type = param->ParameterData.IntegerData;
}
// Close the config handle // Close the config handle
NdisCloseConfiguration(config); NdisCloseConfiguration(config);