Recent Windows versions (current 8.1 and win 10 v1709 or older) started using a new SECPKG_FLAG with the value 0x02000000, but there is no definition in any SDK or online documentation.
v2: with suggestions from Dimitry
Example failures (full report with 90 failures after upgrading from win7 to win10) http://test.winehq.org/queue/errksCfJ/report
an 8.1 machine: http://test.winehq.org/data/829170f3d6b875f7a6f065072cc3334a20ff805e/win8_dr...
untested: I have no compiler toolchain on this windows machine and the similar Patch is still queued (Testbot down), https://testbot.winehq.org/JobDetails.pl?Key=50051
After this is comitted, we need a similar patch for other testfiles (secur32/tests/ntlm.c as example)
-- ... bye bye Detlef
Signed-off-by: Detlef Riekenberg wine.dev@web.de --- dlls/secur32/tests/secur32.c | 4 +++- include/sspi.h | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/secur32/tests/secur32.c b/dlls/secur32/tests/secur32.c index 2d2c2a6925..8fd421ca73 100644 --- a/dlls/secur32/tests/secur32.c +++ b/dlls/secur32/tests/secur32.c @@ -440,7 +440,9 @@ static void test_kerberos(void) | SECPKG_FLAG_READONLY_WITH_CHECKSUM; static const ULONG optional_mask = SECPKG_FLAG_RESTRICTED_TOKENS - | SECPKG_FLAG_APPCONTAINER_CHECKS; + | SECPKG_FLAG_APPCONTAINER_CHECKS + | 0x02000000; /* not defined in the SDK */ +
status = QuerySecurityPackageInfoA(provider, &info); ok(status == SEC_E_OK, "Kerberos package not installed, skipping test\n"); diff --git a/include/sspi.h b/include/sspi.h index 0e248fbef0..ad423eed90 100644 --- a/include/sspi.h +++ b/include/sspi.h @@ -171,8 +171,9 @@ SECURITY_STATUS WINAPI AddSecurityPackageW(LPWSTR,SECURITY_PACKAGE_OPTIONS*); #define SECPKG_FLAG_RESTRICTED_TOKENS 0x00080000 #define SECPKG_FLAG_NEGO_EXTENDER 0x00100000 #define SECPKG_FLAG_NEGOTIABLE2 0x00200000 -#define SECPKG_FLAG_APPCONTAINER_PASSTHROUGH 0x00400000 -#define SECPKG_FLAG_APPCONTAINER_CHECKS 0x00800000 +#define SECPKG_FLAG_APPCONTAINER_PASSTHROUGH 0x00400000 +#define SECPKG_FLAG_APPCONTAINER_CHECKS 0x00800000 +#define SECPKG_FLAG_CREDENTIAL_ISOLATION_ENABLED 0x01000000
#define SECPKG_ID_NONE 0xffff
-- 2.21.0.windows.1