<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>145244</bug_id>
          
          <creation_ts>2007-05-09 21:33:57 +0000</creation_ts>
          <short_desc>Konqueror treats persistent cookies from amazon.com as session cookies [regression in 4]</short_desc>
          <delta_ts>2010-06-06 19:41:28 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>konqueror</product>
          <component>kcookiejar</component>
          <version>3.5</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>triaged</keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="John Miller">neuromancerx1</reporter>
          <assigned_to name="Konqueror Bugs">konqueror-bugs-null</assigned_to>
          <cc>kde-bugs</cc>
    
    <cc>lemma</cc>
    
    <cc>zahl</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>10</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>525049</commentid>
    <comment_count>0</comment_count>
    <who name="John Miller">neuromancerx1</who>
    <bug_when>2007-05-09 21:33:58 +0000</bug_when>
    <thetext>Version:           3.5.6 (using KDE KDE 3.5.6)
Installed from:    Compiled From Sources
Compiler:          gcc 4.1.2-1mdv2007.1 
OS:                Linux

When you log into an amazon.com account 5 persistent cookies are set that expire in 30 years. When viewing these cookies in Konqueror&apos;s cookie management, it shows the cookies as expiring at the end of session, and they are indeed deleted when Konqueror is closed.

My cookie policy is set to enable cookies, automatically accept session cookies, ask for confirmation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544976</commentid>
    <comment_count>1</comment_count>
    <who name="Dawit Alemayehu">adawit</who>
    <bug_when>2007-09-07 19:53:21 +0000</bug_when>
    <thetext>SVN commit 709516 by adawit:

Fix for BR# 145244. Persistent cookies are treated like session cookies.

BUG: 145244


 M  +36 -0     kcookiejar.cpp  


--- branches/KDE/3.5/kdelibs/kioslave/http/kcookiejar/kcookiejar.cpp #709515:709516
@@ -670,6 +670,37 @@
     _domains.prepend( _fqdn );
 }
 
+
+/*
+   Changes dates in from the following format
+
+      Wed Sep 12 07:00:00 2007 GMT
+   to
+      Wed Sep 12 2007 07:00:00 GMT
+
+   to allow KRFCDate::parseDate to properly parse expiration date formats 
+   used in cookies by some servers such as amazon.com. See BR# 145244.
+*/
+static QString fixupDateTime(const QString&amp; dt)
+{
+  const int index = dt.find(QRegExp(&quot;[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}&quot;));
+
+  if (index &gt; -1)
+  {
+    QStringList dateStrList = QStringList::split(&apos; &apos;, dt.mid(index));
+    if (dateStrList.count() &gt; 1)
+    {
+      QString date = dateStrList[0];
+      dateStrList[0] = dateStrList[1];
+      dateStrList[1] = date;
+      date = dt;
+      return date.replace(index, date.length(), dateStrList.join(&quot; &quot;));
+    }
+  }
+
+  return dt;
+}
+
 //
 // This function parses cookie_headers and returns a linked list of
 // KHttpCookie objects for all cookies found in cookie_headers.
@@ -795,6 +826,11 @@
             {
                 // Parse brain-dead netscape cookie-format
                 lastCookie-&gt;mExpireDate = KRFCDate::parseDate(Value);
+
+                // Workaround for servers that send the expiration date in
+                // &apos;Wed Sep 12 07:00:00 2007 GMT&apos; format. See BR# 145244.
+                if (lastCookie-&gt;mExpireDate == 0)
+                  lastCookie-&gt;mExpireDate = KRFCDate::parseDate(fixupDateTime(Value));
             }
             else if (cName == &quot;path&quot;)
             {
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650084</commentid>
    <comment_count>2</comment_count>
    <who name="John Miller">neuromancerx1</who>
    <bug_when>2008-10-01 02:54:02 +0000</bug_when>
    <thetext>This bug has returned in trunk.
I&apos;m currently using svn revision  866463</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653086</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Leupold">lemma</who>
    <bug_when>2008-10-12 17:46:05 +0000</bug_when>
    <thetext>I can&apos;t confirm this on trunk r870274. Can you please try reproducing it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653384</commentid>
    <comment_count>4</comment_count>
    <who name="John Miller">neuromancerx1</who>
    <bug_when>2008-10-13 19:51:28 +0000</bug_when>
    <thetext>I probably should have clarified that this bug is now in kde 4 konqueror.
It&apos;s still present for me in revision 870578.
I usually update from svn once a week, and it wasn&apos;t present in whichever revision I was using before  866463.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817958</commentid>
    <comment_count>5</comment_count>
      <attachid>36405</attachid>
    <who name="Maximilian Engelhardt">maxi</who>
    <bug_when>2009-08-24 14:14:08 +0000</bug_when>
    <thetext>Created attachment 36405
fix time parsing

As I&apos;m affected by this bug I did create a patch to fix it. I&apos;m not very familiar with KDE and Qt coding so I don&apos;t know if this is the right place to fix this issue or if it might cause other problems.
So please tell me if there are any problems with my patch. If not I&apos;d like to see this fixed in svn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882532</commentid>
    <comment_count>6</comment_count>
    <who name="Dawit Alemayehu">adawit</who>
    <bug_when>2009-12-18 23:14:32 +0000</bug_when>
    <thetext>SVN commit 1063612 by adawit:

- Fixed parsing of cookie expiration dates. This resolves the problem of 
  non-session cookies being treated as session ones. 
- Fixed problems with the recent Y2K38 fix.

CCBUG: 145244 
CCBUG: 176731
CCBUG: 187792
CCBUG: 191318



 M  +36 -40    kcookiejar.cpp  
 M  +5 -1      kcookiejar.h  
 M  +9 -4      tests/cookie.test  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=1063612</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974116</commentid>
    <comment_count>7</comment_count>
    <who name="Maksim Orlovich">maksim</who>
    <bug_when>2010-06-06 19:41:28 +0000</bug_when>
    <thetext>Looks fine these days..</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>36405</attachid>
            <date>2009-08-24 14:14:08 +0000</date>
            <delta_ts>2009-08-24 14:14:08 +0000</delta_ts>
            <desc>fix time parsing</desc>
            <filename>konqueror_amazon_cookie_fix.patch</filename>
            <type>text/plain</type>
            <size>3265</size>
            <attacher name="Maximilian Engelhardt">maxi</attacher>
            
              <data encoding="base64">LS0tIGtkZTRsaWJzLTQuMy4wLm9yaWcva2RlY29yZS9kYXRlL2tkYXRldGltZS5jcHAJMjAwOS0w
Ni0wOSAxODowOToxMS4wMDAwMDAwMDAgKzAyMDAKKysrIGtkZTRsaWJzLTQuMy4wL2tkZWNvcmUv
ZGF0ZS9rZGF0ZXRpbWUuY3BwCTIwMDktMDgtMjEgMjE6MzU6NDguMDAwMDAwMDAwICswMjAwCkBA
IC0xNzY2LDEzICsxNzY2LDE0IEBACiAgICAgICAgIGNhc2UgUkZDRGF0ZURheTogLy8gZm9ybWF0
IGlzIFdkeSwgREQgTW9uIFlZWVkgaGg6bW06c3MgwrFoaG1tCiAgICAgICAgIGNhc2UgUkZDRGF0
ZTogICAgLy8gZm9ybWF0IGlzIFtXZHksXSBERCBNb24gWVlZWSBoaDptbVs6c3NdIMKxaGhtbQog
ICAgICAgICB7Ci0gICAgICAgICAgICBpbnQgbnllYXIgID0gNjsgICAvLyBpbmRleGVzIHdpdGhp
biBzdHJpbmcgdG8gdmFsdWVzCi0gICAgICAgICAgICBpbnQgbm1vbnRoID0gNDsKLSAgICAgICAg
ICAgIGludCBuZGF5ICAgPSAyOwotICAgICAgICAgICAgaW50IG53ZGF5ICA9IDE7Ci0gICAgICAg
ICAgICBpbnQgbmhvdXIgID0gNzsKLSAgICAgICAgICAgIGludCBubWluICAgPSA4OwotICAgICAg
ICAgICAgaW50IG5zZWMgICA9IDk7CisgICAgICAgICAgICBpbnQgbnllYXIgICA9IDY7ICAgLy8g
aW5kZXhlcyB3aXRoaW4gc3RyaW5nIHRvIHZhbHVlcworICAgICAgICAgICAgaW50IG5tb250aCAg
PSA0OworICAgICAgICAgICAgaW50IG5kYXkgICAgPSAyOworICAgICAgICAgICAgaW50IG53ZGF5
ICAgPSAxOworICAgICAgICAgICAgaW50IG5ob3VyICAgPSA3OworICAgICAgICAgICAgaW50IG5t
aW4gICAgPSA4OworICAgICAgICAgICAgaW50IG5zZWMgICAgPSA5OworICAgICAgICAgICAgaW50
IG5vZmZzZXQgPSAxMDsKICAgICAgICAgICAgIC8vIEFsc28gYWNjZXB0IG9ic29sZXRlIGZvcm0g
IldlZWtkYXksIERELU1vbi1ZWSBISDpNTTpTUyDCsWhobW0iCiAgICAgICAgICAgICBRUmVnRXhw
IHJ4KCJeKD86KFtBLVpdW2Etel0rKSxcXHMqKT8oXFxkezEsMn0pKFxccyt8LSkoW14tXFxzXSsp
KFxccyt8LSkoXFxkezIsNH0pXFxzKyhcXGRcXGQpOihcXGRcXGQpKD86OihcXGRcXGQpKT9cXHMr
KFxcUyspJCIpOwogICAgICAgICAgICAgUVN0cmluZ0xpc3QgcGFydHM7CkBAIC0xNzg3LDE3ICsx
Nzg4LDE4IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHRoZSBvYnNvbGV0ZSBmb3JtICJXZHkgTW9u
IEREIEhIOk1NOlNTIFlZWVkiCi0gICAgICAgICAgICAgICAgcnggPSBRUmVnRXhwKCJeKFtBLVpd
W2Etel0rKVxccysoXFxTKylcXHMrKFxcZFxcZClcXHMrKFxcZFxcZCk6KFxcZFxcZCk6KFxcZFxc
ZClcXHMrKFxcZFxcZFxcZFxcZCkkIik7CisgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHRo
ZSBvYnNvbGV0ZSBmb3JtICJXZHkgTW9uIEREIEhIOk1NOlNTIFlZWVkgW8KxaGhtbV0iCisgICAg
ICAgICAgICAgICAgcnggPSBRUmVnRXhwKCJeKFtBLVpdW2Etel0rKVxccysoXFxTKylcXHMrKFxc
ZFxcZClcXHMrKFxcZFxcZCk6KFxcZFxcZCk6KFxcZFxcZClcXHMrKFxcZFxcZFxcZFxcZCkoPzpc
XHMrKFxcUyspKT8kIik7CiAgICAgICAgICAgICAgICAgaWYgKHN0ci5pbmRleE9mKHJ4KSkKICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgbnllYXIgID0gNzsKLSAg
ICAgICAgICAgICAgICBubW9udGggPSAyOwotICAgICAgICAgICAgICAgIG5kYXkgICA9IDM7Ci0g
ICAgICAgICAgICAgICAgbndkYXkgID0gMTsKLSAgICAgICAgICAgICAgICBuaG91ciAgPSA0Owot
ICAgICAgICAgICAgICAgIG5taW4gICA9IDU7Ci0gICAgICAgICAgICAgICAgbnNlYyAgID0gNjsK
KyAgICAgICAgICAgICAgICBueWVhciAgID0gNzsKKyAgICAgICAgICAgICAgICBubW9udGggID0g
MjsKKyAgICAgICAgICAgICAgICBuZGF5ICAgID0gMzsKKyAgICAgICAgICAgICAgICBud2RheSAg
ID0gMTsKKyAgICAgICAgICAgICAgICBuaG91ciAgID0gNDsKKyAgICAgICAgICAgICAgICBubWlu
ICAgID0gNTsKKyAgICAgICAgICAgICAgICBuc2VjICAgID0gNjsKKyAgICAgICAgICAgICAgICBu
b2Zmc2V0ID0gODsKICAgICAgICAgICAgICAgICBwYXJ0cyA9IHJ4LmNhcHR1cmVkVGV4dHMoKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJvb2wgb2tbNF07CkBAIC0xODQwLDEwICsxODQy
LDEwIEBACiAgICAgICAgICAgICAvLyBQYXJzZSB0aGUgVVRDIG9mZnNldCBwYXJ0CiAgICAgICAg
ICAgICBpbnQgb2Zmc2V0ID0gMDsgICAgICAgICAgIC8vIHNldCBkZWZhdWx0IHRvICctMDAwMCcK
ICAgICAgICAgICAgIGJvb2wgbmVnT2Zmc2V0ID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAocGFy
dHMuY291bnQoKSA+IDEwKQorICAgICAgICAgICAgaWYgKCFwYXJ0c1tub2Zmc2V0XS5pc0VtcHR5
KCkpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcnggPSBRUmVnRXhwKCJeKFsrLV0p
KFxcZFxcZCkoXFxkXFxkKSQiKTsKLSAgICAgICAgICAgICAgICBpZiAoIXBhcnRzWzEwXS5pbmRl
eE9mKHJ4KSkKKyAgICAgICAgICAgICAgICBpZiAoIXBhcnRzW25vZmZzZXRdLmluZGV4T2Yocngp
KQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBhIFVUQyBv
ZmZzZXQgwrFoaG1tCiAgICAgICAgICAgICAgICAgICAgIHBhcnRzID0gcnguY2FwdHVyZWRUZXh0
cygpOwpAQCAtMTg1OSw3ICsxODYxLDcgQEAKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBmb3IgYW4gb2Jzb2xldGUg
dGltZSB6b25lIG5hbWUKLSAgICAgICAgICAgICAgICAgICAgUUJ5dGVBcnJheSB6b25lID0gcGFy
dHNbMTBdLnRvTGF0aW4xKCk7CisgICAgICAgICAgICAgICAgICAgIFFCeXRlQXJyYXkgem9uZSA9
IHBhcnRzW25vZmZzZXRdLnRvTGF0aW4xKCk7CiAgICAgICAgICAgICAgICAgICAgIGlmICh6b25l
Lmxlbmd0aCgpID09IDEgICYmICBpc2FscGhhKHpvbmVbMF0pICAmJiAgdG91cHBlcih6b25lWzBd
KSAhPSAnSicpCiAgICAgICAgICAgICAgICAgICAgICAgICBuZWdPZmZzZXQgPSB0cnVlOyAgICAv
LyBtaWxpdGFyeSB6b25lOiBSRkMgMjgyMiB0cmVhdHMgYXMgJy0wMDAwJwogICAgICAgICAgICAg
ICAgICAgICBlbHNlIGlmICh6b25lICE9ICJVVCIgJiYgem9uZSAhPSAiR01UIikgICAgLy8gdHJl
YXRlZCBhcyAnKzAwMDAnCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>