[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

agolden at apple.com agolden at apple.com
Wed Apr 7 23:54:48 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 50ea683f424384241656e77d293197b486a574c4
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