[Pkg-owncloud-commits] [owncloud] 64/131: Fixing 'Undefined index: REMOTE_ADDR' - fixes #17460

David Prévot taffit at moszumanska.debian.org
Tue Aug 11 15:58:32 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to annotated tag v8.1.1
in repository owncloud.

commit fc6420c2905b63017d3ea23eee8a542987d5b286
Author: Thomas Müller <thomas.mueller at tmit.eu>
Date:   Thu Jul 16 16:40:57 2015 +0200

    Fixing 'Undefined index: REMOTE_ADDR' - fixes #17460
---
 lib/private/appframework/http/request.php   |  3 ++-
 tests/lib/appframework/http/RequestTest.php | 19 +++++++++++++++----
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/lib/private/appframework/http/request.php b/lib/private/appframework/http/request.php
index 7d6a492..d3ebcfc 100644
--- a/lib/private/appframework/http/request.php
+++ b/lib/private/appframework/http/request.php
@@ -478,7 +478,8 @@ class Request implements \ArrayAccess, \Countable, IRequest {
 	 */
 	private function isOverwriteCondition($type = '') {
 		$regex = '/' . $this->config->getSystemValue('overwritecondaddr', '')  . '/';
-		return $regex === '//' || preg_match($regex, $this->server['REMOTE_ADDR']) === 1
+		$remoteAddr = isset($this->server['REMOTE_ADDR']) ? $this->server['REMOTE_ADDR'] : '';
+		return $regex === '//' || preg_match($regex, $remoteAddr) === 1
 		|| $type !== 'protocol';
 	}
 
diff --git a/tests/lib/appframework/http/RequestTest.php b/tests/lib/appframework/http/RequestTest.php
index a4bf351..f011d7f 100644
--- a/tests/lib/appframework/http/RequestTest.php
+++ b/tests/lib/appframework/http/RequestTest.php
@@ -1023,17 +1023,27 @@ class RequestTest extends \Test\TestCase {
 		$this->assertSame('/test.php', $request->getRequestUri());
 	}
 
-	public function testGetRequestUriWithOverwrite() {
+	public function providesGetRequestUriWithOverwriteData() {
+		return [
+			['/scriptname.php/some/PathInfo', '/owncloud/', ''],
+			['/scriptname.php/some/PathInfo', '/owncloud/', '123'],
+		];
+	}
+
+	/**
+	 * @dataProvider providesGetRequestUriWithOverwriteData
+	 */
+	public function testGetRequestUriWithOverwrite($expectedUri, $overwriteWebRoot, $overwriteCondAddr) {
 		$this->config
 			->expects($this->at(0))
 			->method('getSystemValue')
 			->with('overwritewebroot')
-			->will($this->returnValue('/owncloud/'));
+			->will($this->returnValue($overwriteWebRoot));
 		$this->config
 			->expects($this->at(1))
 			->method('getSystemValue')
 			->with('overwritecondaddr')
-			->will($this->returnValue(''));
+			->will($this->returnValue($overwriteCondAddr));
 
 		$request = $this->getMockBuilder('\OC\AppFramework\Http\Request')
 			->setMethods(['getScriptName'])
@@ -1054,6 +1064,7 @@ class RequestTest extends \Test\TestCase {
 			->method('getScriptName')
 			->will($this->returnValue('/scriptname.php'));
 
-		$this->assertSame('/scriptname.php/some/PathInfo', $request->getRequestUri());
+		$this->assertSame($expectedUri, $request->getRequestUri());
 	}
+
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list