Summary: | cookie policies are filed twice and they don't work anyway | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Juha Tuomala <tuju> |
Component: | general | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | faure, greg_g, rdieter |
Priority: | NOR | ||
Version: | 4.2.0 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Unspecified | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Juha Tuomala
2009-02-08 19:20:48 UTC
I had a similar problem with respect to unreliable domain-specific policies. I tracked it down to this fact: when the cookie settings module reads and then rewrites the config file (kcookiejarrc) it uses the QUrl::fromAce() and QUrl::toAce() functions (decoding/encoding of localized domain names), but this has unintended consequence: it produces .kde.org -> fromACE() -> kde.org -> toACE() -> kde.org the dot is lost and the policy stops working as intended. This happens in Qt-4.4, then in Qt-4.5 fromAce()/toAce() were rewritten in a cleaner way and the problem stops. If you have Qt-4.4, I suggest to clean all cookies and policies and give Qt-4.5 a try. Note that this behaviour could in part explain other bugs, such as bug 179968, bug 182806, bug 184973. Gregorio: thanks for this excellent analysis. Indeed fromAce/toAce was buggy in 4.4 and fixed in 4.5, I can confirm this (unittest committed in kurltest.cpp). Unfortunately this doesn't explain all the other bugs, I just had the loss of cookie policies with Qt-4.5. FWIW, Qt 4.5 is coming soon to Fedora 9 and 10. (The plan is to push it out together with the KDE 4.2.2 update.) SVN commit 944701 by dfaure: Workaround the Qt-4.4 fromAce/toAce bug for the kdelibs-4.2.2 release. I thought this affected the cookie handling, but in fact it doesn't, it only affects the configuration module :( CCBUG: 183720 M +22 -4 kcookiespolicies.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=944701 For the record: in 4.6 fromAce/toAce again doesn't accept leading dots, by design. So the "workaround" is actually the long-term solution now ;) |