[PATCH 0/1] MR10402: hnetcfg: Improve fw_manager_IsPortAllowed() stub.
From: Hans Leidekker <hans@codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58690 --- dlls/hnetcfg/manager.c | 7 ++++++- dlls/hnetcfg/tests/policy.c | 33 +++++++++++++++++++++++++++------ 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/dlls/hnetcfg/manager.c b/dlls/hnetcfg/manager.c index fe93a3a8da0..5f4992cc475 100644 --- a/dlls/hnetcfg/manager.c +++ b/dlls/hnetcfg/manager.c @@ -204,7 +204,12 @@ static HRESULT WINAPI fw_manager_IsPortAllowed( FIXME("%p, %s, %u, %ld, %s, %u, %p, %p\n", This, debugstr_w(imageFileName), ipVersion, portNumber, debugstr_w(localAddress), ipProtocol, allowed, restricted); - return E_NOTIMPL; + + V_VT(allowed) = VT_BOOL; + V_BOOL(allowed) = VARIANT_TRUE; + V_VT(restricted) = VT_BOOL; + V_BOOL(restricted) = VARIANT_FALSE; + return S_OK; } static HRESULT WINAPI fw_manager_IsIcmpTypeAllowed( diff --git a/dlls/hnetcfg/tests/policy.c b/dlls/hnetcfg/tests/policy.c index 4a50bf6d23b..9140cfdf1fd 100644 --- a/dlls/hnetcfg/tests/policy.c +++ b/dlls/hnetcfg/tests/policy.c @@ -328,27 +328,48 @@ static void test_IUPnPNAT(void) IUPnPNAT_Release(nat); } -START_TEST(policy) +static void test_manager(void) { INetFwMgr *manager; HRESULT hr; + VARIANT allowed, restricted; + WCHAR image[MAX_PATH]; + DWORD ret; + BSTR str; - CoInitialize(NULL); - - hr = CoCreateInstance(&CLSID_NetFwMgr, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, - &IID_INetFwMgr, (void**)&manager); - if(FAILED(hr)) + hr = CoCreateInstance(&CLSID_NetFwMgr, NULL, CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER, + &IID_INetFwMgr, (void **)&manager); + if (FAILED(hr)) { win_skip("NetFwMgr object is not supported: %08lx\n", hr); CoUninitialize(); return; } + ret = GetModuleFileNameW(NULL, image, ARRAY_SIZE(image)); + ok(ret, "GetModuleFileName failed: %lu\n", GetLastError()); + str = SysAllocString(image); + + VariantInit(&allowed); + VariantInit(&restricted); + hr = INetFwMgr_IsPortAllowed(manager, str, NET_FW_IP_VERSION_ANY, 80, NULL, NET_FW_IP_PROTOCOL_TCP, &allowed, + &restricted); + ok(hr == S_OK, "got %#lx\n", hr); + ok(V_VT(&allowed) == VT_BOOL, "got %u\n", V_VT(&allowed)); + ok(V_VT(&restricted) == VT_BOOL, "got %u\n", V_VT(&restricted)); + + SysFreeString(str); INetFwMgr_Release(manager); +} + +START_TEST(policy) +{ + CoInitialize(NULL); test_interfaces(); test_NetFwAuthorizedApplication(); test_IUPnPNAT(); + test_manager(); CoUninitialize(); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10402
participants (2)
-
Hans Leidekker -
Hans Leidekker (@hans)