diff --git a/NEWS b/NEWS index 524ebe259cb..cb2748d1024 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,8 @@ PHP NEWS . Fixed bug #72595 (php_output_handler_append illegal write access). (cmb) . Fixed bug #66719 (Weird behaviour when using get_called_class() with call_user_func()). (Nikita) + . Fixed bug #81305 (Built-in Webserver Drops Requests With "Upgrade" Header). + (cmb) - BCMath: . Fixed bug #78238 (BCMath returns "-0"). (cmb) diff --git a/sapi/cli/php_http_parser.c b/sapi/cli/php_http_parser.c index bb1c4924a0d..c7c2ad0caae 100644 --- a/sapi/cli/php_http_parser.c +++ b/sapi/cli/php_http_parser.c @@ -1339,11 +1339,16 @@ size_t php_http_parser_execute (php_http_parser *parser, } } + /* We cannot meaningfully support upgrade requests, since we only + * support HTTP/1 for now. + */ +#if 0 /* Exit, the rest of the connect is in a different protocol. */ if (parser->upgrade) { CALLBACK2(message_complete); return (p - data); } +#endif if (parser->flags & F_SKIPBODY) { CALLBACK2(message_complete); diff --git a/sapi/cli/tests/bug81305.phpt b/sapi/cli/tests/bug81305.phpt new file mode 100644 index 00000000000..ba6b9ac8c1a --- /dev/null +++ b/sapi/cli/tests/bug81305.phpt @@ -0,0 +1,36 @@ +--TEST-- +Bug #81305 (Built-in Webserver Drops Requests With "Upgrade" Header) +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +HTTP/1.1 200 OK +Host: %s +Date: %s +Connection: close +X-Powered-By: PHP/%s +Content-type: text/html; charset=UTF-8 + +Hello world