aboutsummaryrefslogtreecommitdiff
path: root/x11/kdelibs3/files/patch-post-3.2.3-kdelibs-kcookiejar
diff options
context:
space:
mode:
Diffstat (limited to 'x11/kdelibs3/files/patch-post-3.2.3-kdelibs-kcookiejar')
-rw-r--r--x11/kdelibs3/files/patch-post-3.2.3-kdelibs-kcookiejar140
1 files changed, 140 insertions, 0 deletions
diff --git a/x11/kdelibs3/files/patch-post-3.2.3-kdelibs-kcookiejar b/x11/kdelibs3/files/patch-post-3.2.3-kdelibs-kcookiejar
new file mode 100644
index 000000000000..2da6e9ac39d2
--- /dev/null
+++ b/x11/kdelibs3/files/patch-post-3.2.3-kdelibs-kcookiejar
@@ -0,0 +1,140 @@
+Index: kioslave/http/kcookiejar/kcookiejar.cpp
+===================================================================
+RCS file: /home/kde/kdelibs/kioslave/http/kcookiejar/kcookiejar.cpp,v
+retrieving revision 1.116
+retrieving revision 1.117
+diff -u -p -r1.116 -r1.117
+--- kioslave/http/kcookiejar/kcookiejar.cpp 19 Jul 2004 10:16:22 -0000 1.116
++++ kioslave/http/kcookiejar/kcookiejar.cpp 20 Jul 2004 15:29:24 -0000 1.117
+@@ -244,6 +244,14 @@ KCookieJar::KCookieJar()
+ m_globalAdvice = KCookieDunno;
+ m_configChanged = false;
+ m_cookiesChanged = false;
++
++ QString twoLevelTLD="name,ai,au,bd,bh,ck,eg,et,fk,il,in,kh,kr,mk,mt,na,np,nz,pg,pk,qa,sa,sb,sg,sv,ua,ug,uk,uy,vn,za,zw";
++ QStringList countries = QStringList::split(',', twoLevelTLD);
++ for(QStringList::ConstIterator it = countries.begin();
++ it != countries.end(); ++it)
++ {
++ m_twoLevelTLD.replace(*it, (int *) 1);
++ }
+ }
+
+ //
+@@ -528,14 +536,14 @@ static const char * parseNameValue(const
+
+ }
+
+-static void stripDomain(const QString &_fqdn, QString &_domain)
++void KCookieJar::stripDomain(const QString &_fqdn, QString &_domain)
+ {
+ QStringList domains;
+- KCookieJar::extractDomains(_fqdn, domains);
++ extractDomains(_fqdn, domains);
+ _domain = domains[0];
+ }
+
+-static QString stripDomain( KHttpCookiePtr cookiePtr)
++QString KCookieJar::stripDomain( KHttpCookiePtr cookiePtr)
+ {
+ QString domain; // We file the cookie under this domain.
+ if (cookiePtr->domain().isEmpty())
+@@ -620,6 +628,13 @@ void KCookieJar::extractDomains(const QS
+ {
+ if (partList.count() == 1)
+ break; // We only have a TLD left.
++
++ if ((partList.count() == 2) && (m_twoLevelTLD[partList[1].lower()]))
++ {
++ // This domain uses two-level TLDs in the form xxxx.yy
++ break;
++ }
++
+ if ((partList.count() == 2) && (partList[1].length() == 2))
+ {
+ // If this is a TLD, we should stop. (e.g. co.uk)
+@@ -634,14 +649,6 @@ void KCookieJar::extractDomains(const QS
+ break;
+ }
+
+- // The .name domain uses <name>.<surname>.name
+- // Although the TLD is striclty speaking .name, for our purpose
+- // it should be <surname>.name since people should not be able
+- // to set cookies for everyone with the same surname.
+- // Matches <surname>.name
+- if ((partList.count() == 2)&& (partList[1].lower() == L1("name")))
+- break;
+-
+ QString domain = partList.join(L1("."));
+ _domains.append('.' + domain);
+ _domains.append(domain);
+Index: kioslave/http/kcookiejar/kcookiejar.h
+===================================================================
+RCS file: /home/kde/kdelibs/kioslave/http/kcookiejar/kcookiejar.h,v
+retrieving revision 1.33
+retrieving revision 1.34
+diff -u -p -r1.33 -r1.34
+--- kioslave/http/kcookiejar/kcookiejar.h 22 Nov 2003 16:50:45 -0000 1.33
++++ kioslave/http/kcookiejar/kcookiejar.h 20 Jul 2004 15:29:24 -0000 1.34
+@@ -306,8 +306,8 @@ public:
+ /**
+ * Returns a list of domains (_domainList) relevant for this host.
+ */
+- static void extractDomains(const QString &_fqdn,
+- QStringList &_domainList);
++ void extractDomains(const QString &_fqdn,
++ QStringList &_domainList);
+
+ static QString adviceToStr(KCookieAdvice _advice);
+ static KCookieAdvice strToAdvice(const QString &_str);
+@@ -329,11 +329,15 @@ public:
+ */
+ void setShowCookieDetails (bool value) { m_showCookieDetails = value; }
+
++protected:
++ void stripDomain(const QString &_fqdn, QString &_domain);
++ QString stripDomain( KHttpCookiePtr cookiePtr);
+
+ protected:
+ QStringList m_domainList;
+ KCookieAdvice m_globalAdvice;
+ QDict<KHttpCookieList> m_cookieDomains;
++ QDict<int> m_twoLevelTLD;
+
+ bool m_configChanged;
+ bool m_cookiesChanged;
+Index: kioslave/http/kcookiejar/kcookieserver.cpp
+===================================================================
+RCS file: /home/kde/kdelibs/kioslave/http/kcookiejar/kcookieserver.cpp,v
+retrieving revision 1.50
+retrieving revision 1.51
+diff -u -p -r1.50 -r1.51
+--- kioslave/http/kcookiejar/kcookieserver.cpp 9 Jun 2003 10:56:42 -0000 1.50
++++ kioslave/http/kcookiejar/kcookieserver.cpp 20 Jul 2004 15:29:24 -0000 1.51
+@@ -131,7 +131,7 @@ bool KCookieServer::cookiesPending( cons
+ if (!KCookieJar::parseURL(url, fqdn, path))
+ return false;
+
+- KCookieJar::extractDomains( fqdn, domains );
++ mCookieJar->extractDomains( fqdn, domains );
+ for( KHttpCookie *cookie = mPendingCookies->first();
+ cookie != 0L;
+ cookie = mPendingCookies->next())
+@@ -557,7 +557,7 @@ KCookieServer::setDomainAdvice(QString u
+ if (KCookieJar::parseURL(url, fqdn, dummy))
+ {
+ QStringList domains;
+- KCookieJar::extractDomains(fqdn, domains);
++ mCookieJar->extractDomains(fqdn, domains);
+ mCookieJar->setDomainAdvice(domains[0],
+ KCookieJar::strToAdvice(advice));
+ }
+@@ -573,7 +573,7 @@ KCookieServer::getDomainAdvice(QString u
+ if (KCookieJar::parseURL(url, fqdn, dummy))
+ {
+ QStringList domains;
+- KCookieJar::extractDomains(fqdn, domains);
++ mCookieJar->extractDomains(fqdn, domains);
+ advice = mCookieJar->getDomainAdvice(domains[0]);
+ }
+ return KCookieJar::adviceToStr(advice);