summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/config.php6
-rw-r--r--tests/lib/config.php11
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/config.php b/lib/config.php
index 00d9f5b4247..a38ce19c74f 100644
--- a/lib/config.php
+++ b/lib/config.php
@@ -144,7 +144,11 @@ class Config {
continue;
}
unset($CONFIG);
- include $file;
+ if((@include $file) === false)
+ {
+ throw new HintException("Can't read from config file '" . $file . "'. ".
+ 'This is usually caused by the wrong file permission.');
+ }
if (isset($CONFIG) && is_array($CONFIG)) {
$this->cache = array_merge($this->cache, $CONFIG);
}
diff --git a/tests/lib/config.php b/tests/lib/config.php
index c67a66c832e..1a1d062d688 100644
--- a/tests/lib/config.php
+++ b/tests/lib/config.php
@@ -80,6 +80,17 @@ class Test_Config extends PHPUnit_Framework_TestCase {
*/
public function testWriteData() {
$config = new OC\Config('/non-writable');
+ // TODO never get's called, because the previous call throws the exception
+ // maybe include some more logic to create a readable dir and then try to
+ // write to this dir
+ //
+ // console commands:
+ // $ sudo touch /non-writableconfig.php
+ // $ sudo chmod go-rwx /non-writableconfig.php
+ // ---- call the tests now -> above statemant throws the exception
+ //
+ // $ sudo chmod go+r /non-writableconfig.php
+ // ---- call the tests now -> bellow statemant throws the exception
$config->setValue('foo', 'bar');
}
}