Changeset 60639 in vbox for trunk/src/VBox/HostDrivers/VBoxNetFlt/win
- Timestamp:
- Apr 22, 2016 7:37:54 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 106799
- Location:
- trunk/src/VBox/HostDrivers/VBoxNetFlt/win
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/cfg/VBoxNetCfg.cpp
r60638 r60639 3500 3500 rc = vboxLoadIpHelpFunctions(hModule); 3501 3501 3502 if (SUCCEEDED(rc))3502 if (SUCCEEDED(rc)) 3503 3503 rc = vboxNetCfgWinGetInterfaceLUID(hKey, &luid); 3504 3504 3505 if (SUCCEEDED(rc))3505 if (SUCCEEDED(rc)) 3506 3506 rc = vboxNetCfgWinGetLoopbackMetric(&loopbackMetric); 3507 3507 3508 if (SUCCEEDED(rc))3508 if (SUCCEEDED(rc)) 3509 3509 rc = vboxNetCfgWinSetInterfaceMetric(&luid, loopbackMetric - 1); 3510 3510 -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/drv/VBoxNetFltRt-win.h
r56293 r60639 81 81 { 82 82 PLIST_ENTRY pListEntry = RemoveHeadList(pQueue); 83 if (pListEntry != pQueue)83 if (pListEntry != pQueue) 84 84 { 85 85 PVBOXNETFLT_PACKET_INFO pInfo = LIST_ENTRY_2_PACKET_INFO(pListEntry); … … 93 93 { 94 94 PLIST_ENTRY pListEntry = RemoveTailList(pQueue); 95 if (pListEntry != pQueue)95 if (pListEntry != pQueue) 96 96 { 97 97 PVBOXNETFLT_PACKET_INFO pInfo = LIST_ENTRY_2_PACKET_INFO(pListEntry); … … 192 192 PSINGLE_LIST_ENTRY pCur; 193 193 PSINGLE_LIST_ENTRY pPrev; 194 for (pCur = pHead->Next, pPrev = pHead; pCur; pPrev = pCur, pCur = pCur->Next)195 { 196 if (pEntry2Search == pCur)194 for (pCur = pHead->Next, pPrev = pHead; pCur; pPrev = pCur, pCur = pCur->Next) 195 { 196 if (pEntry2Search == pCur) 197 197 { 198 if (bRemove)198 if (bRemove) 199 199 { 200 200 pPrev->Next = pCur->Next; 201 if (pCur == pList->pTail)201 if (pCur == pList->pTail) 202 202 { 203 203 pList->pTail = pPrev; … … 218 218 PSINGLE_LIST_ENTRY pPrev; 219 219 PNDIS_PACKET pCurPacket; 220 for (pCur = pHead->Next, pPrev = pHead; pCur; pPrev = pCur, pCur = pCur->Next)220 for (pCur = pHead->Next, pPrev = pHead; pCur; pPrev = pCur, pCur = pCur->Next) 221 221 { 222 222 pCurPacket = VBOX_SLE_2_SENDPACKET(pCur); 223 if (pCurPacket == pPacket2Search || vboxNetFltWinMatchPackets(pPacket2Search, pCurPacket, cbMatch))223 if (pCurPacket == pPacket2Search || vboxNetFltWinMatchPackets(pPacket2Search, pCurPacket, cbMatch)) 224 224 { 225 if (bRemove)225 if (bRemove) 226 226 { 227 227 pPrev->Next = pCur->Next; 228 if (pCur == pList->pTail)228 if (pCur == pList->pTail) 229 229 { 230 230 pList->pTail = pPrev; … … 243 243 PSINGLE_LIST_ENTRY pPrev; 244 244 PNDIS_PACKET pCurPacket; 245 for (pCur = pHead->Next, pPrev = pHead; pCur; pPrev = pCur, pCur = pCur->Next)245 for (pCur = pHead->Next, pPrev = pHead; pCur; pPrev = pCur, pCur = pCur->Next) 246 246 { 247 247 pCurPacket = VBOX_SLE_2_SENDPACKET(pCur); 248 if (vboxNetFltWinMatchPacketAndSG(pCurPacket, pSG, cbMatch))248 if (vboxNetFltWinMatchPacketAndSG(pCurPacket, pSG, cbMatch)) 249 249 { 250 if (bRemove)250 if (bRemove) 251 251 { 252 252 pPrev->Next = pCur->Next; 253 if (pCur == pList->pTail)253 if (pCur == pList->pTail) 254 254 { 255 255 pList->pTail = pPrev; … … 280 280 pEntry->Next = pList->Head.Next; 281 281 pList->Head.Next = pEntry; 282 if (!pEntry->Next)282 if (!pEntry->Next) 283 283 pList->pTail = pEntry; 284 284 } … … 287 287 { 288 288 PSINGLE_LIST_ENTRY pEntry = pList->Head.Next; 289 if (pEntry && pEntry == pList->pTail)289 if (pEntry && pEntry == pList->pTail) 290 290 { 291 291 pList->Head.Next = NULL; … … 589 589 RTSpinlockAcquire((pNetFlt)->hSpinlock); 590 590 #ifndef VBOXNETADP 591 if (!vboxNetFltWinDoReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState))592 #else 593 if (!vboxNetFltWinDoReferenceDevice(&pNetFlt->u.s.WinIf.MpState))591 if (!vboxNetFltWinDoReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState)) 592 #else 593 if (!vboxNetFltWinDoReferenceDevice(&pNetFlt->u.s.WinIf.MpState)) 594 594 #endif 595 595 { … … 599 599 } 600 600 601 if (pNetFlt->enmTrunkState != INTNETTRUNKIFSTATE_ACTIVE)601 if (pNetFlt->enmTrunkState != INTNETTRUNKIFSTATE_ACTIVE) 602 602 { 603 603 vboxNetFltWinReferenceModePassThru(pNetFlt); … … 620 620 621 621 Assert(v); 622 if (!v)622 if (!v) 623 623 { 624 624 *pbNetFltActive = false; … … 628 628 RTSpinlockAcquire((pNetFlt)->hSpinlock); 629 629 #ifndef VBOXNETADP 630 if (!vboxNetFltWinDoIncReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState, v))631 #else 632 if (!vboxNetFltWinDoIncReferenceDevice(&pNetFlt->u.s.WinIf.MpState, v))630 if (!vboxNetFltWinDoIncReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState, v)) 631 #else 632 if (!vboxNetFltWinDoIncReferenceDevice(&pNetFlt->u.s.WinIf.MpState, v)) 633 633 #endif 634 634 { … … 638 638 } 639 639 640 if (pNetFlt->enmTrunkState != INTNETTRUNKIFSTATE_ACTIVE)640 if (pNetFlt->enmTrunkState != INTNETTRUNKIFSTATE_ACTIVE) 641 641 { 642 642 vboxNetFltWinIncReferenceModePassThru(pNetFlt, v); … … 654 654 655 655 /* we have marked it as busy, so can do the res references outside the lock */ 656 for (i = 0; i < v-1; i++)656 for (i = 0; i < v-1; i++) 657 657 { 658 658 vboxNetFltRetain(pNetFlt, true /* fBusy */); … … 667 667 { 668 668 uint32_t i; 669 for (i = 0; i < n; i++)669 for (i = 0; i < n; i++) 670 670 { 671 671 vboxNetFltRelease(pNetFlt, true); … … 703 703 { 704 704 Assert(v); 705 if (!v)705 if (!v) 706 706 { 707 707 return false; … … 710 710 RTSpinlockAcquire(pNetFlt->hSpinlock); 711 711 #ifdef VBOXNETADP 712 if (vboxNetFltWinDoIncReferenceDevice(&pNetFlt->u.s.WinIf.MpState, v))713 #else 714 if (vboxNetFltWinDoIncReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState, v))712 if (vboxNetFltWinDoIncReferenceDevice(&pNetFlt->u.s.WinIf.MpState, v)) 713 #else 714 if (vboxNetFltWinDoIncReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState, v)) 715 715 #endif 716 716 { … … 727 727 RTSpinlockAcquire(pNetFlt->hSpinlock); 728 728 #ifdef VBOXNETADP 729 if (vboxNetFltWinDoReferenceDevice(&pNetFlt->u.s.WinIf.MpState))730 #else 731 if (vboxNetFltWinDoReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState))729 if (vboxNetFltWinDoReferenceDevice(&pNetFlt->u.s.WinIf.MpState)) 730 #else 731 if (vboxNetFltWinDoReferenceDevices(&pNetFlt->u.s.WinIf.MpState, &pNetFlt->u.s.WinIf.PtState)) 732 732 #endif 733 733 { -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/tools/VBoxNetAdpInstall.cpp
r57192 r60639 55 55 LPWSTR lpszLockedBy = NULL; 56 56 hr = VBoxNetCfgWinQueryINetCfg(&pnc, TRUE, VBOX_NETADP_APP_NAME, 10000, &lpszLockedBy); 57 if (hr == S_OK)57 if (hr == S_OK) 58 58 { 59 59 60 60 hr = VBoxNetCfgWinNetAdpInstall(pnc, MpInf); 61 61 62 if (hr == S_OK)62 if (hr == S_OK) 63 63 { 64 64 wprintf(L"installed successfully\n"); -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/tools/VBoxNetAdpUninstall.cpp
r56293 r60639 41 41 42 42 HRESULT hr = CoInitialize(NULL); 43 if (hr == S_OK)43 if (hr == S_OK) 44 44 { 45 45 hr = VBoxNetCfgWinRemoveAllNetDevicesOfId(VBOX_NETADP_HWID); 46 if (hr == S_OK)46 if (hr == S_OK) 47 47 { 48 48 hr = VBoxDrvCfgInfUninstallAllSetupDi(&GUID_DEVCLASS_NET, L"Net", VBOX_NETADP_HWID, 0/* could be SUOI_FORCEDELETE */); 49 if (hr == S_OK)49 if (hr == S_OK) 50 50 { 51 51 printf("uninstalled successfully\n"); -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/tools/VBoxNetFltInstall.cpp
r56293 r60639 42 42 LPWSTR pwszFilePart; 43 43 DWORD dwSize = GetFullPathNameW(pwszName, (DWORD)cchFull, pwszFull, &pwszFilePart); 44 if (dwSize <= 0)44 if (dwSize <= 0) 45 45 return dwSize; 46 46 … … 50 50 WCHAR wsz[512]; 51 51 DWORD cch = GetModuleFileNameW(GetModuleHandle(NULL), &wsz[0], sizeof(wsz) / sizeof(wsz[0])); 52 if (cch > 0)52 if (cch > 0) 53 53 { 54 while (cch > 0 && wsz[cch - 1] != '/' && wsz[cch - 1] != '\\' && wsz[cch - 1] != ':')54 while (cch > 0 && wsz[cch - 1] != '/' && wsz[cch - 1] != '\\' && wsz[cch - 1] != ':') 55 55 cch--; 56 56 unsigned i = 0; 57 while (cch < sizeof(wsz) / sizeof(wsz[0]))57 while (cch < sizeof(wsz) / sizeof(wsz[0])) 58 58 { 59 59 wsz[cch] = pwszFilePart[i++]; 60 if (!wsz[cch])60 if (!wsz[cch]) 61 61 { 62 62 dwSize = GetFullPathNameW(wsz, (DWORD)cchFull, pwszFull, NULL); 63 if (dwSize > 0 && GetFileAttributesW(pwszFull) != INVALID_FILE_ATTRIBUTES)63 if (dwSize > 0 && GetFileAttributesW(pwszFull) != INVALID_FILE_ATTRIBUTES) 64 64 return dwSize; 65 65 break; … … 85 85 86 86 HRESULT hr = CoInitialize(NULL); 87 if (hr == S_OK)87 if (hr == S_OK) 88 88 { 89 89 int i = 0; … … 91 91 { 92 92 hr = VBoxNetCfgWinQueryINetCfg(&pnc, TRUE, VBOX_NETCFG_APP_NAME, 10000, &lpszLockedBy); 93 if (hr == S_OK)93 if (hr == S_OK) 94 94 { 95 95 DWORD dwSize; 96 96 dwSize = MyGetfullPathNameW(VBOX_NETFLT_PT_INF, sizeof(PtInf)/sizeof(PtInf[0]), PtInf); 97 if (dwSize > 0)97 if (dwSize > 0) 98 98 { 99 99 /** @todo add size check for (sizeof(PtInf)/sizeof(PtInf[0])) == dwSize (string length in sizeof(PtInf[0])) */ 100 100 101 101 dwSize = MyGetfullPathNameW(VBOX_NETFLT_MP_INF, sizeof(MpInf)/sizeof(MpInf[0]), MpInf); 102 if (dwSize > 0)102 if (dwSize > 0) 103 103 { 104 104 /** @todo add size check for (sizeof(MpInf)/sizeof(MpInf[0])) == dwSize (string length in sizeof(MpInf[0])) */ … … 106 106 LPCWSTR aInfs[] = {PtInf, MpInf}; 107 107 hr = VBoxNetCfgWinNetFltInstall(pnc, aInfs, 2); 108 if (hr == S_OK)108 if (hr == S_OK) 109 109 { 110 110 wprintf(L"installed successfully\n"); … … 132 132 break; 133 133 } 134 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy)134 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy) 135 135 { 136 if (i < VBOX_NETFLT_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll"))136 if (i < VBOX_NETFLT_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll")) 137 137 { 138 138 wprintf(L"6to4svc.dll is holding the lock, retrying %d out of %d\n", ++i, VBOX_NETFLT_RETRIES); … … 153 153 break; 154 154 } 155 } while (true);155 } while (true); 156 156 157 157 CoUninitialize(); -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/tools/VBoxNetFltUninstall.cpp
r56293 r60639 39 39 40 40 HRESULT hr = CoInitialize(NULL); 41 if (hr == S_OK)41 if (hr == S_OK) 42 42 { 43 43 int i = 0; … … 45 45 { 46 46 hr = VBoxNetCfgWinQueryINetCfg(&pnc, TRUE, VBOX_NETCFG_APP_NAME, 10000, &lpszLockedBy); 47 if (hr == S_OK)47 if (hr == S_OK) 48 48 { 49 49 hr = VBoxNetCfgWinNetFltUninstall(pnc); 50 if (hr != S_OK && hr != S_FALSE)50 if (hr != S_OK && hr != S_FALSE) 51 51 { 52 52 wprintf(L"error uninstalling VBoxNetFlt (0x%x)\n", hr); … … 62 62 break; 63 63 } 64 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy)64 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy) 65 65 { 66 if (i < VBOX_NETFLT_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll"))66 if (i < VBOX_NETFLT_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll")) 67 67 { 68 68 wprintf(L"6to4svc.dll is holding the lock, retrying %d out of %d\n", ++i, VBOX_NETFLT_RETRIES); … … 83 83 break; 84 84 } 85 } while (true);85 } while (true); 86 86 87 87 CoUninitialize(); -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/tools/VBoxNetLwfInstall.cpp
r56293 r60639 40 40 LPWSTR pwszFilePart; 41 41 DWORD dwSize = GetFullPathNameW(pwszName, (DWORD)cchFull, pwszFull, &pwszFilePart); 42 if (dwSize <= 0)42 if (dwSize <= 0) 43 43 return dwSize; 44 44 … … 48 48 WCHAR wsz[512]; 49 49 DWORD cch = GetModuleFileNameW(GetModuleHandle(NULL), &wsz[0], sizeof(wsz) / sizeof(wsz[0])); 50 if (cch > 0)50 if (cch > 0) 51 51 { 52 while (cch > 0 && wsz[cch - 1] != '/' && wsz[cch - 1] != '\\' && wsz[cch - 1] != ':')52 while (cch > 0 && wsz[cch - 1] != '/' && wsz[cch - 1] != '\\' && wsz[cch - 1] != ':') 53 53 cch--; 54 54 unsigned i = 0; 55 while (cch < sizeof(wsz) / sizeof(wsz[0]))55 while (cch < sizeof(wsz) / sizeof(wsz[0])) 56 56 { 57 57 wsz[cch] = pwszFilePart[i++]; 58 if (!wsz[cch])58 if (!wsz[cch]) 59 59 { 60 60 dwSize = GetFullPathNameW(wsz, (DWORD)cchFull, pwszFull, NULL); 61 if (dwSize > 0 && GetFileAttributesW(pwszFull) != INVALID_FILE_ATTRIBUTES)61 if (dwSize > 0 && GetFileAttributesW(pwszFull) != INVALID_FILE_ATTRIBUTES) 62 62 return dwSize; 63 63 break; … … 82 82 83 83 HRESULT hr = CoInitialize(NULL); 84 if (hr == S_OK)84 if (hr == S_OK) 85 85 { 86 86 int i = 0; … … 88 88 { 89 89 hr = VBoxNetCfgWinQueryINetCfg(&pnc, TRUE, VBOX_NETCFG_APP_NAME, 10000, &lpszLockedBy); 90 if (hr == S_OK)90 if (hr == S_OK) 91 91 { 92 92 DWORD dwSize; 93 93 dwSize = MyGetfullPathNameW(VBOX_NETLWF_INF, sizeof(Inf)/sizeof(Inf[0]), Inf); 94 if (dwSize > 0)94 if (dwSize > 0) 95 95 { 96 96 /** @todo add size check for (sizeof(Inf)/sizeof(Inf[0])) == dwSize (string length in sizeof(Inf[0])) */ 97 97 hr = VBoxNetCfgWinNetLwfInstall(pnc, Inf); 98 if (hr == S_OK)98 if (hr == S_OK) 99 99 { 100 100 wprintf(L"installed successfully\n"); … … 116 116 break; 117 117 } 118 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy)118 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy) 119 119 { 120 if (i < VBOX_NETLWF_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll"))120 if (i < VBOX_NETLWF_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll")) 121 121 { 122 122 wprintf(L"6to4svc.dll is holding the lock, retrying %d out of %d\n", ++i, VBOX_NETLWF_RETRIES); … … 137 137 break; 138 138 } 139 } while (true);139 } while (true); 140 140 141 141 CoUninitialize(); -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/tools/VBoxNetLwfUninstall.cpp
r56293 r60639 36 36 37 37 HRESULT hr = CoInitialize(NULL); 38 if (hr == S_OK)38 if (hr == S_OK) 39 39 { 40 40 int i = 0; … … 42 42 { 43 43 hr = VBoxNetCfgWinQueryINetCfg(&pnc, TRUE, VBOX_NETCFG_APP_NAME, 10000, &lpszLockedBy); 44 if (hr == S_OK)44 if (hr == S_OK) 45 45 { 46 46 hr = VBoxNetCfgWinNetLwfUninstall(pnc); 47 if (hr != S_OK)47 if (hr != S_OK) 48 48 { 49 49 wprintf(L"error uninstalling VBoxNetLwf (0x%x)\n", hr); … … 59 59 break; 60 60 } 61 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy)61 else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy) 62 62 { 63 if (i < VBOX_NETLWF_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll"))63 if (i < VBOX_NETLWF_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll")) 64 64 { 65 65 wprintf(L"6to4svc.dll is holding the lock, retrying %d out of %d\n", ++i, VBOX_NETLWF_RETRIES); … … 80 80 break; 81 81 } 82 } while (true);82 } while (true); 83 83 84 84 CoUninitialize();
Note:
See TracChangeset
for help on using the changeset viewer.