SuAdapterInfoToAdapterList()関数内で、
info->FriendlyName[0]がNULL文字の為、IsEmptyStr(info->FriendlyName)で参照され、チェックがTRUEとなり、
エラーとして処理され、VPN SERVER管理のLocal Bridge Settings画面のlAN Adapter一覧リストに表示されません。
FriendlyNameはどこで定義されているのでしょうか?
ドライバーSeLow.c?であれば、どこで行っているのですか?
それとも他の場所?
ドライバー SeLow_x64.sys は Softether Lightweight Network ProtocolでソースコードはSeLow.cとの理解です。
以上よろしくお願いします。
NULLチェック関数:
・FILE:Cedar\SeLowUser.c
Code: Select all
// Create an adapters list
LIST *SuGetAdapterList(SU *u)
{
LIST *ret;
UINT read_size;
UINT i;
// Validate arguments
if (u == NULL)
{
return NULL;
}
ret = NewList(SuCmpAdapterList);
// Enumerate adapters
Zero(&u->AdapterInfoList, sizeof(u->AdapterInfoList));
if (ReadFile(u->hFile, &u->AdapterInfoList, sizeof(u->AdapterInfoList),
&read_size, NULL) == false ||
u->AdapterInfoList.Signature != SL_SIGNATURE)
{
SuFreeAdapterList(ret);
return NULL;
}
for (i = 0;i < u->AdapterInfoList.NumAdapters;i++)
{
SL_ADAPTER_INFO *info = &u->AdapterInfoList.Adapters[i];
SU_ADAPTER_LIST *a = SuAdapterInfoToAdapterList(info); <-----SuAdapterInfoToAdapterList()内でIsEmptyStr(info->FriendlyName)チェック
if (a != NULL)
{
Add(ret, a);
}
}
// Sort
Sort(ret);
return ret;
}
// Create an adapter list item
SU_ADAPTER_LIST *SuAdapterInfoToAdapterList(SL_ADAPTER_INFO *info)
{
SU_ADAPTER_LIST t;
char tmp[MAX_SIZE];
// Validate arguments
if (info == NULL)
{
return NULL;
}
Zero(&t, sizeof(t));
Copy(&t.Info, info, sizeof(SL_ADAPTER_INFO));
UniToStr(tmp, sizeof(tmp), info->AdapterId);
if (IsEmptyStr(tmp) || IsEmptyStr(info->FriendlyName) || StartWith(tmp, SL_ADAPTER_ID_PREFIX) == false) <----IsEmptyStr(info->FriendlyName)
{
// Name is invalid
return NULL;
}
// GUID (Part after "SELOW_A_" prefix)
StrCpy(t.Guid, sizeof(t.Guid), tmp + StrLen(SL_ADAPTER_ID_PREFIX));
// Name
StrCpy(t.Name, sizeof(t.Name), tmp);
// Key for sort
if (GetClassRegKeyWin32(t.SortKey, sizeof(t.SortKey), tmp, sizeof(tmp), t.Guid) == false)
{
// Can not be found
return NULL;
}
return Clone(&t, sizeof(t));
}
使用OS:
・WIN11 PRO (WIN11未対応PCのWIN10をWIN11に自己責任でUPDATEした)
使用VPN:
・SOFTETHER VPN DEVELOPER EDITION VERSION 5.02
使用NIC:
・ANKER
・USB3.0 TO GIGABIT ETHERNET ADAPTER
・MODEL A7611