RajaMuhammadAwais opened a new pull request, #13860: URL: https://github.com/apache/trafficserver/pull/13860
## Issue This PR adds regression coverage for Apache Traffic Server issue #5974: Turning on PROXY Protocol forces clients to perform ALPN, otherwise connections are dropped. The issue reported that HTTPS requests failed when the ATS listener used the `:pp` server-port option and the client did not advertise ALPN. Requests worked when ALPN was enabled, but clients such as Python requests or `curl --no-alpn` received an empty response. ## Background ATS supports flexible PROXY Protocol listeners. A listener configured with `:pp` must be able to process both: - Connections that begin with a valid PROXY Protocol header. - Normal connections that do not use PROXY Protocol. For TLS connections, the PROXY Protocol header appears before the TLS ClientHello. After the PROXY header is processed, the remaining bytes must be passed to the normal TLS handshake. ALPN negotiation is optional for HTTP/1.1 and must not be required for a successful request. ## Root Cause Coverage The regression test verifies that the PROXY Protocol and TLS processing path does not incorrectly depend on ALPN negotiation. It ensures that ATS: - Detects and consumes the PROXY Protocol header. - Preserves the following TLS handshake data. - Completes the TLS handshake without ALPN. - Processes the request as HTTP/1.1. - Returns a successful HTTP 200 response. ## Changes Added: `tests/gold_tests/proxy_protocol/proxy_protocol_no_alpn.test.py` The test configures an ATS TLS listener with PROXY Protocol support and sends a request using: ```bash curl --haproxy-protocol --no-alpn --http1.1 ``` The test verifies that the response is: ```text HTTP 200 OK ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
