[Pound Mailing List] New XSSLHeaders directive

Rick O'Sullivan <[email protected]> Sat, 16 Mar 2019 12:57:34 -0400
Newsgroups gmane.comp.web.pound.general
Message-ID <[email protected]>
On GitHub at https://github.com/patrodyne/pound, I've added a directive 
named XSSLHeaders to control which, if any, 'X-SSL-' headers are sent to 
the back-end.  In addition, I've added calls to strip_eol(buf) to remove 
line breaks from the 'X-SSL-certificate' value when it is used.

Rationale: When Pound is configured to require client certificates, v2.8 
and prior always send HTTP headers with names like 'X-SSL-*' to the 
back-end. In particular, the header named 'X-SSL-certificate' is sent 
with the value returned by PEM_write_bio_X509(bb, x509). This can result 
with a '400: Folding Header' response from back-end servers that 
strictly enforce RFC 7230. The issue is that the PEM library call 
returns a buffer with embedded carriage return / line feeds; but, the 
RFC forbids line breaks in HTTP headers.

Note: Pound was previously modified to not add EOL characters but it did 
not strip EOL characters included the PEM buffer.

ListenHTTPS / XSSLHeaders 0|1|2|3: Control sending X-SSL headers to the 
back-end server. If this value is 0 disable  the  headers. If  the 
value  is  1 send some X-SSL headers. If the value is 2 then send more 
X-SSL headers. If the value is 3 then send all X-SSL headers.


--
To unsubscribe send an email with subject unsubscribe to [email protected]
Please contact [email protected] for questions.