[PATCH 2/3] activeds: ADsOpenObject should return E_FAIL by default.
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> --- dlls/activeds/activeds_main.c | 6 +++--- dlls/adsldp/tests/Makefile.in | 2 +- dlls/adsldp/tests/ldap.c | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/dlls/activeds/activeds_main.c b/dlls/activeds/activeds_main.c index c997cab912..564acab93e 100644 --- a/dlls/activeds/activeds_main.c +++ b/dlls/activeds/activeds_main.c @@ -127,10 +127,10 @@ HRESULT WINAPI ADsOpenObject(LPCWSTR path, LPCWSTR user, LPCWSTR password, DWORD if (!path || !riid || !obj) return E_INVALIDARG; - if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\ADs\\Providers", 0, KEY_READ, &hkey)) - return E_ADS_BAD_PATHNAME; + hr = E_FAIL; - hr = E_ADS_BAD_PATHNAME; + if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\ADs\\Providers", 0, KEY_READ, &hkey)) + return hr; for (;;) { diff --git a/dlls/adsldp/tests/Makefile.in b/dlls/adsldp/tests/Makefile.in index 52141139d5..26b937aa68 100644 --- a/dlls/adsldp/tests/Makefile.in +++ b/dlls/adsldp/tests/Makefile.in @@ -1,5 +1,5 @@ TESTDLL = adsldp.dll -IMPORTS = ole32 oleaut32 secur32 advapi32 uuid +IMPORTS = ole32 oleaut32 secur32 advapi32 activeds uuid C_SRCS = \ ldap.c \ diff --git a/dlls/adsldp/tests/ldap.c b/dlls/adsldp/tests/ldap.c index f31bfb7a36..d703874956 100644 --- a/dlls/adsldp/tests/ldap.c +++ b/dlls/adsldp/tests/ldap.c @@ -28,6 +28,7 @@ #include "objbase.h" #include "iads.h" #include "adserr.h" +#include "adshlp.h" #include "wine/test.h" @@ -98,6 +99,11 @@ static void test_LDAP(void) if (hr == S_OK) IDispatch_Release(disp); + hr = ADsOpenObject(path, user, password, test[i].flags, &IID_IADs, (void **)&ads); + ok(hr == test[i].hr || hr == test[i].hr_ads_get, "%d: got %#x, expected %#x\n", i, hr, test[i].hr); + if (hr == S_OK) + IADs_Release(ads); + SysFreeString(path); SysFreeString(user); SysFreeString(password); -- 2.20.1
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=66982 Your paranoid android. === wxppro (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072027, expected 0 ldap.c:103: Test failed: 13: got 0x80072027, expected 0 === w2008s64 (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w8 (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w8adm (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w864 (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 ldap.c:148: Test failed: 10: got 0x8007203a, expected 0 === w1064v1507 (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1809 (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1809_2scr (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1809_ar (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1809_he (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1809_ja (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1809_zh_CN (32 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w2008s64 (64 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w864 (64 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1507 (64 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === w1064v1809 (64 bit report) === adsldp: ldap.c:98: Test failed: 13: got 0x80072032, expected 0 ldap.c:103: Test failed: 13: got 0x80072032, expected 0 === debiant (32 bit French report) === adsldp: ldap.c:103: Test failed: 5: got 0x80070051, expected 0 ldap.c:103: Test failed: 12: got 0x80070051, expected 0x80005000 ldap.c:103: Test failed: 13: got 0x80070051, expected 0 ldap.c:103: Test failed: 14: got 0x80070051, expected 0 === debiant (32 bit WoW report) === adsldp: ldap.c:103: Test failed: 5: got 0x80070051, expected 0 === debiant (64 bit WoW report) === adsldp: ldap.c:103: Test failed: 11: got 0x80070051, expected 0x80005000 ldap.c:148: Test failed: 11: got 0x80070051, expected 0x80005000 ldap.c:165: Test failed: 13: got 0x80070051, expected 0
participants (2)
-
Dmitry Timoshkov -
Marvin