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

Detlef Riekenberg wine.dev at web.de
Wed Mar 27 02:48:26 CDT 2019


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


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




More information about the wine-devel mailing list