Title: [232594] trunk/Source/WebKit
Revision
232594
Author
[email protected]
Date
2018-06-07 12:19:31 -0700 (Thu, 07 Jun 2018)

Log Message

REGRESSION(r224134) Client certificate challenges don't always appear
https://bugs.webkit.org/show_bug.cgi?id=186402
<rdar://problem/35967150>

Patch by Alex Christensen <[email protected]> on 2018-06-07
Reviewed by Brian Weinstein.

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::completeAuthenticationChallenge):
Add an exception for all TLS-handshake-related challenges, not just server trust.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (232593 => 232594)


--- trunk/Source/WebKit/ChangeLog	2018-06-07 19:17:39 UTC (rev 232593)
+++ trunk/Source/WebKit/ChangeLog	2018-06-07 19:19:31 UTC (rev 232594)
@@ -1,3 +1,15 @@
+2018-06-07  Alex Christensen  <[email protected]>
+
+        REGRESSION(r224134) Client certificate challenges don't always appear
+        https://bugs.webkit.org/show_bug.cgi?id=186402
+        <rdar://problem/35967150>
+
+        Reviewed by Brian Weinstein.
+
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::completeAuthenticationChallenge):
+        Add an exception for all TLS-handshake-related challenges, not just server trust.
+
 2018-06-07  Ryosuke Niwa  <[email protected]>
 
         Release assert in Document::updateLayout() in WebPage::determinePrimarySnapshottedPlugIn()

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (232593 => 232594)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2018-06-07 19:17:39 UTC (rev 232593)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2018-06-07 19:19:31 UTC (rev 232594)
@@ -267,8 +267,10 @@
 
 void NetworkLoad::completeAuthenticationChallenge(ChallengeCompletionHandler&& completionHandler)
 {
-    bool isServerTrustEvaluation = m_challenge->protectionSpace().authenticationScheme() == ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested;
-    if (!isAllowedToAskUserForCredentials() && !isServerTrustEvaluation) {
+    auto scheme = m_challenge->protectionSpace().authenticationScheme();
+    bool isTLSHandshake = scheme == ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested
+        || scheme == ProtectionSpaceAuthenticationSchemeClientCertificateRequested;
+    if (!isAllowedToAskUserForCredentials() && !isTLSHandshake) {
         m_client.get().didBlockAuthenticationChallenge();
         completionHandler(AuthenticationChallengeDisposition::UseCredential, { });
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to