summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2016-08-19 14:46:20 +0200
committerLukas Reschke <lukas@statuscode.ch>2016-08-19 14:48:13 +0200
commitd50e7ee36c5607da848702ca36f7b34505c1622e (patch)
treec2c4b9ac0783472417a97e777125b8b660495035
parentcb7b44d33d276ccc0bc305d1af50c10eb5802191 (diff)
downloadnextcloud-server-d50e7ee36c5607da848702ca36f7b34505c1622e.tar.gz
nextcloud-server-d50e7ee36c5607da848702ca36f7b34505c1622e.zip
Remove reading PATH_INFO from server variable
Having two code paths for this is unreliable and can lead to bugs. Also, in some cases Apache isn't setting the PATH_INFO variable when mod_rewrite is used. Fixes https://github.com/nextcloud/server/issues/983
-rw-r--r--lib/private/AppFramework/Http/Request.php4
-rw-r--r--tests/lib/AppFramework/Http/RequestTest.php16
2 files changed, 0 insertions, 20 deletions
diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php
index 2139ad05c2e..46122f880cc 100644
--- a/lib/private/AppFramework/Http/Request.php
+++ b/lib/private/AppFramework/Http/Request.php
@@ -700,10 +700,6 @@ class Request implements \ArrayAccess, \Countable, IRequest {
* @return string|false Path info or false when not found
*/
public function getPathInfo() {
- if(isset($this->server['PATH_INFO'])) {
- return $this->server['PATH_INFO'];
- }
-
$pathInfo = $this->getRawPathInfo();
// following is taken from \Sabre\HTTP\URLUtil::decodePathSegment
$pathInfo = rawurldecode($pathInfo);
diff --git a/tests/lib/AppFramework/Http/RequestTest.php b/tests/lib/AppFramework/Http/RequestTest.php
index 8df81afeb3b..a3433e558d8 100644
--- a/tests/lib/AppFramework/Http/RequestTest.php
+++ b/tests/lib/AppFramework/Http/RequestTest.php
@@ -1063,22 +1063,6 @@ class RequestTest extends \Test\TestCase {
$this->assertSame('www.owncloud.org', self::invokePrivate($request, 'getOverwriteHost'));
}
- public function testGetPathInfoWithSetEnv() {
- $request = new Request(
- [
- 'server' => [
- 'PATH_INFO' => 'apps/files/',
- ]
- ],
- $this->secureRandom,
- $this->config,
- $this->csrfTokenManager,
- $this->stream
- );
-
- $this->assertSame('apps/files/', $request->getPathInfo());
- }
-
/**
* @expectedException \Exception
* @expectedExceptionMessage The requested uri(/foo.php) cannot be processed by the script '/var/www/index.php')