Recent Windows versions (current 8.1 / 1709 or older win.1ß) started using a new Flag with the value 0x02000000, but there is no definition in the last SDK release (Mircosoft has a prerelease for an updated SDK, but access to that is restricted to "Windows insider")
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 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 | 6 +++++- include/sspi.h | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlls/secur32/tests/secur32.c b/dlls/secur32/tests/secur32.c index 2d2c2a6925..f640813632 100644 --- a/dlls/secur32/tests/secur32.c +++ b/dlls/secur32/tests/secur32.c @@ -32,6 +32,9 @@
#include "wine/test.h"
+/* FIXME: Microsoft is using 0x02000000 (not defined in the 10.0.17763 SDK) */ +#define SECPKG_FLAG_0x02000000 0x02000000 + static HMODULE secdll;
static SECURITY_STATUS (SEC_ENTRY *pSspiEncodeAuthIdentityAsStrings) @@ -440,7 +443,8 @@ 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 + | SECPKG_FLAG_0x02000000;
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..d1c8e2b192 100644 --- a/include/sspi.h +++ b/include/sspi.h @@ -171,8 +171,10 @@ 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 +/* FIXME: Microsoft is using 0x02000000 (not defined in the 10.0.17763 SDK) */
#define SECPKG_ID_NONE 0xffff
-- 2.21.0.windows.1
Detlef Riekenberg wine.dev@web.de wrote:
+/* FIXME: Microsoft is using 0x02000000 (not defined in the 10.0.17763 SDK) */ +#define SECPKG_FLAG_0x02000000 0x02000000
static HMODULE secdll;
static SECURITY_STATUS (SEC_ENTRY *pSspiEncodeAuthIdentityAsStrings) @@ -440,7 +443,8 @@ 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
| SECPKG_FLAG_0x02000000;
There is no need to invent a new flag name, just use 0x02000000 directly.
#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 +/* FIXME: Microsoft is using 0x02000000 (not defined in the 10.0.17763 SDK) */
It's not useful to add this kind of comments to the public header.