Issue #23888: Handle fractional time in cookie expiry. Patch by ssh.

This commit is contained in:
Robert Collins 2015-08-04 10:06:29 +12:00
parent 43cbbe21a7
commit a0e5d981cd
3 changed files with 12 additions and 1 deletions

View file

@ -758,7 +758,7 @@ class Cookie:
): ):
if version is not None: version = int(version) if version is not None: version = int(version)
if expires is not None: expires = int(expires) if expires is not None: expires = int(float(expires))
if port is None and port_specified is True: if port is None and port_specified is True:
raise ValueError("if port is None, port_specified must be false") raise ValueError("if port is None, port_specified must be false")

View file

@ -566,6 +566,15 @@ class CookieTests(unittest.TestCase):
self.assertEqual(len(c), 1) self.assertEqual(len(c), 1)
self.assertIn('spam="bar"', h) self.assertIn('spam="bar"', h)
# test if fractional expiry is accepted
cookie = Cookie(0, "name", "value",
None, False, "www.python.org",
True, False, "/",
False, False, "1444312383.018307",
False, None, None,
{})
self.assertEqual(cookie.expires, 1444312383)
# XXX RFC 2965 expiry rules (some apply to V0 too) # XXX RFC 2965 expiry rules (some apply to V0 too)
def test_default_path(self): def test_default_path(self):

View file

@ -66,6 +66,8 @@ Core and Builtins
Library Library
------- -------
- Issue #23888: Handle fractional time in cookie expiry. Patch by ssh.
- Issue #23652: Make it possible to compile the select module against the - Issue #23652: Make it possible to compile the select module against the
libc headers from the Linux Standard Base, which do not include some libc headers from the Linux Standard Base, which do not include some
EPOLL macros. Patch by Matt Frank. EPOLL macros. Patch by Matt Frank.