[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.