From 612825583857f0dfbfa0c0bb3bb3c64832302f8d Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Tue, 30 Nov 2010 21:32:11 +0000 Subject: [1.2.X] Fixed #14812 -- Made parsing of the If-Modified-Since HTTP header more robust in presence of malformed values when serving static content. Thanks shaohua for the report, and alexey.smolsky@gmail.com for a similar report and patch. Backport of r14753 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14754 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/views/tests/static.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests') diff --git a/tests/regressiontests/views/tests/static.py b/tests/regressiontests/views/tests/static.py index 25153e86b0..de0bd51ac4 100644 --- a/tests/regressiontests/views/tests/static.py +++ b/tests/regressiontests/views/tests/static.py @@ -61,3 +61,17 @@ class StaticTests(TestCase): self.assertEquals(len(response.content), int(response['Content-Length'])) + def test_invalid_if_modified_since2(self): + """Handle even more bogus If-Modified-Since values gracefully + + Assume that a file is modified since an invalid timestamp as per RFC + 2616, section 14.25. + """ + file_name = 'file.txt' + invalid_date = ': 1291108438, Wed, 20 Oct 2010 14:05:00 GMT' + response = self.client.get('/views/site_media/%s' % file_name, + HTTP_IF_MODIFIED_SINCE=invalid_date) + file = open(path.join(media_dir, file_name)) + self.assertEquals(file.read(), response.content) + self.assertEquals(len(response.content), + int(response['Content-Length'])) -- cgit v1.3