diff options
-rw-r--r-- | lib/private/repair.php | 3 | ||||
-rw-r--r-- | lib/repair/repairconfig.php | 29 |
2 files changed, 31 insertions, 1 deletions
diff --git a/lib/private/repair.php b/lib/private/repair.php index 081aeb32c66..b5c1e9db58e 100644 --- a/lib/private/repair.php +++ b/lib/private/repair.php @@ -93,7 +93,8 @@ class Repair extends BasicEmitter { $steps = array( new InnoDB(), new Collation(\OC::$server->getConfig(), \OC_DB::getConnection()), - new SearchLuceneTables() + new SearchLuceneTables(), + new RepairConfig() ); //There is no need to delete all previews on every single update diff --git a/lib/repair/repairconfig.php b/lib/repair/repairconfig.php index e09d8e8fe7a..e9b322da826 100644 --- a/lib/repair/repairconfig.php +++ b/lib/repair/repairconfig.php @@ -12,8 +12,16 @@ use OC\Hooks\BasicEmitter; use OC\RepairStep; use Sabre\DAV\Exception; +/** + * Class RepairConfig + * + * @package OC\Repair + */ class RepairConfig extends BasicEmitter implements RepairStep { + /** + * @return string + */ public function getName() { return 'Repair config'; } @@ -23,6 +31,7 @@ class RepairConfig extends BasicEmitter implements RepairStep { */ public function run() { $this->addSecret(); + $this->removePortsFromTrustedDomains(); } /** @@ -34,4 +43,24 @@ class RepairConfig extends BasicEmitter implements RepairStep { \OC::$server->getConfig()->setSystemValue('secret', $secret); } } + + + /** + * Remove ports from existing trusted domains in config.php + */ + private function removePortsFromTrustedDomains() { + $trustedDomains = \OC::$server->getConfig()->getSystemValue('trusted_domains', array()); + $newTrustedDomains = array(); + foreach($trustedDomains as $domain) { + $pos = strrpos($domain, ':'); + if ($pos !== false) { + $port = substr($domain, $pos + 1); + if (is_numeric($port)) { + $domain = substr($domain, 0, $pos); + } + } + $newTrustedDomains[] = $domain; + } + \OC::$server->getConfig()->setSystemValue('trusted_domains', $newTrustedDomains); + } } |