From 6d8cf826d76b4008da2a0fc1bfd6334ff81a253c Mon Sep 17 00:00:00 2001 From: marius Date: Tue, 19 Nov 2019 18:30:21 +0100 Subject: [PATCH 1/3] modified FSM so that the whitespace between header-key and value is optional --- include/server/request_parser.hpp | 1 - src/server/request_parser.cpp | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/include/server/request_parser.hpp b/include/server/request_parser.hpp index 3ac4c17a5..6d9093d7d 100644 --- a/include/server/request_parser.hpp +++ b/include/server/request_parser.hpp @@ -61,7 +61,6 @@ class RequestParser header_line_start, header_lws, header_name, - space_before_header_value, header_value, expecting_newline_2, expecting_newline_3 diff --git a/src/server/request_parser.cpp b/src/server/request_parser.cpp index 283425693..e39c0e40b 100644 --- a/src/server/request_parser.cpp +++ b/src/server/request_parser.cpp @@ -217,7 +217,7 @@ RequestParser::RequestStatus RequestParser::consume(http::request ¤t_reque case internal_state::header_name: if (input == ':') { - state = internal_state::space_before_header_value; + state = internal_state::header_value; return RequestStatus::indeterminate; } if (!is_char(input) || is_CTL(input) || is_special(input)) @@ -226,14 +226,12 @@ RequestParser::RequestStatus RequestParser::consume(http::request ¤t_reque } current_header.name.push_back(input); return RequestStatus::indeterminate; - case internal_state::space_before_header_value: + case internal_state::header_value: if (input == ' ') { state = internal_state::header_value; return RequestStatus::indeterminate; } - return RequestStatus::invalid; - case internal_state::header_value: if (input == '\r') { state = internal_state::expecting_newline_2; From ca5d17adabdde6040a9e89a0de1043e8ca91e24b Mon Sep 17 00:00:00 2001 From: Marius Rescheleit Date: Tue, 3 Dec 2019 12:21:53 +0100 Subject: [PATCH 2/3] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a270608dc..e4a0dd18f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - ADDED: flatbuffers output format support [#5513](https://github.com/Project-OSRM/osrm-backend/pull/5513) - ADDED: Global 'skip_waypoints' option [#5556](https://github.com/Project-OSRM/osrm-backend/pull/5556) - FIXED: Install the libosrm_guidance library correctly [#5604](https://github.com/Project-OSRM/osrm-backend/pull/5604) + - FIXED: Http Handler can now deal witch optional whitespace between header-key and -value [#5606](https://github.com - Routing: - CHANGED: allow routing past `barrier=arch` [#5352](https://github.com/Project-OSRM/osrm-backend/pull/5352) - CHANGED: default car weight was reduced to 2000 kg. [#5371](https://github.com/Project-OSRM/osrm-backend/pull/5371) From d59ecb321e09bd93f2ff41110c91da5ef16ec717 Mon Sep 17 00:00:00 2001 From: Marius Rescheleit Date: Wed, 11 Dec 2019 13:28:57 +0100 Subject: [PATCH 3/3] added complete link to issue --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4a0dd18f..6e2455ee7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ - ADDED: flatbuffers output format support [#5513](https://github.com/Project-OSRM/osrm-backend/pull/5513) - ADDED: Global 'skip_waypoints' option [#5556](https://github.com/Project-OSRM/osrm-backend/pull/5556) - FIXED: Install the libosrm_guidance library correctly [#5604](https://github.com/Project-OSRM/osrm-backend/pull/5604) - - FIXED: Http Handler can now deal witch optional whitespace between header-key and -value [#5606](https://github.com + - FIXED: Http Handler can now deal witch optional whitespace between header-key and -value [#5606](https://github.com/Project-OSRM/osrm-backend/issues/5606) - Routing: - CHANGED: allow routing past `barrier=arch` [#5352](https://github.com/Project-OSRM/osrm-backend/pull/5352) - CHANGED: default car weight was reduced to 2000 kg. [#5371](https://github.com/Project-OSRM/osrm-backend/pull/5371)