Skip to content
New issue

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

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

Already on GitHub? # to your account

Validate HTTP versions and methods #423

Merged
merged 2 commits into from
Feb 4, 2024
Merged

Conversation

kenballus
Copy link
Contributor

Currently waitress accepts certain malformed HTTP methods and versions. For example, waitress parses and accepts \x00 / HTTP/............0596.7407.\r\n\r\n

This patch changes waitress to accept only methods and versions that match the grammar in the RFCs.

@kenballus kenballus changed the title Valid HTTP versions and methods Validate HTTP versions and methods Oct 17, 2023
@digitalresistor digitalresistor self-assigned this Feb 4, 2024
@digitalresistor digitalresistor merged commit 4f9af4d into Pylons:main Feb 4, 2024
27 checks passed
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jun 13, 2024
3.0.0 (2024-02-04)
------------------

- Rename "master" git branch to "main"

- Fix a bug that would appear on macOS whereby if we accept() a socket that is
  already gone, setting socket options would fail and take down the server. See
  Pylons/waitress#399

- Fixed testing of vendored asyncore code to not rely on particular naming for
  errno's. See Pylons/waitress#397

- HTTP Request methods and versions are now validated to meet the HTTP
  standards thereby dropping invalid requests on the floor. See
  Pylons/waitress#423

- No longer close the connection when sending a HEAD request response. See
  Pylons/waitress#428

- Always attempt to send the Connection: close response header when we are
  going to close the connection to let the remote know in more instances.
  Pylons/waitress#429

- Python 3.7 is no longer supported. Add support for Python 3.11, 3.12 and
  PyPy 3.9, 3.10. See Pylons/waitress#412

- Document that trusted_proxy may be set to a wildcard value to trust all
  proxies. See Pylons/waitress#431
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants