Changeset 175495 in webkit
- Timestamp:
- Nov 3, 2014, 4:17:25 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r175494 r175495 1 2014-11-03 Dan Bernstein <mitz@apple.com> 2 3 Client certificate credentials with session persistence don’t work 4 https://bugs.webkit.org/show_bug.cgi?id=138330 5 6 Reviewed by Alexey Proskuryakov. 7 8 I think this is not testable with our test HTTP server. 9 10 * platform/network/CredentialStorage.cpp: 11 (WebCore::CredentialStorage::set): Don’t require a valid URL for client certificate 12 credentials, since they don’t apply to a specific path. Don’t save such credentials to 13 CFNetwork’s persistent storage (we only do that as a workaround for sharing credentials 14 with the media framework, and we don’t want to expand the scope of the workaround). 15 * platform/network/cf/ResourceHandleCFNet.cpp: 16 (WebCore::ResourceHandle::receivedCredential): Changed to use the Credential consturctor 17 that takes a Credential and a new persistence, so that this code works not only with 18 user+password credentials. 19 1 20 2014-11-03 Simon Fraser <simon.fraser@apple.com> 2 21 -
trunk/Source/WebCore/platform/network/CredentialStorage.cpp
r165607 r175495 94 94 void CredentialStorage::set(const Credential& credential, const ProtectionSpace& protectionSpace, const URL& url) 95 95 { 96 ASSERT(protectionSpace.isProxy() || url.protocolIsInHTTPFamily());97 ASSERT(protectionSpace.isProxy() || url.isValid());96 ASSERT(protectionSpace.isProxy() || protectionSpace.authenticationScheme() == ProtectionSpaceAuthenticationSchemeClientCertificateRequested || url.protocolIsInHTTPFamily()); 97 ASSERT(protectionSpace.isProxy() || protectionSpace.authenticationScheme() == ProtectionSpaceAuthenticationSchemeClientCertificateRequested || url.isValid()); 98 98 99 99 protectionSpaceToCredentialMap().set(protectionSpace, credential); 100 100 101 101 #if PLATFORM(IOS) 102 saveToPersistentStorage(protectionSpace, credential); 102 if (protectionSpace.authenticationScheme() != ProtectionSpaceAuthenticationSchemeClientCertificateRequested) 103 saveToPersistentStorage(protectionSpace, credential); 103 104 #endif 104 105 105 if (!protectionSpace.isProxy() ) {106 if (!protectionSpace.isProxy() && protectionSpace.authenticationScheme() != ProtectionSpaceAuthenticationSchemeClientCertificateRequested) { 106 107 originsWithCredentials().add(originStringFromURL(url)); 107 108 -
trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp
r174827 r175495 425 425 // Manage per-session credentials internally, because once NSURLCredentialPersistencePerSession is used, there is no way 426 426 // to ignore it for a particular request (short of removing it altogether). 427 Credential webCredential(credential .user(), credential.password(), CredentialPersistenceNone);427 Credential webCredential(credential, CredentialPersistenceNone); 428 428 429 429 URL urlToStore;
Note:
See TracChangeset
for help on using the changeset viewer.