From unknown Wed Sep 10 13:56:13 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#6957 <6957@debbugs.gnu.org> To: bug#6957 <6957@debbugs.gnu.org> Subject: Status: url-cookie-expired-p Reply-To: bug#6957 <6957@debbugs.gnu.org> Date: Wed, 10 Sep 2025 20:56:13 +0000 retitle 6957 url-cookie-expired-p reassign 6957 emacs submitter 6957 shawn boles severity 6957 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 31 16:07:21 2010 Received: (at submit) by debbugs.gnu.org; 31 Aug 2010 20:07:21 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqX72-0002Jc-Ch for submit@debbugs.gnu.org; Tue, 31 Aug 2010 16:07:20 -0400 Received: from mx10.gnu.org ([199.232.76.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqX5N-0002If-TD for submit@debbugs.gnu.org; Tue, 31 Aug 2010 16:05:38 -0400 Received: from lists.gnu.org ([199.232.76.165]:44903) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1OqX6y-0006qD-I4 for submit@debbugs.gnu.org; Tue, 31 Aug 2010 16:07:16 -0400 Received: from [140.186.70.92] (port=54198 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OqX6t-00021S-BP for bug-gnu-emacs@gnu.org; Tue, 31 Aug 2010 16:07:16 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID, T_TO_NO_BRKTS_FREEMAIL autolearn=unavailable version=3.3.1 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OqX6o-00064m-4p for bug-gnu-emacs@gnu.org; Tue, 31 Aug 2010 16:07:11 -0400 Received: from mail-ey0-f169.google.com ([209.85.215.169]:40120) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqX6n-00064f-TQ for bug-gnu-emacs@gnu.org; Tue, 31 Aug 2010 16:07:06 -0400 Received: by eyh5 with SMTP id 5so4516438eyh.0 for ; Tue, 31 Aug 2010 13:07:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=p+Qs6+lAeVr7Y0i8j52pZwDzkj1uyjW+i8UfynNg9Bo=; b=sd86XtOS1Y5UlKGdjzMiYznrqcLCFEpFPogJfoPJRoRabxNEY7KFxg0qt4bi79LDbo kOrkeNmqsT7Fk2357bjyUlXvgNV28spWAC1XDQE+TIu6hyb9/EHhKUOaovui/UisDAXZ b8/6WK/waH0cTNk4pI+UpXYmPcnCOaYNxtqS0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=ZD1gVpLB8RqSZtlOXKaznXNfcPrBKkmLd20mLIa5cjE1h66n5QtuaAeNNFx2QFMkWO mXpW+xbZd7yLoO7cgC6kUEkHdarTRhwaz8wzYk4vwiSsCl9M7/SPa6oUAoNTHL1u85JW FR11c8HymESTGkROTaf7UEvlbAhYNey36Tt1w= MIME-Version: 1.0 Received: by 10.213.114.67 with SMTP id d3mr10691722ebq.73.1283285225142; Tue, 31 Aug 2010 13:07:05 -0700 (PDT) Received: by 10.14.124.71 with HTTP; Tue, 31 Aug 2010 13:07:05 -0700 (PDT) Date: Tue, 31 Aug 2010 13:07:05 -0700 Message-ID: Subject: url-cookie-expired-p From: shawn boles To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=0015174bdde8fd782b048f241f98 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 31 Aug 2010 16:07:19 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.6 (----) --0015174bdde8fd782b048f241f98 Content-Type: text/plain; charset=ISO-8859-1 Hello, Please forgive me if this list is not the correct recipient for this message. If there is a better destination, I will be happy to send it on. I am working on a web services client that is mostly a wrapper around URL Package. I am using GNU Emacs v.23.2. My client implementation requires keeping tight rein on a session ID cookie. My sessions are terminating abnormally. I believe I have tracked this issue to a bug in url-cookie-expired-p. If the cookie's expiration date is the same as today's date, url-cookie-expired-p normalizes the times to seconds and compares the difference. I believe the problem is in the normalization algorithm. In pseudo-code, the current implementation does: (+ (* 360 seconds) (* 60 minutes) (* 1 hours)) I believe this should be: (+ (* 1 seconds) (* 60 minutes) (* 360 hours)). As is, the result of the comparison is almost always dependent on the number of seconds in the time strings. It is interesting how frequently this mistaken comparison is correct. I have attached a patch. Thank you, -shawn --0015174bdde8fd782b048f241f98 Content-Type: application/octet-stream; name="url-cookie.el.patch" Content-Disposition: attachment; filename="url-cookie.el.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gdj6upc60 LS0tIC9jeWdkcml2ZS9jL3NyYy9FbWFjcy9lbWFjcy0yMy4yL2VtYWNzLTIzLjIvbGlzcC91cmwv dXJsLWNvb2tpZS5lbAkyMDEwLTA4LTMxIDEwOjUzOjA4Ljg2MDA5MTkwMCAtMDcwMAorKysgdXJs LWNvb2tpZS5lbAkyMDEwLTA4LTMxIDEyOjMzOjQxLjk3MDM2NzEwMCAtMDcwMApAQCAtMjE1LDEy ICsyMTUsMTIgQEAKICAgICAgKHQJCQkJCTsgRXhwaXJlcyBzb21ldGltZSB0b2RheSwgY2hlY2sg dGltZXMKICAgICAgIChsZXQqICgoY3VyLXRpbWUgKHRpbWV6b25lLXBhcnNlLXRpbWUgKGFyZWYg Y3VyLWRhdGUgMykpKQogCSAgICAgKGV4cC10aW1lICh0aW1lem9uZS1wYXJzZS10aW1lIChhcmVm IGV4cC1kYXRlIDMpKSkKLQkgICAgIChjdXItbm9ybSAoKyAoKiAzNjAgKHN0cmluZy10by1udW1i ZXIgKGFyZWYgY3VyLXRpbWUgMikpKQorCSAgICAgKGN1ci1ub3JtICgrICgqIDM2MCAoc3RyaW5n LXRvLW51bWJlciAoYXJlZiBjdXItdGltZSAwKSkpCiAJCQkgICgqICA2MCAoc3RyaW5nLXRvLW51 bWJlciAoYXJlZiBjdXItdGltZSAxKSkpCi0JCQkgICgqICAgMSAoc3RyaW5nLXRvLW51bWJlciAo YXJlZiBjdXItdGltZSAwKSkpKSkKLQkgICAgIChleHAtbm9ybSAoKyAoKiAzNjAgKHN0cmluZy10 by1udW1iZXIgKGFyZWYgZXhwLXRpbWUgMikpKQorCQkJICAoKiAgIDEgKHN0cmluZy10by1udW1i ZXIgKGFyZWYgY3VyLXRpbWUgMikpKSkpCisJICAgICAoZXhwLW5vcm0gKCsgKCogMzYwIChzdHJp bmctdG8tbnVtYmVyIChhcmVmIGV4cC10aW1lIDApKSkKIAkJCSAgKCogIDYwIChzdHJpbmctdG8t bnVtYmVyIChhcmVmIGV4cC10aW1lIDEpKSkKLQkJCSAgKCogICAxIChzdHJpbmctdG8tbnVtYmVy IChhcmVmIGV4cC10aW1lIDApKSkpKSkKKwkJCSAgKCogICAxIChzdHJpbmctdG8tbnVtYmVyIChh cmVmIGV4cC10aW1lIDIpKSkpKSkKIAkoPiAoLSBjdXItbm9ybSBleHAtbm9ybSkgMSkpKSkpKQog CiAoZGVmdW4gdXJsLWNvb2tpZS1yZXRyaWV2ZSAoaG9zdCAmb3B0aW9uYWwgbG9jYWxwYXJ0IHNl Y3VyZSkK --0015174bdde8fd782b048f241f98-- From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 31 18:51:19 2010 Received: (at 6957) by debbugs.gnu.org; 31 Aug 2010 22:51:19 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqZfj-0004Aa-1v for submit@debbugs.gnu.org; Tue, 31 Aug 2010 18:51:19 -0400 Received: from mail-ey0-f172.google.com ([209.85.215.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqZeS-00049Z-2F for 6957@debbugs.gnu.org; Tue, 31 Aug 2010 18:50:00 -0400 Received: by eyd10 with SMTP id 10so3805685eyd.3 for <6957@debbugs.gnu.org>; Tue, 31 Aug 2010 15:51:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=m9ZiFZ7rJScBj/m+3rhWsjw1uyMSlU34VJPRc6UzqNk=; b=iG7SkJhV+wN3WVAPAe6nOpPFPQuYTOHKwxt5Xt5X8lZVrNXR36oPxMNGHq3yAdRL9K in/hE7xvMlcJE8uEhbBavWu0hDN8DOOyxtrLdCu9U5BDPh0bG79tAfbQn79E8oT+j5HA gDneipPQjM5P8vNd8AneGUqUaojYsbBPDSIpY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=l/UMGGM9guAE2389TPNBMCokn1yHClt5SvgZyQnTaGGdxv/JeHh1r1qzuDsuBSyfcu 8RPjBO16gyPRnqR2snkN9M7U/eGPLBLJloBJsaoIm6atmQsLd6F51iMQ/359hQQ40B9R spPIHeTh1bJNF5XCL+GnQezculikuMKgEHW+s= MIME-Version: 1.0 Received: by 10.213.9.195 with SMTP id m3mr10606409ebm.83.1283295098554; Tue, 31 Aug 2010 15:51:38 -0700 (PDT) Received: by 10.14.124.71 with HTTP; Tue, 31 Aug 2010 15:51:38 -0700 (PDT) Date: Tue, 31 Aug 2010 15:51:38 -0700 Message-ID: Subject: url-cookie-expired-p Redux From: shawn boles To: 6957@debbugs.gnu.org Content-Type: multipart/mixed; boundary=0015174c1a887dcac0048f266cd2 X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 6957 X-Mailman-Approved-At: Tue, 31 Aug 2010 18:51:18 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.0 (---) --0015174c1a887dcac0048f266cd2 Content-Type: text/plain; charset=ISO-8859-1 So this is buggier than I thought. First, the hour normalization is still incorrect: there are 3600 seconds in an hour, not 360. Second, the cookie expiration time is GMT, per the cookie spec. As is, url-cookie-expired-p compares current time (no GMT adjustment) with a GMT expiration time. Please see the attached patch. I fixed the hour normalization. I added a function called url-cookie-gmt-time-string that returns the current time adjusted to GMT. Please check this function. While I believe my implementation is correct, there may be a better way to adjust a time to GMT in Emacs. I updated url-cookie-expire-p so that it compares local time as GMT with the expiration time, also as GMT. Thanks! shawn --0015174c1a887dcac0048f266cd2 Content-Type: application/octet-stream; name="url-cookie.el.patch" Content-Disposition: attachment; filename="url-cookie.el.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gdjco7r30 LS0tIC9jeWdkcml2ZS9jL3NyYy9FbWFjcy9lbWFjcy0yMy4yL2VtYWNzLTIzLjIvbGlzcC91cmwv dXJsLWNvb2tpZS5lbAkyMDEwLTA4LTMxIDEwOjUzOjA4Ljg2MDA5MTkwMCAtMDcwMAorKysgdXJs LWNvb2tpZS5lbAkyMDEwLTA4LTMxIDE1OjM4OjU1LjA2MjQ5MjcwMCAtMDcwMApAQCAtMTkzLDYg KzE5MywxMiBAQAogICAgICAgICh0CiAJKHNldHEgdXJsLWNvb2tpZS1zdG9yYWdlIChsaXN0IChs aXN0IGRvbWFpbiB0bXApKSkpKSkpKQogCisoZGVmdW4gdXJsLWNvb2tpZS1nbXQtdGltZS1zdHJp bmcgKCkKKwkiUmV0dXJucyB0aGUgY3VycmVudCB0aW1lLCBhZGp1c3RlZCB0byBHTVQsIGFzIGEg dGltZSBzdHJpbmciCisJKGxldCogKChvZmZzZXQgKC0gMCAoY2FyIChjdXJyZW50LXRpbWUtem9u ZSkpKSkKKwkJCQkoZ210ICgrIG9mZnNldCAoZmxvYXQtdGltZSkpKSkKKwkJKHNlY29uZHMtdG8t dGltZSBnbXQpKSkKKwogKGRlZnVuIHVybC1jb29raWUtZXhwaXJlZC1wIChjb29raWUpCiAgIChs ZXQqICgKIAkgKGV4cCAodXJsLWNvb2tpZS1leHBpcmVzIGNvb2tpZSkpCkBAIC0yMTIsMTUgKzIx OCwxNiBAQAogICAgICAoKG5vdCBleHApCW5pbCkJCQk7IE5vIGV4cGlyeSA9PSBleHBpcmVzIGF0 IGJyb3dzZXIgcXVpdAogICAgICAoKDwgZGlmZi1pbi1kYXlzIDApIG5pbCkJCTsgRXhwaXJlcyBz b21ldGltZSBhZnRlciB0b2RheQogICAgICAoKD4gZGlmZi1pbi1kYXlzIDApIHQpCQk7IEV4cGly ZWQgYmVmb3JlIHRvZGF5Ci0gICAgICh0CQkJCQk7IEV4cGlyZXMgc29tZXRpbWUgdG9kYXksIGNo ZWNrIHRpbWVzCi0gICAgICAobGV0KiAoKGN1ci10aW1lICh0aW1lem9uZS1wYXJzZS10aW1lIChh cmVmIGN1ci1kYXRlIDMpKSkKKyAgICAgKHQJCQkJCTsgRXhwaXJlcyBzb21ldGltZSB0b2RheSwg Y2hlY2sgdGltZXMgKEdNVCkKKyAgICAgIChsZXQqICgoZ210LXRpbWUgKGZvcm1hdC10aW1lLXN0 cmluZyAiJVQiICh1cmwtY29va2llLWdtdC10aW1lLXN0cmluZykpKQorCQkJCQkJIChjdXItdGlt ZSAodGltZXpvbmUtcGFyc2UtdGltZSBnbXQtdGltZSkpCiAJICAgICAoZXhwLXRpbWUgKHRpbWV6 b25lLXBhcnNlLXRpbWUgKGFyZWYgZXhwLWRhdGUgMykpKQotCSAgICAgKGN1ci1ub3JtICgrICgq IDM2MCAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBjdXItdGltZSAyKSkpCisJICAgICAoY3VyLW5v cm0gKCsgKCogMzYwMCAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBjdXItdGltZSAwKSkpCiAJCQkg ICgqICA2MCAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBjdXItdGltZSAxKSkpCi0JCQkgICgqICAg MSAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBjdXItdGltZSAwKSkpKSkKLQkgICAgIChleHAtbm9y bSAoKyAoKiAzNjAgKHN0cmluZy10by1udW1iZXIgKGFyZWYgZXhwLXRpbWUgMikpKQorCQkJICAo KiAgIDEgKHN0cmluZy10by1udW1iZXIgKGFyZWYgY3VyLXRpbWUgMikpKSkpCisJICAgICAoZXhw LW5vcm0gKCsgKCogMzYwMCAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBleHAtdGltZSAwKSkpCiAJ CQkgICgqICA2MCAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBleHAtdGltZSAxKSkpCi0JCQkgICgq ICAgMSAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBleHAtdGltZSAwKSkpKSkpCisJCQkgICgqICAg MSAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBleHAtdGltZSAyKSkpKSkpCiAJKD4gKC0gY3VyLW5v cm0gZXhwLW5vcm0pIDEpKSkpKSkKIAogKGRlZnVuIHVybC1jb29raWUtcmV0cmlldmUgKGhvc3Qg Jm9wdGlvbmFsIGxvY2FscGFydCBzZWN1cmUpCg== --0015174c1a887dcac0048f266cd2-- From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 31 19:37:48 2010 Received: (at 6957) by debbugs.gnu.org; 31 Aug 2010 23:37:48 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqaOh-0004Rb-E9 for submit@debbugs.gnu.org; Tue, 31 Aug 2010 19:37:48 -0400 Received: from mail-out.m-online.net ([212.18.0.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqaOf-0004RU-Lq for 6957@debbugs.gnu.org; Tue, 31 Aug 2010 19:37:46 -0400 Received: from frontend1.mail.m-online.net (unknown [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 2063E1C0037E; Wed, 1 Sep 2010 01:39:23 +0200 (CEST) Received: from igel.home (ppp-88-217-127-229.dynamic.mnet-online.de [88.217.127.229]) by mail.mnet-online.de (Postfix) with ESMTP id DB90C1C000FC; Wed, 1 Sep 2010 01:39:23 +0200 (CEST) Received: by igel.home (Postfix, from userid 501) id B3C53CA299; Wed, 1 Sep 2010 01:39:23 +0200 (CEST) From: Andreas Schwab To: shawn boles Subject: Re: bug#6957: url-cookie-expired-p Redux References: X-Yow: Did I do an INCORRECT THING?? Date: Wed, 01 Sep 2010 01:39:23 +0200 In-Reply-To: (shawn boles's message of "Tue, 31 Aug 2010 15:51:38 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 6957 Cc: 6957@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) shawn boles writes: > I added a function called url-cookie-gmt-time-string that returns the > current time adjusted to GMT. Please check this function. While I > believe my implementation is correct, there may be a better way to > adjust a time to GMT in Emacs. (float-time) already gives the seconds since epoch. No need to convert to string and back, or doing any time zone adjustments. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 31 20:42:16 2010 Received: (at 6957) by debbugs.gnu.org; 1 Sep 2010 00:42:16 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqbP6-0004r7-7p for submit@debbugs.gnu.org; Tue, 31 Aug 2010 20:42:16 -0400 Received: from mail-ey0-f172.google.com ([209.85.215.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqbP4-0004r1-FK for 6957@debbugs.gnu.org; Tue, 31 Aug 2010 20:42:15 -0400 Received: by eyd10 with SMTP id 10so3826490eyd.3 for <6957@debbugs.gnu.org>; Tue, 31 Aug 2010 17:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=C1Q1PM2N+CNouEWB9YKJSlaDFGQOFYCv4lmXvNuEqNw=; b=PH+cTO+Uw8I1aFYe2TMhTyakzzcaOs+D+m7180kVLKx3blzlAigoYtask4ynF73cWg 7Ud2QWHxlUTDKNjfkdTbO3a8K3URo4xtxQzYbY9j6gAKqG8O6a1RIXpfqY0SR5wGAFoO 54auPEPU+7OmJHDjhfiNRh+WFm9oR8JlOqbto= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=GPkZZKJnwXH5NebjlIMh9aTPTJCdp1ccguaxVR6D/3F1TbvF82d/tra8EvPCrReP2T iks2bKpHCEPOd1mX4bq8Aiu52Vl+4A/xpPTwgxvtGYmDK9QNViVe2MBVmdT8T8A+RvJw sXh8HyFTYH+rZrVffkwjbBuCk5Qn7nVv39HNk= MIME-Version: 1.0 Received: by 10.213.63.142 with SMTP id b14mr10907082ebi.33.1283301833183; Tue, 31 Aug 2010 17:43:53 -0700 (PDT) Received: by 10.14.124.71 with HTTP; Tue, 31 Aug 2010 17:43:53 -0700 (PDT) In-Reply-To: References: Date: Tue, 31 Aug 2010 17:43:53 -0700 Message-ID: Subject: Re: bug#6957: url-cookie-expired-p Redux From: shawn boles To: Andreas Schwab Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 6957 Cc: 6957@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.9 (--) On Tue, Aug 31, 2010 at 4:39 PM, Andreas Schwab wro= te: > (float-time) already gives the seconds since epoch. =A0No need to convert > to string and back, or doing any time zone adjustments. Hi Andreas, Thank you for your reply. I understand that (float-time) gives the seconds since Epoch. Maybe I am missing something here... This does not change the issue that (url-cookie-expired-p) is taking the time string from (current-time-string), adjusted to the user's timezone and comparing it against a cookie expiration time string, adjusted to GMT. (url-cookie-expired-p) is not taking into account that the times are (most likely) in different timezones. Once I had settled the time normalization issue, I noticed that my hour long session cookies were still not expiring. After I added debugging I discovered that (url-cookie-expired-p) was comparing the current time: "16:30:00" (PST) against "23:30:00" (GMT). My solution (arguably not the best!) is to get the current time in seconds since the Epoch (float-time), adjust it to a time that is GMT with the value of (car (current-timezone)) and then make the comparison. This may not be the best solution, but! (url-cookie-expired-p) is now comparing like times. Please let me know if I am way off base here. It occurs to me that the date comparison is also wrong, for the same reason: It takes a date string from (current-time-string), adjusted to the user's timezone and compares it against a cookie date string in GMT. I would like to fix this as well. Thank you, shawn From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 02 13:11:58 2010 Received: (at 6957) by debbugs.gnu.org; 2 Sep 2010 17:11:58 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OrDKQ-0005bm-Mt for submit@debbugs.gnu.org; Thu, 02 Sep 2010 13:11:58 -0400 Received: from mail-ey0-f172.google.com ([209.85.215.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OrDKO-0005bf-J1 for 6957@debbugs.gnu.org; Thu, 02 Sep 2010 13:11:57 -0400 Received: by eyd10 with SMTP id 10so423646eyd.3 for <6957@debbugs.gnu.org>; Thu, 02 Sep 2010 10:13:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:cc:content-type; bh=7iTwW/901P31bIZUNvaoOJfTGGNI5uDovKiRKtkLyL0=; b=OfReEZa3aUyWMrTPO/BCwWwFqjdl5VS/uHO/lR4jVZ6y1oJa5JNJeZaLD9jWCXYr7g G/VyLtNVbRyFpUq/ldjvGShwaCcaAnMN1YrRuZSsPY7X3429/Sh+bwDppSxm+eS07pGD WiikwJWwRIjUQERaFYr0wbQ5NhEKMl9sMDVQ8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=irwCqeS1XQi1/NXEw4/NSBJyjUCawAKTvxAbYTqXEJOJro2TZFSqBBO7EZSIqLM85W ae9zcd0e1NjtDrA9gB9lYFf9SyFJ8QhcCmdekXmaAXPd2n5GO/xPWz6oCv7IdLc34nTH iF+aYNNAYEdFkZD4Q5+i6h+A204Xn+91Hah5U= MIME-Version: 1.0 Received: by 10.213.9.82 with SMTP id k18mr90895ebk.92.1283447619389; Thu, 02 Sep 2010 10:13:39 -0700 (PDT) Received: by 10.14.124.71 with HTTP; Thu, 2 Sep 2010 10:13:39 -0700 (PDT) Date: Thu, 2 Sep 2010 10:13:39 -0700 Message-ID: Subject: Re: bug#6957: url-cookie-expired-p Redux (at last) From: shawn boles To: Andreas Schwab Content-Type: multipart/mixed; boundary=0015174c10aa710af9048f49ef38 X-Spam-Score: -1.5 (-) X-Debbugs-Envelope-To: 6957 Cc: 6957@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) --0015174c10aa710af9048f49ef38 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Aug 31, 2010 at 4:39 PM, Andreas Schwab wro= te: > (float-time) already gives the seconds since epoch. =A0No need to convert > to string and back, or doing any time zone adjustments. I spent yesterday laid up with a cold. Between naps I found myself coming back to (url-cookie-expired-p) and Andreas' response to my GMT conversion. I kept thinking that there must be kernel of wisdom for this grasshopper to find. I would like to suggest the following replacement for (url-cookie-expired-p); please see attached patch. (defun url-cookie-expired-p (cookie) (let* ((exp (url-cookie-expires cookie)) (exp-time (and exp (float-time (date-to-time exp))))) (if (not exp) nil (> (float-time) exp-time)))) If the cookie has an expiration date, (float-time (date-to-time exp)) takes care of converting this to a float time, adjusted to the client's time zone. Then all we need to do is compare this exp-time against (float-time). As an added bonus, we can now remove the url-cookie dependency on timezone. shawn --0015174c10aa710af9048f49ef38 Content-Type: application/octet-stream; name="url-cookie.el.patch" Content-Disposition: attachment; filename="url-cookie.el.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gdlvcc7e0 LS0tIC9jeWdkcml2ZS9jL3NyYy9FbWFjcy9lbWFjcy0yMy4yL2VtYWNzLTIzLjIvbGlzcC91cmwv dXJsLWNvb2tpZS5lbAkyMDEwLTA4LTMxIDEwOjUzOjA4Ljg2MDA5MTkwMCAtMDcwMAorKysgdXJs LWNvb2tpZS5lbAkyMDEwLTA5LTAyIDEwOjA2OjA5LjY5NDExMTEwMCAtMDcwMApAQCAtMjQsNyAr MjQsNiBAQAogCiA7OzsgQ29kZToKIAotKHJlcXVpcmUgJ3RpbWV6b25lKQogKHJlcXVpcmUgJ3Vy bC11dGlsKQogKHJlcXVpcmUgJ3VybC1wYXJzZSkKIChldmFsLXdoZW4tY29tcGlsZSAocmVxdWly ZSAnY2wpKQpAQCAtMTk0LDM0ICsxOTMsMTIgQEAKIAkoc2V0cSB1cmwtY29va2llLXN0b3JhZ2Ug KGxpc3QgKGxpc3QgZG9tYWluIHRtcCkpKSkpKSkpCiAKIChkZWZ1biB1cmwtY29va2llLWV4cGly ZWQtcCAoY29va2llKQotICAobGV0KiAoCi0JIChleHAgKHVybC1jb29raWUtZXhwaXJlcyBjb29r aWUpKQotCSAoY3VyLWRhdGUgKGFuZCBleHAgKHRpbWV6b25lLXBhcnNlLWRhdGUgKGN1cnJlbnQt dGltZS1zdHJpbmcpKSkpCi0JIChleHAtZGF0ZSAoYW5kIGV4cCAodGltZXpvbmUtcGFyc2UtZGF0 ZSBleHApKSkKLQkgKGN1ci1ncmVnIChhbmQgY3VyLWRhdGUgKHRpbWV6b25lLWFic29sdXRlLWZy b20tZ3JlZ29yaWFuCi0JCQkJICAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBjdXItZGF0ZSAxKSkK LQkJCQkgIChzdHJpbmctdG8tbnVtYmVyIChhcmVmIGN1ci1kYXRlIDIpKQotCQkJCSAgKHN0cmlu Zy10by1udW1iZXIgKGFyZWYgY3VyLWRhdGUgMCkpKSkpCi0JIChleHAtZ3JlZyAoYW5kIGV4cCAo dGltZXpvbmUtYWJzb2x1dGUtZnJvbS1ncmVnb3JpYW4KLQkJCSAgICAgKHN0cmluZy10by1udW1i ZXIgKGFyZWYgZXhwLWRhdGUgMSkpCi0JCQkgICAgIChzdHJpbmctdG8tbnVtYmVyIChhcmVmIGV4 cC1kYXRlIDIpKQotCQkJICAgICAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiBleHAtZGF0ZSAwKSkp KSkKLQkgKGRpZmYtaW4tZGF5cyAoYW5kIGV4cCAoLSBjdXItZ3JlZyBleHAtZ3JlZykpKQotCSAp Ci0gICAgKGNvbmQKLSAgICAgKChub3QgZXhwKQluaWwpCQkJOyBObyBleHBpcnkgPT0gZXhwaXJl cyBhdCBicm93c2VyIHF1aXQKLSAgICAgKCg8IGRpZmYtaW4tZGF5cyAwKSBuaWwpCQk7IEV4cGly ZXMgc29tZXRpbWUgYWZ0ZXIgdG9kYXkKLSAgICAgKCg+IGRpZmYtaW4tZGF5cyAwKSB0KQkJOyBF eHBpcmVkIGJlZm9yZSB0b2RheQotICAgICAodAkJCQkJOyBFeHBpcmVzIHNvbWV0aW1lIHRvZGF5 LCBjaGVjayB0aW1lcwotICAgICAgKGxldCogKChjdXItdGltZSAodGltZXpvbmUtcGFyc2UtdGlt ZSAoYXJlZiBjdXItZGF0ZSAzKSkpCi0JICAgICAoZXhwLXRpbWUgKHRpbWV6b25lLXBhcnNlLXRp bWUgKGFyZWYgZXhwLWRhdGUgMykpKQotCSAgICAgKGN1ci1ub3JtICgrICgqIDM2MCAoc3RyaW5n LXRvLW51bWJlciAoYXJlZiBjdXItdGltZSAyKSkpCi0JCQkgICgqICA2MCAoc3RyaW5nLXRvLW51 bWJlciAoYXJlZiBjdXItdGltZSAxKSkpCi0JCQkgICgqICAgMSAoc3RyaW5nLXRvLW51bWJlciAo YXJlZiBjdXItdGltZSAwKSkpKSkKLQkgICAgIChleHAtbm9ybSAoKyAoKiAzNjAgKHN0cmluZy10 by1udW1iZXIgKGFyZWYgZXhwLXRpbWUgMikpKQotCQkJICAoKiAgNjAgKHN0cmluZy10by1udW1i ZXIgKGFyZWYgZXhwLXRpbWUgMSkpKQotCQkJICAoKiAgIDEgKHN0cmluZy10by1udW1iZXIgKGFy ZWYgZXhwLXRpbWUgMCkpKSkpKQotCSg+ICgtIGN1ci1ub3JtIGV4cC1ub3JtKSAxKSkpKSkpCisJ IlJldHVybnMgdHJ1ZSBpZiBDT09LSUUgaXMgZXhwaXJlZC4KK0lmIENPT0tJRSBoYXMgYW4gZXhw aXJhdGlvbiBkYXRlIGl0IGlzIGNvbnZlcnRlZCB0byBzZWNvbmRzLCBhZGp1c3RlZCB0byB0aGUg Y2xpZW50IHRpbWV6b25lIGFuZCB0aGVuIGNvbXBhcmVkIGFnYWluc3QgKGZsb2F0LXRpbWUpLiIg CisJKGxldCogKChleHAgKHVybC1jb29raWUtZXhwaXJlcyBjb29raWUpKQorCQkJCSAoZXhwLXRp bWUgKGFuZCBleHAgKGZsb2F0LXRpbWUgKGRhdGUtdG8tdGltZSBleHApKSkpKQorCQkoaWYgKG5v dCBleHApIG5pbAkoPiAoZmxvYXQtdGltZSkgZXhwLXRpbWUpKSkKKwkpCiAKIChkZWZ1biB1cmwt Y29va2llLXJldHJpZXZlIChob3N0ICZvcHRpb25hbCBsb2NhbHBhcnQgc2VjdXJlKQogICAiUmV0 cmlldmUgYWxsIHRoZSBuZXRzY2FwZS1zdHlsZSBjb29raWVzIGZvciBhIHNwZWNpZmllZCBIT1NU IGFuZCBMT0NBTFBBUlQuIgo= --0015174c10aa710af9048f49ef38-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 09 01:37:07 2010 Received: (at 6957-done) by debbugs.gnu.org; 9 Sep 2010 05:37:07 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OtZop-0002Cz-Hn for submit@debbugs.gnu.org; Thu, 09 Sep 2010 01:37:07 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OtZon-0002Cd-KE for 6957-done@debbugs.gnu.org; Thu, 09 Sep 2010 01:37:05 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1OtZql-0005ua-2Y; Thu, 09 Sep 2010 01:39:07 -0400 To: 6957-done@debbugs.gnu.org Subject: Re: bug#6957: url-cookie-expired-p Redux (at last) References: From: Glenn Morris X-Spook: FIPS140 underground Saudi Arabia White Water JFK Jiang X-Ran: 7CJJ!0%VK?Z(1vJK(Kmq7|=NXYthc"1ns9nFHmN~Q;b X-Hue: blue X-Debbugs-No-Ack: yes X-Attribution: GM Date: Thu, 09 Sep 2010 01:39:07 -0400 Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -4.6 (----) X-Debbugs-Envelope-To: 6957-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.6 (----) Version: 23.3 Thank you for the patch; applied. BTW, something like (if (not foo) nil bar) can be written as (and foo bar). From unknown Wed Sep 10 13:56:13 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 07 Oct 2010 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator