Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-12-11 13:46:37 +0300
committerThomas Müller <thomas.mueller@tmit.eu>2015-12-11 13:46:37 +0300
commitf831d93f3f8aec6ef456f2675559cb5309a8fdb4 (patch)
tree1b0508552953cf536346ee0e45f933b6fbe322f9
parentf799b27f0e1f1021ddd2baea8f932d05af780596 (diff)
parent8903afec2687e762238d161ef9d986be9a1786a3 (diff)
Merge pull request #20878 from owncloud/proper-htaccess-support-in-code-signing-checker
Also run .htaccess routine when installing on another system than Apache
-rw-r--r--.htaccess1
-rw-r--r--lib/private/setup.php33
-rw-r--r--tests/lib/setup.php13
3 files changed, 8 insertions, 39 deletions
diff --git a/.htaccess b/.htaccess
index 05d142348b5..f656d6de444 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,4 +1,3 @@
-# Version: 9.0.0
<IfModule mod_headers.c>
<IfModule mod_fcgid.c>
<IfModule mod_setenvif.c>
diff --git a/lib/private/setup.php b/lib/private/setup.php
index 869a87fbf13..4d11cb44a83 100644
--- a/lib/private/setup.php
+++ b/lib/private/setup.php
@@ -369,11 +369,9 @@ class Setup {
// out that this is indeed an ownCloud data directory
file_put_contents($config->getSystemValue('datadirectory', \OC::$SERVERROOT.'/data').'/.ocdata', '');
- // Update htaccess files for apache hosts
- if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
- self::updateHtaccess();
- self::protectDataDirectory();
- }
+ // Update .htaccess files
+ Setup::updateHtaccess();
+ Setup::protectDataDirectory();
//try to write logtimezone
if (date_default_timezone_get()) {
@@ -395,32 +393,17 @@ class Setup {
}
/**
- * Checks if the .htaccess contains the current version parameter
- *
- * @return bool
- */
- private function isCurrentHtaccess() {
- $version = \OC_Util::getVersion();
- unset($version[3]);
-
- return !strpos(
- file_get_contents($this->pathToHtaccess()),
- 'Version: '.implode('.', $version)
- ) === false;
- }
-
- /**
* Append the correct ErrorDocument path for Apache hosts
- *
- * @throws \OC\HintException If .htaccess does not include the current version
*/
public static function updateHtaccess() {
+ // From CLI we don't know the defined web root. Thus we can't write any
+ // directives into the .htaccess file.
+ if(\OC::$CLI) {
+ return;
+ }
$setupHelper = new \OC\Setup(\OC::$server->getConfig(), \OC::$server->getIniWrapper(),
\OC::$server->getL10N('lib'), new \OC_Defaults(), \OC::$server->getLogger(),
\OC::$server->getSecureRandom());
- if(!$setupHelper->isCurrentHtaccess()) {
- throw new \OC\HintException('.htaccess file has the wrong version. Please upload the correct version. Maybe you forgot to replace it after updating?');
- }
$htaccessContent = file_get_contents($setupHelper->pathToHtaccess());
$content = '';
diff --git a/tests/lib/setup.php b/tests/lib/setup.php
index 72c84520056..bc78c14008f 100644
--- a/tests/lib/setup.php
+++ b/tests/lib/setup.php
@@ -130,17 +130,4 @@ class Test_OC_Setup extends \Test\TestCase {
->will($this->returnValue('NotAnArray'));
$this->setupClass->getSupportedDatabases();
}
-
- /**
- * This is actual more an integration test whether the version parameter in the .htaccess
- * was updated as well when the version has been incremented.
- * If it hasn't this test will fail.
- */
- public function testHtaccessIsCurrent() {
- $result = self::invokePrivate(
- $this->setupClass,
- 'isCurrentHtaccess'
- );
- $this->assertTrue($result);
- }
}