[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#798978: closed by Peter Palfrader <weasel@debian.org> (Re: Snapshot.debian.org not following HTTP standards reg. ETag)

Thanks for the effort :)
They appear now with quotes here, as well. 


On Mon, Sep 14, 2015 at 7:21 PM, Debian Bug Tracking System <owner@bugs.debian.org> wrote:
This is an automatic notification regarding your Bug report
which was filed against the snapshot.debian.org package:

#798978: Snapshot.debian.org not following HTTP standards reg. ETag

It has been closed by Peter Palfrader <weasel@debian.org>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Peter Palfrader <weasel@debian.org> by
replying to this email.

798978: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798978
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

---------- Forwarded message ----------
From: Peter Palfrader <weasel@debian.org>
To: Michael Bisbjerg <michael@mbwarez.dk>
Cc: 798978-done@bugs.debian.org
Date: Mon, 14 Sep 2015 19:11:59 +0200
Subject: Re: Snapshot.debian.org not following HTTP standards reg. ETag
On Thu, 20 Aug 2015, Michael Bisbjerg wrote:

> While performing requests against http://snapshot.debian.org/, I came
> across the fact that I can't do cachine using ETag's with my current
> client. It turns out that the .NET HttpClient enforces the rules set forth
> by the HTTP spec, which dictates that entity-tag fields should be quoted,
> as seen in RFC7232 section 2.3.
> The snapshots service webserver does not provide quoted ETags. As an
> example, this URI:
> http://snapshot.debian.org/archive/debian-ports/20081002T000000Z/dists/experimental/Release
> Returns this header:
> ETag: 24357698cacd5843edee2e4777497f069285ad93
> Could this be fixed, so that it follows the standards?

How's it now?

} weasel@valiant:~$ HEAD http://snapshot.debian.org/archive/debian-ports/20081002T000000Z/dists/experimental/Release | grep -i etag
} ETag: "24357698cacd5843edee2e4777497f069285ad93"

Turns out, python-paste uses the return value of the calculate_etag() method
verbatim in the etag header.  Any quoting needs to be done by the
calculate_etag() method itself.

--- a/web/app/snapshot/controllers/archive.py
+++ b/web/app/snapshot/controllers/archive.py
@@ -67,3 +67,3 @@ class SnapshotFileApp(FileApp):
     def calculate_etag(self):
-        return self.digest
+        return '"%s"' % (self.digest,)

Thanks for your report.
                            |  .''`.       ** Debian **
      Peter Palfrader       | : :' :      The  universal
 https://www.palfrader.org/ | `. `'      Operating System
                            |   `-    https://www.debian.org/

---------- Forwarded message ----------
From: Peter Palfrader <weasel@debian.org>
To: submit@bugs.debian.org
Date: Mon, 14 Sep 2015 18:31:19 +0200
Subject: Snapshot.debian.org not following HTTP standards reg. ETag
Package: snapshot.debian.org

Michael Bisbjerg reports in
that the snapshot web-app does not do etags correctly.

                            |  .''`.       ** Debian **
      Peter Palfrader       | : :' :      The  universal
 https://www.palfrader.org/ | `. `'      Operating System
                            |   `-    https://www.debian.org/

Reply to: