Browse Source

Merge pull request #16721 from nextcloud/fix/16644

Correctly handle emtpy string in proxyuserpwd config
tags/v17.0.0beta1
Roeland Jago Douma 4 years ago
parent
commit
f465f9d4b9
No account linked to committer's email address
2 changed files with 16 additions and 6 deletions
  1. 4
    4
      lib/private/Http/Client/Client.php
  2. 12
    2
      tests/lib/Http/Client/ClientTest.php

+ 4
- 4
lib/private/Http/Client/Client.php View File

@@ -95,15 +95,15 @@ class Client implements IClient {
* @return string|null
*/
private function getProxyUri(): ?string {
$proxyHost = $this->config->getSystemValue('proxy', null);
$proxyHost = $this->config->getSystemValue('proxy', '');

if ($proxyHost === null) {
if ($proxyHost === '' || $proxyHost === null) {
return null;
}

$proxyUserPwd = $this->config->getSystemValue('proxyuserpwd', null);
$proxyUserPwd = $this->config->getSystemValue('proxyuserpwd', '');

if ($proxyUserPwd === null) {
if ($proxyUserPwd === '' || $proxyUserPwd === null) {
return $proxyHost;
}


+ 12
- 2
tests/lib/Http/Client/ClientTest.php View File

@@ -70,12 +70,22 @@ class ClientTest extends \Test\TestCase {
$this->config
->expects($this->at(0))
->method('getSystemValue')
->with('proxy', null)
->with(
$this->equalTo('proxy'),
$this->callback(function ($input) {
return $input === '';
})
)
->willReturn('foo');
$this->config
->expects($this->at(1))
->method('getSystemValue')
->with('proxyuserpwd', null)
->with(
$this->equalTo('proxyuserpwd'),
$this->callback(function ($input) {
return $input === '';
})
)
->willReturn('username:password');
$this->assertSame('username:password@foo', self::invokePrivate($this->client, 'getProxyUri'));
}

Loading…
Cancel
Save