Bug #69655 [Com]: php -S changes MKCALENDAR request method to MKCOL
| From: | markus at unterwaditzer dot net | Date: | Tue, 30 Jun 2015 14:45:13 +0000 |
| Subject: | Bug #69655 [Com]: php -S changes MKCALENDAR request method to MKCOL | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-194015@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=69655&edit=1
ID: 69655
Comment by: markus at unterwaditzer dot net
Reported by: markus at unterwaditzer dot net
Summary: php -S changes MKCALENDAR request method to MKCOL
Status: Closed
Type: Bug
Package: Built-in web server
Operating System: Linux
PHP Version: 5.6.9
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Hello cmb,
>Certainly something to consider. However, that would not be a bug fix, but a rather a behavioral
>change, which might even require an RFC. Feel free to file a respective feature request. :)
I wouldn't consider it a behaviorial change, since existing PHP code is almost
impossible to get broken. The change from a higher perspective is that new
methods are supported: Concretely, all of them.
Previous Comments:
------------------------------------------------------------------------
[2015-06-27 18:47:44] cmb@php.net
The fix for this bug has been committed.
Thank you for the report, and for helping us make PHP better.
Wrt. MKCALENDAR, I have submitted request #69953 and will do a PR
for it.
------------------------------------------------------------------------
[2015-06-27 18:07:39] cmb@php.net
Automatic comment on behalf of cmb
Revision: http://git.php.net/?p=php-src.git;a=commit;h=bbe28d3a55f8b129d4595e5202b7c9891a568509
Log: Fixed #69655: php -S changes MKCALENDAR request method to MKCOL
------------------------------------------------------------------------
[2015-06-27 16:31:51] cmb@php.net
Indeed, Markus, the issue is not so much that MKCALENDAR is not
implemented, but that the request method parsing is buggy. For
unsupported methods the server is supposed to return "501 Not
Implemented", but that doesn't work for several cases, such as the
ones you've already mentionend. I'm working on a fix.
> [...] isn't it easier (and performant enough for the builtin
> server) to just pass the method on to PHP unparsed?
Certainly something to consider. However, that would not be a bug
fix, but a rather a behavioral change, which might even require an
RFC. Feel free to file a respective feature request. :)
------------------------------------------------------------------------
[2015-05-18 23:29:08] markus at unterwaditzer dot net
Original discussion: https://github.com/fruux/sabre-dav/issues/603#issuecomment-103086001
Further bugs related to the HTTP request method (in either PHP itself or the HTTP parser it uses)
include:
- No response/idling connection with MKCO or MKCOLL as request method.
- Empty reply with M as request method.
It seems http-parser includes some very complex logic to parse the HTTP method performantly: https://github.com/joyent/http-parser/blob/master/http_parser.c#L1008
Total armchair engineering here, but isn't it easier (and performant enough for the builtin
server) to just pass the method on to PHP unparsed?
------------------------------------------------------------------------
[2015-05-18 21:06:17] cmb@php.net
Actually, MKCALENDAR is not yet supported by the CLI server. When
I do the respective curl request, I get "curl: (52) Empty reply
from server" (PHP 5.6.8 and current master on Windows, curl
running on Cygwin).
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=69655
--
Edit this bug report at https://bugs.php.net/bug.php?id=69655&edit=1