summaryrefslogtreecommitdiff
path: root/sapi/cli
diff options
context:
space:
mode:
authorChristoph M. Becker <cmb@php.net>2015-09-05 14:43:19 +0200
committerChristoph M. Becker <cmb@php.net>2015-09-05 14:43:19 +0200
commitcc9da62bdb815421151958e8f2971d992291192a (patch)
treed77c1040bed9c3e2bcbd609e245f6c02fd513417 /sapi/cli
parent403974f4dc762cf0c5f1ac09009fff13543e099c (diff)
parentaed225b7e4d711d7c2cbf45f59e5f66929debb94 (diff)
downloadphp-git-cc9da62bdb815421151958e8f2971d992291192a.tar.gz
Merge branch 'PHP-5.6'
* PHP-5.6: Fix #68291: 404 on urls with '+' Resolved conflicts: sapi/cli/php_cli_server.c
Diffstat (limited to 'sapi/cli')
-rw-r--r--sapi/cli/php_cli_server.c4
-rw-r--r--sapi/cli/tests/bug68291.phpt21
2 files changed, 23 insertions, 2 deletions
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c
index 709154da70..529f5633bf 100644
--- a/sapi/cli/php_cli_server.c
+++ b/sapi/cli/php_cli_server.c
@@ -94,7 +94,7 @@
#include "ext/standard/file.h" /* for php_set_sock_blocking() :-( */
#include "zend_smart_str.h"
#include "ext/standard/html.h"
-#include "ext/standard/url.h" /* for php_url_decode() */
+#include "ext/standard/url.h" /* for php_raw_url_decode() */
#include "ext/standard/php_string.h" /* for php_dirname() */
#include "php_network.h"
@@ -1467,7 +1467,7 @@ static void normalize_vpath(char **retval, size_t *retval_len, const char *vpath
return;
}
- decoded_vpath_end = decoded_vpath + php_url_decode(decoded_vpath, (int)vpath_len);
+ decoded_vpath_end = decoded_vpath + php_raw_url_decode(decoded_vpath, (int)vpath_len);
#ifdef PHP_WIN32
{
diff --git a/sapi/cli/tests/bug68291.phpt b/sapi/cli/tests/bug68291.phpt
new file mode 100644
index 0000000000..62042307c5
--- /dev/null
+++ b/sapi/cli/tests/bug68291.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Bug #68291 (404 on urls with '+')
+--INI--
+allow_url_fopen=1
+--SKIPIF--
+<?php
+include "skipif.inc";
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+file_put_contents(__DIR__ . '/bug68291+test.html', 'Found');
+php_cli_server_start(NULL, NULL);
+echo file_get_contents('http://' . PHP_CLI_SERVER_ADDRESS . '/bug68291+test.html');
+?>
+--CLEAN--
+<?php
+@unlink(__DIR__ . '/bug68291+test.html');
+?>
+--EXPECT--
+Found