Title: [280158] trunk/Source
Revision
280158
Author
commit-qu...@webkit.org
Date
2021-07-21 13:31:17 -0700 (Wed, 21 Jul 2021)

Log Message

Add linkedOnOrAfter check for r269162
https://bugs.webkit.org/show_bug.cgi?id=228154
Source/WebCore:

<rdar://78575888>

Patch by Alex Christensen <achristen...@webkit.org> on 2021-07-21
Reviewed by Geoffrey Garen.

That revision broke some programs, but only on macOS.
On iOS, we needed SecKeyProxy and WKNavigationDelegate to get client certificates to send.
Add a linkedOnOrAfter check until they update to use WKNavigationDelegate instead of default keychain behavior.

* platform/cocoa/VersionChecks.h:

Source/WebKit:

Patch by Alex Christensen <achristen...@webkit.org> on 2021-07-21
Reviewed by Geoffrey Garen.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::configurationForSessionID):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (280157 => 280158)


--- trunk/Source/WebCore/ChangeLog	2021-07-21 20:29:14 UTC (rev 280157)
+++ trunk/Source/WebCore/ChangeLog	2021-07-21 20:31:17 UTC (rev 280158)
@@ -1,3 +1,17 @@
+2021-07-21  Alex Christensen  <achristen...@webkit.org>
+
+        Add linkedOnOrAfter check for r269162
+        https://bugs.webkit.org/show_bug.cgi?id=228154
+        <rdar://78575888>
+
+        Reviewed by Geoffrey Garen.
+
+        That revision broke some programs, but only on macOS.
+        On iOS, we needed SecKeyProxy and WKNavigationDelegate to get client certificates to send.
+        Add a linkedOnOrAfter check until they update to use WKNavigationDelegate instead of default keychain behavior.
+
+        * platform/cocoa/VersionChecks.h:
+
 2021-07-21  Miguel Gomez  <mago...@igalia.com>
 
         [GTK][WPE] Allow the user to configure the MemoryPressureHandler inside the web process

Modified: trunk/Source/WebCore/platform/cocoa/VersionChecks.h (280157 => 280158)


--- trunk/Source/WebCore/platform/cocoa/VersionChecks.h	2021-07-21 20:29:14 UTC (rev 280157)
+++ trunk/Source/WebCore/platform/cocoa/VersionChecks.h	2021-07-21 20:31:17 UTC (rev 280158)
@@ -96,6 +96,7 @@
     FirstWithNullOriginForNonSpecialSchemedURLs = DYLD_MACOSX_VERSION_12_00,
     FirstWithDOMWindowReuseRestriction = DYLD_MACOSX_VERSION_11_3,
     FirstWithBlankViewOnJSPrompt = DYLD_MACOSX_VERSION_11_3,
+    FirstWithoutClientCertificateLookup = DYLD_MACOSX_VERSION_11_3,
     FirstWithApplicationCacheDisabledByDefault = DYLD_MACOSX_VERSION_12_00,
     FirstWithoutExpandoIndexedPropertiesOnWindow = DYLD_MACOSX_VERSION_12_00,
 #endif

Modified: trunk/Source/WebKit/ChangeLog (280157 => 280158)


--- trunk/Source/WebKit/ChangeLog	2021-07-21 20:29:14 UTC (rev 280157)
+++ trunk/Source/WebKit/ChangeLog	2021-07-21 20:31:17 UTC (rev 280158)
@@ -1,3 +1,13 @@
+2021-07-21  Alex Christensen  <achristen...@webkit.org>
+
+        Add linkedOnOrAfter check for r269162
+        https://bugs.webkit.org/show_bug.cgi?id=228154
+
+        Reviewed by Geoffrey Garen.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (WebKit::configurationForSessionID):
+
 2021-07-21  Chris Dumez  <cdu...@apple.com>
 
         REGRESSION (r278916): Hitting ASSERT(!m_db.m_transactionInProgress) in SQLiteTransaction::begin()

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (280157 => 280158)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2021-07-21 20:29:14 UTC (rev 280157)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2021-07-21 20:31:17 UTC (rev 280158)
@@ -48,6 +48,7 @@
 #import <WebCore/ResourceRequest.h>
 #import <WebCore/ResourceResponse.h>
 #import <WebCore/SharedBuffer.h>
+#import <WebCore/VersionChecks.h>
 #import <WebCore/WebCoreURLResponse.h>
 #import <pal/spi/cf/CFNetworkSPI.h>
 #import <wtf/BlockPtr.h>
@@ -1099,8 +1100,14 @@
 #endif
     } else
         configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
-    configuration._shouldSkipPreferredClientCertificateLookup = YES;
 
+#if PLATFORM(MAC)
+    bool preventCFNetworkClientCertificateLookup = linkedOnOrAfter(WebCore::SDKVersion::FirstWithoutClientCertificateLookup) || session.isEphemeral();
+#else
+    bool preventCFNetworkClientCertificateLookup = true;
+#endif
+    configuration._shouldSkipPreferredClientCertificateLookup = preventCFNetworkClientCertificateLookup;
+
 #if HAVE(LOGGING_PRIVACY_LEVEL)
     auto setLoggingPrivacyLevel = NSSelectorFromString(@"set_loggingPrivacyLevel:");
     if ([configuration respondsToSelector:setLoggingPrivacyLevel]) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to