mirror of
https://github.com/nextcloud/server.git
synced 2026-02-19 02:38:40 -05:00
Merge pull request #42930 from nextcloud/fix/6914/overwritecond
Fix: config param 'overwritecondaddr' not working
This commit is contained in:
commit
3749c2c79b
2 changed files with 7 additions and 8 deletions
|
|
@ -622,14 +622,12 @@ class Request implements \ArrayAccess, \Countable, IRequest {
|
|||
|
||||
/**
|
||||
* Check overwrite condition
|
||||
* @param string $type
|
||||
* @return bool
|
||||
*/
|
||||
private function isOverwriteCondition(string $type = ''): bool {
|
||||
private function isOverwriteCondition(): bool {
|
||||
$regex = '/' . $this->config->getSystemValueString('overwritecondaddr', '') . '/';
|
||||
$remoteAddr = isset($this->server['REMOTE_ADDR']) ? $this->server['REMOTE_ADDR'] : '';
|
||||
return $regex === '//' || preg_match($regex, $remoteAddr) === 1
|
||||
|| $type !== 'protocol';
|
||||
return $regex === '//' || preg_match($regex, $remoteAddr) === 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -639,7 +637,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
|
|||
*/
|
||||
public function getServerProtocol(): string {
|
||||
if ($this->config->getSystemValueString('overwriteprotocol') !== ''
|
||||
&& $this->isOverwriteCondition('protocol')) {
|
||||
&& $this->isOverwriteCondition()) {
|
||||
return $this->config->getSystemValueString('overwriteprotocol');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1822,14 +1822,14 @@ class RequestTest extends \Test\TestCase {
|
|||
public function providesGetRequestUriWithOverwriteData() {
|
||||
return [
|
||||
['/scriptname.php/some/PathInfo', '/owncloud/', ''],
|
||||
['/scriptname.php/some/PathInfo', '/owncloud/', '123'],
|
||||
['/scriptname.php/some/PathInfo', '/owncloud/', '123', '123.123.123.123'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider providesGetRequestUriWithOverwriteData
|
||||
*/
|
||||
public function testGetRequestUriWithOverwrite($expectedUri, $overwriteWebRoot, $overwriteCondAddr) {
|
||||
public function testGetRequestUriWithOverwrite($expectedUri, $overwriteWebRoot, $overwriteCondAddr, $remoteAddr = '') {
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->method('getSystemValueString')
|
||||
|
|
@ -1838,13 +1838,14 @@ class RequestTest extends \Test\TestCase {
|
|||
['overwritecondaddr', '', $overwriteCondAddr],
|
||||
]);
|
||||
|
||||
$request = $this->getMockBuilder('\OC\AppFramework\Http\Request')
|
||||
$request = $this->getMockBuilder(Request::class)
|
||||
->setMethods(['getScriptName'])
|
||||
->setConstructorArgs([
|
||||
[
|
||||
'server' => [
|
||||
'REQUEST_URI' => '/test.php/some/PathInfo',
|
||||
'SCRIPT_NAME' => '/test.php',
|
||||
'REMOTE_ADDR' => $remoteAddr
|
||||
]
|
||||
],
|
||||
$this->requestId,
|
||||
|
|
|
|||
Loading…
Reference in a new issue