[PATCH] secur32: Handle a new, undefined SECPKG_FLAG value [untested, v2]

Detlef Riekenberg wine.dev at web.de
Wed Mar 27 13:03:15 CDT 2019


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-RS740-x64/secur32:secur32.html

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 at 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




More information about the wine-devel mailing list