urlmon: Fixed sec_mgr.c tests failing on some recent Windows.
This commit is contained in:
parent
c4f935d449
commit
d7a4f0eb1f
|
@ -65,6 +65,11 @@
|
||||||
expect_ ## func = called_ ## func = FALSE; \
|
expect_ ## func = called_ ## func = FALSE; \
|
||||||
}while(0)
|
}while(0)
|
||||||
|
|
||||||
|
#define SET_CALLED(func) \
|
||||||
|
do { \
|
||||||
|
expect_ ## func = called_ ## func = FALSE; \
|
||||||
|
}while(0)
|
||||||
|
|
||||||
DEFINE_EXPECT(ParseUrl_SECURITY_URL_input);
|
DEFINE_EXPECT(ParseUrl_SECURITY_URL_input);
|
||||||
DEFINE_EXPECT(ParseUrl_SECURITY_URL_input2);
|
DEFINE_EXPECT(ParseUrl_SECURITY_URL_input2);
|
||||||
DEFINE_EXPECT(ParseUrl_SECURITY_URL_expected);
|
DEFINE_EXPECT(ParseUrl_SECURITY_URL_expected);
|
||||||
|
@ -509,15 +514,26 @@ static void test_url_action(IInternetSecurityManager *secmgr, IInternetZoneManag
|
||||||
*/
|
*/
|
||||||
res = RegOpenKeyA(HKEY_CURRENT_USER,
|
res = RegOpenKeyA(HKEY_CURRENT_USER,
|
||||||
"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", &hkey);
|
"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", &hkey);
|
||||||
if(res != ERROR_SUCCESS) {
|
ok(res == ERROR_SUCCESS, "Could not open zone key\n");
|
||||||
ok(0, "Could not open zone key\n");
|
if(res != ERROR_SUCCESS)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
wsprintfA(buf, "%X", action);
|
wsprintfA(buf, "%X", action);
|
||||||
size = sizeof(DWORD);
|
size = sizeof(DWORD);
|
||||||
res = RegQueryValueExA(hkey, buf, NULL, NULL, (BYTE*)®_policy, &size);
|
res = RegQueryValueExA(hkey, buf, NULL, NULL, (BYTE*)®_policy, &size);
|
||||||
RegCloseKey(hkey);
|
RegCloseKey(hkey);
|
||||||
|
|
||||||
|
/* Try settings from HKEY_LOCAL_MACHINE. */
|
||||||
|
if(res != ERROR_SUCCESS || size != sizeof(DWORD)) {
|
||||||
|
res = RegOpenKeyA(HKEY_LOCAL_MACHINE,
|
||||||
|
"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", &hkey);
|
||||||
|
ok(res == ERROR_SUCCESS, "Could not open zone key\n");
|
||||||
|
|
||||||
|
size = sizeof(DWORD);
|
||||||
|
res = RegQueryValueExA(hkey, buf, NULL, NULL, (BYTE*)®_policy, &size);
|
||||||
|
RegCloseKey(hkey);
|
||||||
|
}
|
||||||
|
|
||||||
if(res != ERROR_SUCCESS || size != sizeof(DWORD)) {
|
if(res != ERROR_SUCCESS || size != sizeof(DWORD)) {
|
||||||
policy = 0xdeadbeef;
|
policy = 0xdeadbeef;
|
||||||
hres = IInternetSecurityManager_ProcessUrlAction(secmgr, url9, action, (BYTE*)&policy,
|
hres = IInternetSecurityManager_ProcessUrlAction(secmgr, url9, action, (BYTE*)&policy,
|
||||||
|
@ -1213,10 +1229,10 @@ static void test_GetZoneAttributes(void)
|
||||||
ok((pZA->cbSize == 0xffffffff) || (pZA->cbSize == sizeof(ZONEATTRIBUTES)),
|
ok((pZA->cbSize == 0xffffffff) || (pZA->cbSize == sizeof(ZONEATTRIBUTES)),
|
||||||
"got cbSize = 0x%x (expected 0xffffffff)\n", pZA->cbSize);
|
"got cbSize = 0x%x (expected 0xffffffff)\n", pZA->cbSize);
|
||||||
|
|
||||||
/* IE8 no longer fail on invalid zones */
|
/* IE8 up to IE10 don't fail on invalid zones */
|
||||||
memset(buffer, -1, sizeof(buffer));
|
memset(buffer, -1, sizeof(buffer));
|
||||||
hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0xdeadbeef, pZA);
|
hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0xdeadbeef, pZA);
|
||||||
ok(hr == S_OK || (hr == E_FAIL),
|
ok(hr == S_OK || hr == E_FAIL || hr == E_POINTER,
|
||||||
"got 0x%x (expected S_OK or E_FAIL)\n", hr);
|
"got 0x%x (expected S_OK or E_FAIL)\n", hr);
|
||||||
|
|
||||||
hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0, NULL);
|
hr = IInternetZoneManager_GetZoneAttributes(zonemgr, 0, NULL);
|
||||||
|
@ -1958,6 +1974,16 @@ static void test_CoInternetIsFeatureZoneElevationEnabled(void)
|
||||||
testcases[i].policy_flags = URLPOLICY_ALLOW;
|
testcases[i].policy_flags = URLPOLICY_ALLOW;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* IE10 does not seem to use passed ISecurityManager */
|
||||||
|
SET_EXPECT(ProcessUrlAction);
|
||||||
|
pCoInternetIsFeatureZoneElevationEnabled(url1, url1, &security_manager, 0);
|
||||||
|
i = called_ProcessUrlAction;
|
||||||
|
SET_CALLED(ProcessUrlAction);
|
||||||
|
if(!i) {
|
||||||
|
skip("CoInternetIsFeatureZoneElevationEnabled does not use passed ISecurityManager\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for(i=0; i<sizeof(testcases)/sizeof(testcases[0]); i++) {
|
for(i=0; i<sizeof(testcases)/sizeof(testcases[0]); i++) {
|
||||||
url_from = a2w(testcases[i].url_from);
|
url_from = a2w(testcases[i].url_from);
|
||||||
url_to = a2w(testcases[i].url_to);
|
url_to = a2w(testcases[i].url_to);
|
||||||
|
|
Loading…
Reference in New Issue