Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
libmicrohttpd
bsc1041216-part3.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bsc1041216-part3.patch of Package libmicrohttpd
From b57456c2e6536764ad7b065c70b999f876269a2c Mon Sep 17 00:00:00 2001 From: Christian Grothoff <christian@grothoff.org> Date: Mon, 24 Apr 2017 17:30:26 +0200 Subject: relax space-in-field-name checks only if new MHD_USE_PERMISSIVE_CHECKS flag is set Index: libmicrohttpd-0.9.30/doc/libmicrohttpd.texi =================================================================== --- libmicrohttpd-0.9.30.orig/doc/libmicrohttpd.texi +++ libmicrohttpd-0.9.30/doc/libmicrohttpd.texi @@ -455,7 +455,7 @@ that IPv4 addresses are returned by MHD (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 @@ -463,6 +463,13 @@ in what you accept'' norm. It is recomm 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 Index: libmicrohttpd-0.9.30/src/include/microhttpd.h =================================================================== --- libmicrohttpd-0.9.30.orig/src/include/microhttpd.h +++ libmicrohttpd-0.9.30/src/include/microhttpd.h @@ -517,8 +517,16 @@ enum MHD_FLAG * Enalbed always on W32 as winsock does not properly behave * with `shutdown()` and this then fixes potential problems. */ - MHD_USE_EPOLL_TURBO = 4096 + MHD_USE_EPOLL_TURBO = 4096, + /** + * 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. + */ + MHD_USE_PERMISSIVE_CHECKS = 131072 }; Index: libmicrohttpd-0.9.30/src/microhttpd/connection.c =================================================================== --- libmicrohttpd-0.9.30.orig/src/microhttpd/connection.c +++ libmicrohttpd-0.9.30/src/microhttpd/connection.c @@ -1625,7 +1625,7 @@ process_header_line (struct MHD_Connecti "Received malformed line (no colon), closing connection.\n"); return MHD_NO; } - if (0 != (MHD_USE_PEDANTIC_CHECKS & connection->daemon->options)) + if (0 == (MHD_USE_PERMISSIVE_CHECKS & connection->daemon->options)) { /* check for whitespace before colon, which is not allowed by RFC 7230 section 3.2.4; we count space ' ' and
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor