[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
agolden at apple.com
agolden at apple.com
Thu Dec 3 13:43:18 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 663778b94cc40bcbfbd749d871a406b5b42cc63f
Author: agolden at apple.com <agolden at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 24 01:07:33 2009 +0000
Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
identity and certificate information from a WebCore::Credential when receivedCredential
needs to modify the credential's persistence.
Reviewed by Alexey Proskuryakov.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 82d6614..cffba1d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2009-11-23 Aaron Golden <agolden at apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
+ identity and certificate information from a WebCore::Credential when receivedCredential
+ needs to modify the credential's persistence.
+
+ Adding a new constructor Credential(const Credential& original, CredentialPersistence)
+ that copies every field from original except for persistence.
+
+ * platform/network/Credential.cpp:
+ (WebCore::Credential::Credential):
+ * platform/network/Credential.h:
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::receivedCredential):
+
2009-11-23 Gavin Barraclough <barraclough at apple.com>
Reviewed by Geoff Garen.
diff --git a/WebCore/platform/network/Credential.cpp b/WebCore/platform/network/Credential.cpp
index 13a1fa0..87cd7ff 100644
--- a/WebCore/platform/network/Credential.cpp
+++ b/WebCore/platform/network/Credential.cpp
@@ -50,6 +50,18 @@ Credential::Credential(const String& user, const String& password, CredentialPer
#endif
{
}
+
+Credential::Credential(const Credential& original, CredentialPersistence persistence)
+ : m_user(original.user())
+ , m_password(original.password())
+ , m_persistence(persistence)
+#if CERTIFICATE_CREDENTIALS_SUPPORTED
+ , m_identity(original.identity())
+ , m_certificates(original.certificates())
+ , m_type(original.type())
+#endif
+{
+}
bool Credential::isEmpty() const
{
diff --git a/WebCore/platform/network/Credential.h b/WebCore/platform/network/Credential.h
index 8e9284f..199817c 100644
--- a/WebCore/platform/network/Credential.h
+++ b/WebCore/platform/network/Credential.h
@@ -54,6 +54,7 @@ class Credential {
public:
Credential();
Credential(const String& user, const String& password, CredentialPersistence);
+ Credential(const Credential& original, CredentialPersistence);
#if CERTIFICATE_CREDENTIALS_SUPPORTED
Credential(SecIdentityRef identity, CFArrayRef certificates, CredentialPersistence);
#endif
diff --git a/WebCore/platform/network/mac/ResourceHandleMac.mm b/WebCore/platform/network/mac/ResourceHandleMac.mm
index 12bd659..360425e 100644
--- a/WebCore/platform/network/mac/ResourceHandleMac.mm
+++ b/WebCore/platform/network/mac/ResourceHandleMac.mm
@@ -546,7 +546,7 @@ void ResourceHandle::receivedCredential(const AuthenticationChallenge& challenge
// Manage per-session credentials internally, because once NSURLCredentialPersistenceForSession is used, there is no way
// to ignore it for a particular request (short of removing it altogether).
// <rdar://problem/6867598> gallery.me.com is temporarily whitelisted, so that QuickTime plug-in could see the credentials.
- Credential webCredential(credential.user(), credential.password(), CredentialPersistenceNone);
+ Credential webCredential(credential, CredentialPersistenceNone);
KURL urlToStore;
if (challenge.failureResponse().httpStatusCode() == 401)
urlToStore = d->m_request.url();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list