relax space-in-field-name checks only if new MHD_USE_PERMISSIVE_CHECKS flag is set

This commit is contained in:
Christian Grothoff
2017-04-24 17:30:26 +02:00
parent e95ec4874d
commit b57456c2e6
4 changed files with 25 additions and 5 deletions
+9 -2
View File
@@ -12,7 +12,7 @@ This manual is for GNU libmicrohttpd
(version @value{VERSION}, @value{UPDATED}), a library for embedding
an HTTP(S) server into C applications.
Copyright @copyright{} 2007--2016 Christian Grothoff
Copyright @copyright{} 2007--2017 Christian Grothoff
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -496,7 +496,7 @@ that IPv4 addresses are returned by MHD in the IPv6-mapped format
(the 'struct sockaddr_in6' format will be used for IPv4 and IPv6).
@item MHD_USE_PEDANTIC_CHECKS
Be pedantic about the protocol (as opposed to as tolerant as possible).
Be pedantic about the protocol.
Specifically, at the moment, this flag causes MHD to reject HTTP
1.1 connections without a @code{Host} header. This is required by the
standard, but of course in violation of the ``be as liberal as possible
@@ -504,6 +504,13 @@ in what you accept'' norm. It is recommended to turn this @strong{ON}
if you are testing clients against MHD, and @strong{OFF} in
production.
@item MHD_USE_PERMISSIVE_CHECKS
Be permissive about the protocol, allowing slight deviations that are
technically not allowed by the RFC. Specifically, at the moment, this
flag causes MHD to allow spaces in header field names. This is
disallowed by the standard.
@item MHD_USE_POLL
@cindex FD_SETSIZE
@cindex poll