As per http spec, we want clients to send us trailers in chunked requests. However the request on the server side does not get the trailer at all. This can be reproduced with Apache 2.4.16 and mod proxy Request: <<<<< telnet somehost 80 POST /some-path HTTP/1.1 Authorization: Basic XXXX= Host: somehost.domain.com Transfer-Encoding: chunked Trailer: My-Test-Trailer 50 11111111111111111111111111111111111111111111111111111111111111111111111111111111 0 My-Test-Trailer: some-value-new >>>>>> Mod proxy is forwarding the request to apache tomcat in our case and it does not forward the trailers. We have verified that tomcat does get the trailers when the same request is sent to tomcat directly, so mod proxy is blocking them out. Apparently mod proxy never uses the trailers stored in the request/response trailers as per the discussion in the user group: http://www.gossamer-threads.com/lists/apache/users/448909 This is very critical to us and blocking a feature rollout, I can help testing a patch if available.
Reclassifying as enhancement per Yann's assessment in the thread. The trailers are hop-by-hop so they are not being "blocked".
Hi, This is a crucial fix for us, if anybody can provide us with a patch, we can test it out. I can even work with my management and try to fund the patch development if possible. Thanks Sachin
Created attachment 33203 [details] HTTP Trailer patch for 2.4.16 Enforces chunked encoding if trailers are presented. Checks and filters trailer headers which are declared in the Trailer header.
Created attachment 33204 [details] script sending test chunked request with a trailer
Created attachment 33205 [details] HTTP Trailer patch for trunk (2.5) I wasn't able to test this because I was stumbled with configure script generation. So I tested only patch for 2.4.16. The patch forward trailing headers in a request passing only those which names are predefined in the Trailer header.
Created attachment 33239 [details] proxy client trailers for 2.4.17
Hi, a few remarks: - calling apr_bucket_immortal_create on a buffer allocated with apr_pstrcat is odd. - apr_strtok(mod_trailers, ", ",... should maybe be apr_strtok(mod_trailers, ", \t",...
Created attachment 33249 [details] proxy client trailers for 2.4.17 Changes after the review: 1. Split trailer list by tab, comma and space. 2. Replace apr_bucket_immortal_create with apr_bucket_pool_create for trailing headers.
Created attachment 33368 [details] proxy passes http trailers from client