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]

Reply via email to