[Django] #26024: ConditionalGetMiddleware's ETag is broken

14 views
Skip to first unread message

Django

unread,
Jan 2, 2016, 1:07:20 PM1/2/16
to django-...@googlegroups.com
#26024: ConditionalGetMiddleware's ETag is broken
-------------------------------------+-----------------------
Reporter: samifahed | Owner: samifahed
Type: Bug | Status: new
Component: Core (Cache system) | Version: 1.9
Severity: Normal | Keywords: Etags
Triage Stage: Unreviewed | Has patch: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-----------------------
ETag support is broken in ConditionalGetMiddleware

django.utils.cache.get_conditional_response's etag argument needs to be
*unquoted*, however the etag passed by CommonMiddleware's make_response is
quoted or the GZipMiddleware is modifying it while keeping it quoted.

--
Ticket URL: <https://code.djangoproject.com/ticket/26024>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jan 2, 2016, 1:11:22 PM1/2/16
to django-...@googlegroups.com
#26024: ConditionalGetMiddleware's ETag is broken
-------------------------------------+-------------------------------------

Reporter: samifahed | Owner: samifahed
Type: Bug | Status: new
Component: Core (Cache system) | Version: 1.9
Severity: Normal | Resolution:

Keywords: Etags | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by samifahed):

* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0


Old description:

> ETag support is broken in ConditionalGetMiddleware
>
> django.utils.cache.get_conditional_response's etag argument needs to be
> *unquoted*, however the etag passed by CommonMiddleware's make_response
> is quoted or the GZipMiddleware is modifying it while keeping it quoted.

New description:

ETag support is broken in ConditionalGetMiddleware

django.utils.cache.get_conditional_response's etag argument needs to be
*unquoted*, however the etag passed by CommonMiddleware's make_response is
quoted or the GZipMiddleware is modifying it while keeping it quoted.

Pull request with Regression Test:
https://github.com/django/django/pull/5919

--

--
Ticket URL: <https://code.djangoproject.com/ticket/26024#comment:1>

Django

unread,
Jan 4, 2016, 6:48:08 AM1/4/16
to django-...@googlegroups.com
#26024: ConditionalGetMiddleware's ETag is broken
-------------------------------------+-------------------------------------

Reporter: samifahed | Owner: samifahed
Type: Bug | Status: new
Component: Core (Cache system) | Version: 1.9
Severity: Release blocker | Resolution:
Keywords: Etags | Triage Stage: Accepted

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by timgraham):

* severity: Normal => Release blocker
* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/26024#comment:2>

Django

unread,
Jan 5, 2016, 9:39:53 AM1/5/16
to django-...@googlegroups.com
#26024: ConditionalGetMiddleware's ETag is broken
-------------------------------------+-------------------------------------
Reporter: samifahed | Owner: samifahed
Type: Bug | Status: closed

Component: Core (Cache system) | Version: 1.9
Severity: Release blocker | Resolution: fixed

Keywords: Etags | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Graham <timograham@…>):

* status: new => closed
* resolution: => fixed


Comment:

In [changeset:"186b6c61bfe85afa4d6bf213d04a28dd2853fed2" 186b6c61]:
{{{
#!CommitTicketReference repository=""
revision="186b6c61bfe85afa4d6bf213d04a28dd2853fed2"
Fixed #26024 -- Fixed regression in ConditionalGetMiddleware ETag support.

Thanks Denis Cornehl for help with the patch.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26024#comment:3>

Django

unread,
Jan 5, 2016, 9:41:58 AM1/5/16
to django-...@googlegroups.com
#26024: ConditionalGetMiddleware's ETag is broken
-------------------------------------+-------------------------------------
Reporter: samifahed | Owner: samifahed
Type: Bug | Status: closed

Component: Core (Cache system) | Version: 1.9
Severity: Release blocker | Resolution: fixed
Keywords: Etags | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"ee2835e69c47d02e8bce5a496bf8bd9f93b04fb4" ee2835e6]:
{{{
#!CommitTicketReference repository=""
revision="ee2835e69c47d02e8bce5a496bf8bd9f93b04fb4"
[1.9.x] Fixed #26024 -- Fixed regression in ConditionalGetMiddleware ETag
support.

Backport of 186b6c61bfe85afa4d6bf213d04a28dd2853fed2 from master
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26024#comment:4>

Reply all
Reply to author
Forward
0 new messages