Commit graph

128 commits

Author SHA1 Message Date
Christoph M. Becker
fd94c92171 Fix #68291: 404 on urls with '+'
URI paths have to be treated according to RFC 3986 by the CLI web server, not
as application/x-www-form-urlencoded.
2015-09-05 14:34:08 +02:00
Christoph M. Becker
9c805a6cb3 Fix #70264: CLI server directory traversal
On Windows the built-in webserver doesn't prevent directory traversal when
backslashes are used as path component separators. Even though that is not a
security issue (the CLI webserver is meant for testing only), we fix that by
replacing backslashes in the path with slashes on Windows, because backslashes
may be valid characters for file names on other systems, but not on Windows.
2015-08-14 17:05:31 +02:00
wusuopu
72976e2497 Fix #66606: Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE
The patch will store Content-Type header value in both HTTP_CONTENT_TYPE field and CONTENT_TYPE field.
2015-08-09 02:37:16 +02:00
Christoph M. Becker
1920ba6f7b Fix #64878: 304 responses return Content-Type header
According to RFC 7232 304 responses should not send a Content-Type header,
so the CLI server should comply.
2015-06-27 14:28:33 +02:00
Xinchen Hui
0579e8278d bump year 2015-01-15 23:26:37 +08:00
Rasmus Lerdorf
5065505c93 Fix bug #68784 2015-01-09 18:09:13 -08:00
Adam Harvey
27ff425b78 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Handle NULL strings in sapi_cli_server_register_variable().
  Allow CLI server test scripts to specify the name of the router file.

Conflicts:
	sapi/cli/tests/php_cli_server.inc
2015-01-06 01:27:37 +00:00
Adam Harvey
448ef30f75 Handle NULL strings in sapi_cli_server_register_variable().
Fixes bug #68745 (Invalid HTTP requests make web server segfault).
2015-01-06 01:23:27 +00:00
nil0x42
2a73d56ef9 Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:42:12 -08:00
nil0x42
a87300241f Fix php cli (-S option) inconsistent port parsing
Add port range verification of listening port with -S option for the php cli.
This fixes inconsistent listening port due to unverified cast from long to short
with htons(3).
2014-11-30 22:29:24 -08:00
Tjerk Meesters
4e3d9a52ac Merge branch 'PHP-5.5' into PHP-5.6 2014-07-12 15:09:47 +08:00
Tjerk Meesters
1684ba3c6f Fix #67594 - invisible colon should be stripped off header name 2014-07-12 12:45:50 +08:00
Adam Harvey
70e9d3e2f9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
2014-07-07 20:45:01 +00:00
Adam Harvey
1939b34c78 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
2014-07-07 20:40:47 +00:00
Adam Harvey
604de67b7d Fixed bug #66830 (Empty header causes PHP built-in web server to hang).
We had an infinite loop in sapi_cli_server_send_headers(): while iterating over
the linked list of headers, when an empty header was hit, continue would go to
the next iteration of the loop without updating h to be the next value in the
linked list. Updating it to always increment regardless of whether the header
is actually valid or not fixes the issue.
2014-07-07 20:36:06 +00:00
Adam Harvey
e082199d8e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add 308 and 426 to the HTTP response code map in the CLI server.
2014-06-12 17:57:36 -07:00
Adam Harvey
e956ba9357 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Add 308 and 426 to the HTTP response code map in the CLI server.
2014-06-12 17:56:10 -07:00
Adam Harvey
fe67674809 Add 308 and 426 to the HTTP response code map in the CLI server.
Implements FR #67429 (CLI server is missing some new HTTP response codes).
2014-06-12 17:54:29 -07:00
Remi Collet
e2493a3a08 fix merge from php 5.5 (already fixed, differently) 2014-06-10 10:38:39 +02:00
Remi Collet
d440bb3e68 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  NEWS
  Fixed bug #67406 built-in web-server segfaults on startup
2014-06-10 10:32:26 +02:00
Remi Collet
58c6a08e00 Fixed bug #67406 built-in web-server segfaults on startup
Reproduce on aarch64.

From select man page:
  "select() may update the timeout argument to indicate how much time was left."
So "const" is not ok.
2014-06-10 10:28:34 +02:00
Anatol Belski
b4c238c8cf Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #67079 Missing MIME types for XML/XSL files
2014-04-16 09:48:31 +02:00
Anatol Belski
9eb726b3ab Fixed bug #67079 Missing MIME types for XML/XSL files 2014-04-16 09:47:49 +02:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772 Bump year 2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Ard Biesheuvel
f33265d572 cli: don't cast away const in select() timeout argument
The timeout argument to select() is modified to reflect the time
remaining when the function returns on a non-timeout condition.
Passing a pointer to const data and casting away the const-ness is
asking for trouble, but for some reason, this trouble manifests
itself only on non-x86 architectures [whose implementation of select()
in glibc is different from the one supplied for x86]

Fix this by passing a stack copy of the timeout argument to select()
2013-12-09 16:54:42 +01:00
Andrea Faulds
35b463a2c5 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
  Removed UPGRADING note
  Rewrote test using tcp instead of http:// stream
  Implemented FR #65917 (getallheaders() is not supported by the built-in...)
2013-11-18 21:43:59 +00:00
Andrea Faulds
9937e2fda5 Merge branch 'CLIGetAllHeadersBackport' into PHP-5.5
* CLIGetAllHeadersBackport:
  Removed UPGRADING note
  Rewrote test using tcp instead of http:// stream
  Implemented FR #65917 (getallheaders() is not supported by the built-in...)
2013-11-18 21:19:07 +00:00
Christopher Jones
419bef3070 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  This is CLI web server change.  Added some common MIME types to the existing lookup list, pending a more thorough lookup solution, if anyone wants to do that.  Ref http://news.php.net/php.internals/69990
2013-11-15 12:37:17 -08:00
Christopher Jones
d0cd112702 This is CLI web server change. Added some common MIME types to the
existing lookup list, pending a more thorough lookup solution, if
anyone wants to do that.  Ref http://news.php.net/php.internals/69990

A router can be used to add to, or override, the MIME type lookups,
see http://php.net/manual/en/features.commandline.webserver.php
2013-11-15 12:36:25 -08:00
Andrea Faulds
aee271ec0d Implemented FR #65917 (getallheaders() is not supported by the built-in...)
- Implemented apache_request_headers() and getallheaders() alias in CLI server
- Implemented apache_response_headers() in CLI server using FastCGI code

Conflicts:
	NEWS
	UPGRADING
2013-11-12 20:27:34 +00:00
Felipe Pena
8153dd2a95 Merge branch 'PHP-5.5'
* PHP-5.5:
  - Fixed bug #65818 (Segfault with built-in webserver and chunked transfer encoding)
  - BFN
  Allow the ldap extension to be compiled with Oracle's LDAP implementation, if desired.  Note the implementations differ so you will see different ldap behavior.
2013-10-05 12:53:24 -03:00
Felipe Pena
93f3ba66a7 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - Fixed bug #65818 (Segfault with built-in webserver and chunked transfer encoding)
  - BFN
2013-10-05 12:53:10 -03:00
Felipe Pena
3aaee86ee3 - Fixed bug #65818 (Segfault with built-in webserver and chunked transfer encoding) 2013-10-05 12:52:55 -03:00
Christopher Jones
dcafcd01a9 Merge branch 'PHP-5.5'
* PHP-5.5:
  Added application/pdf to PHP CLI Web Server mime types.
2013-09-19 20:23:18 -07:00
Christopher Jones
dfa43d55dd Added application/pdf to PHP CLI Web Server mime types. 2013-09-19 20:22:50 -07:00
Michael Wallner
1c15d70cbd Merge branch 'slim-postdata'
* slim-postdata:
  slim post data
  add NEWS entry; add simple test
  more precise condition
  make this work in vc11 too
  Use int64_t and atoll() after discussion with johannes
  ws
  Patch for https://bugs.php.net/bug.php?id=44522 to allow uploading files above 2G.
2013-09-17 10:50:49 +02:00
Adam Harvey
8b6270271e Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Handle CLI server request headers case insensitively.
  5.4.21 now

Conflicts:
	configure.in
	main/php_version.h
2013-09-09 16:32:16 -07:00
Adam Harvey
3c3b2b5bdc Handle CLI server request headers case insensitively.
Fixes bug #65633 (built-in server treat some http headers as case-sensitive).
2013-09-09 16:24:49 -07:00
Michael Wallner
2438490add slim post data 2013-08-27 13:31:35 +02:00
Christopher Jones
39612afc72 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings.

Conflicts:
	ext/dba/libinifile/inifile.c
2013-08-14 20:43:25 -07:00
Christopher Jones
9ad97cd489 Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings. 2013-08-14 20:36:50 -07:00
Adam Harvey
77c46ba516 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix the spelling of the php_cli_server_http_response_status_code_pair typedef.
  Change the search in get_status_string() to correctly handle unknown codes.
2013-06-20 09:39:37 -07:00
Adam Harvey
f5c7fe9202 Fix the spelling of the php_cli_server_http_response_status_code_pair typedef.
Specifically: php_cli_server_http_reponse_status_code_pair →
php_cli_server_http_response_status_code_pair.
2013-06-20 09:34:21 -07:00
Adam Harvey
283f56af66 Change the search in get_status_string() to correctly handle unknown codes.
This previously used a buggy implementation of binary search that would loop
infinitely for unknown codes when searching in reason arrays of particular
sizes (such as the one we have at the moment). Since C provides bsearch(),
we'll just use that instead, since libc authors hopefully get this right.

There was also an additional bug that was masked by the first one: the design
was that an unknown code would result in get_status_string() returning NULL,
which would then result in a segfault in append_http_status_line(), since it
assumed that it would always receive a valid string pointer that could be
handed off to smart_str_appends_ex(). We'll now return a placeholder in that
case.

Fixes bug #65066 (Cli server not responsive when responding with 422 http
status code).
2013-06-20 09:31:57 -07:00
Pierre Joye
0179284bfb Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - add reminder for checking return values
2013-03-24 13:29:16 +01:00
Pierre Joye
bb18fa448c - add reminder for checking return values 2013-03-24 13:27:00 +01:00
Anatol Belski
ec26141f92 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - fix x64 issues on windows with the various time types (overflow, signed and unsigned bits ops, etc.) causing crashes on start, error or log, must be done in win32/time.c for some of these functions too
2013-03-23 22:43:58 +01:00
Pierre Joye
3af4896837 - fix x64 issues on windows with the various time types (overflow, signed and unsigned bits ops, etc.) causing crashes on start, error or log, must be done in win32/time.c for some of these functions too
Signed-off-by: Anatol Belski <ab@php.net>
2013-03-23 22:42:03 +01:00