Skip to content

Regression: ATS 9.0.x rejects URI's with two leading /'s #7246

Description

@zwoop

Albeit not technically allowed by the RFCs (as far as I can tell), this is likely a common case where clients can intentionally or accidentally send two leading /'s. All versions of ATS prior to 9.0.x handles this fine, but 9.0.x does not (since we hardened the scheme parsing algorithm).

The request would look like e.g.

GET //index.html HTTP/1.1

Which is now rejected with

[Oct  6 23:02:26.490] [ET_NET 5] DEBUG: <HttpSM.cc:773 (state_read_client_request_header)> (http) [265] error parsing client request header
[Oct  6 23:02:26.490] [ET_NET 4] DEBUG: <HttpSM.cc:658 (state_read_client_request_header)> (http) [267] [&HttpSM::state_read_client_request_header, VC_EVENT_READ_READY/TS_EVENT_VCONN_READ_READY]
[Oct  6 23:02:26.491] [ET_NET 5] DEBUG: <HttpTransact.cc:793 (BadRequest)> (http_trans) [265] [BadRequest]parser marked request bad

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions