8000 `http.cookies` module does not parse obsolete RFC 850 date format · Issue #123401 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

http.cookies module does not parse obsolete RFC 850 date format #123401

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Konano opened this issue Aug 27, 2024 · 1 comment
Closed

http.cookies module does not parse obsolete RFC 850 date format #123401

Konano opened this issue Aug 27, 2024 · 1 comment
Labels
stdlib Python modules in the Lib dir type-bug An unexpected behavior, bug, or error

Comments

@Konano
Copy link
Contributor
Konano commented Aug 27, 2024

Bug report

Bug description:

Description: According to RFC 9110, a recipient that parses a timestamp value in an HTTP field MUST accept all three HTTP-date formats. This includes the obsolete RFC 850 format, e.g., Sunday, 06-Nov-94 08:49:37 GMT. However, the Python standard library module http.cookies currently fails to parse this format, which leads to the cookie being discarded entirely.

Steps to Reproduce:

  1. Attempt to parse a cookie with a date in the obsolete RFC 850 format using the http.cookies module.
  2. Observe that the module fails to parse the date, resulting in the cookie being discarded.

Code Example:

import http.cookies

cookie_string = 'example=value; expires=Sunday, 06-Nov-94 08:49:37 GMT'
cookie = http.cookies.SimpleCookie()
cookie.load(cookie_string)

# The expected behavior is that the cookie's expiration date is correctly parsed.
# However, the module fails to parse the date in the obsolete RFC 850 format,
# resulting in the cookie being discarded.
print(cookie['example'].get('expires'))

Expected Behavior:
The http.cookies module should correctly parse the obsolete RFC 850 date format and retain the cookie.

Actual Behavior:
The module fails to parse the date, resulting in a KeyError and the cookie being discarded.

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs

@Konano Konano added the type-bug An unexpected behavior, bug, or error label Aug 27, 2024
Konano added a commit to Konano/cpython that referenced this issue Aug 27, 2024
@picnixz picnixz added the stdlib Python modules in the Lib dir label Aug 28, 2024
vstinner added a commit that referenced this issue Dec 11, 2024
…ormat (#123405)

Co-authored-by: Wulian <1055917385@qq.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
@vstinner
Copy link
Member

Implemented by change 359389e.

miss-islington pushed a commit to miss-islington/cpython that referenced this issue Dec 11, 2024
…date format (pythonGH-123405)

(cherry picked from commit 359389e)

Co-authored-by: Nano <nanoapezlk@gmail.com>
Co-authored-by: Wulian <1055917385@qq.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Dec 11, 2024
…date format (pythonGH-123405)

(cherry picked from commit 359389e)

Co-authored-by: Nano <nanoapezlk@gmail.com>
Co-authored-by: Wulian <1055917385@qq.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
vstinner added a commit that referenced this issue Dec 11, 2024
… date format (GH-123405) (#127829)

gh-123401: Fix http.cookies module to support obsolete RFC 850 date format (GH-123405)
(cherry picked from commit 359389e)

Co-authored-by: Nano <nanoapezlk@gmail.com>
Co-authored-by: Wulian <1055917385@qq.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
vstinner added a commit that referenced this issue Dec 11, 2024
… date format (GH-123405) (#127828)

gh-123401: Fix http.cookies module to support obsolete RFC 850 date format (GH-123405)
(cherry picked from commit 359389e)

Co-authored-by: Nano <nanoapezlk@gmail.com>
Co-authored-by: Wulian <1055917385@qq.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
srinivasreddy pushed a commit to srinivasreddy/cpython that referenced this issue Jan 8, 2025
…date format (python#123405)

Co-authored-by: Wulian <1055917385@qq.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stdlib Python modules in the Lib dir type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

3 participants
0