[Pkg-owncloud-commits] [owncloud] 08/74: Add repair steps for legacy config files

David Prévot taffit at moszumanska.debian.org
Tue Dec 2 22:04:33 UTC 2014


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

taffit pushed a commit to branch master
in repository owncloud.

commit c8a48272c5b0d09749bdbd226e334d067c61a280
Author: Lukas Reschke <lukas at owncloud.com>
Date:   Thu Nov 13 13:34:11 2014 +0100

    Add repair steps for legacy config files
    
    Remove all ports from the trusted domains
---
 lib/private/repair.php      |  3 ++-
 lib/repair/repairconfig.php | 54 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/lib/private/repair.php b/lib/private/repair.php
index 6cdcc31..98bf37f 100644
--- a/lib/private/repair.php
+++ b/lib/private/repair.php
@@ -83,7 +83,8 @@ class Repair extends BasicEmitter {
 		$steps = array(
 			new \OC\Repair\InnoDB(),
 			new \OC\Repair\Collation(\OC::$server->getConfig(), \OC_DB::getConnection()),
-			new \OC\Repair\SearchLuceneTables()
+			new \OC\Repair\SearchLuceneTables(),
+			new \OC\Repair\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
new file mode 100644
index 0000000..22fa99d
--- /dev/null
+++ b/lib/repair/repairconfig.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Copyright (c) 2014 Lukas Reschke <lukas at owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Repair;
+
+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';
+	}
+
+	/**
+	 * Updates the configuration after running an update
+	 */
+	public function run() {
+		$this->removePortsFromTrustedDomains();
+	}
+
+	/**
+	 * 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);
+	}
+}
\ No newline at end of file

-- 
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