Skip to content
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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants