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

This commit is contained in:
Robert Collins 2015-08-04 10:07:21 +12:00
commit 55b88700d2
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 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:
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.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)
def test_default_path(self):

View File

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