summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav')
-rw-r--r--apps/dav/l10n/da.js50
-rw-r--r--apps/dav/l10n/da.json48
-rw-r--r--apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php25
-rw-r--r--apps/dav/lib/Connector/Sabre/File.php2
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php6
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionMasterKeyUploadTest.php50
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionUploadTest.php2
7 files changed, 158 insertions, 25 deletions
diff --git a/apps/dav/l10n/da.js b/apps/dav/l10n/da.js
new file mode 100644
index 00000000000..dc32493340c
--- /dev/null
+++ b/apps/dav/l10n/da.js
@@ -0,0 +1,50 @@
+OC.L10N.register(
+ "dav",
+ {
+ "Calendar" : "Kalender",
+ "Todos" : "Opgaver",
+ "{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
+ "You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
+ "{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}",
+ "You deleted calendar {calendar}" : "Du slettede kalenderen {calendar}",
+ "{actor} updated calendar {calendar}" : "{actor} opdaterede kalenderen {calendar}",
+ "You updated calendar {calendar}" : "Du opdaterede kalenderen {calendar}",
+ "{actor} shared calendar {calendar} with you" : "{actor} delte kalenderen {calendar} med dig",
+ "You shared calendar {calendar} with {user}" : "Du delte kalenderen {calendar} med {user}",
+ "{actor} shared calendar {calendar} with {user}" : "{actor} delte kalenderen {calendar} med {user}",
+ "{actor} unshared calendar {calendar} from you" : "{actor} fjernede delingen af {calendar} fra dig",
+ "You unshared calendar {calendar} from {user}" : "Du fjernede delingen af {calendar} fra {user}",
+ "{actor} unshared calendar {calendar} from {user}" : "{actor} fjernede delingen af {calendar} fra {user}",
+ "{actor} unshared calendar {calendar} from themselves" : "{actor} fjernede delingen af {calendar} fra sig selv",
+ "You shared calendar {calendar} with group {group}" : "Du delte kalenderen {calendar} med gruppen {group}",
+ "{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalenderen {calendar} med gruppen {group}",
+ "You unshared calendar {calendar} from group {group}" : "Du fjernede delingen af {calendar} fra gruppen {group}",
+ "{actor} unshared calendar {calendar} from group {group}" : "{actor} fjernede deling af kalenderen {calendar} fra gruppen {group}",
+ "{actor} created event {event} in calendar {calendar}" : "{actor} oprettede begivenheden {event} i kalenderen {calendar}",
+ "You created event {event} in calendar {calendar}" : "Du oprettede begivenheden {event} i kalenderen {calendar}",
+ "{actor} deleted event {event} from calendar {calendar}" : "{actor} slettede begivenheden {event} fra kalenderen {calendar}",
+ "You deleted event {event} from calendar {calendar}" : "Du slettede begivenheden {event} fra kalenderen {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} opdaterede begivenheden {event} i kalenderen {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Du opdaterede begivenheden {event} i kalenderen {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
+ "A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
+ "A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
+ "Contact birthdays" : "Kontakt fødselsdag",
+ "Personal" : "Personligt",
+ "Contacts" : "Kontakter",
+ "WebDAV" : "WebDAV",
+ "Technical details" : "Tekniske detaljer",
+ "Remote Address: %s" : "Fjernadresse: %s",
+ "Request ID: %s" : "Forespørgsels-ID: %s"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json
new file mode 100644
index 00000000000..488a34cc796
--- /dev/null
+++ b/apps/dav/l10n/da.json
@@ -0,0 +1,48 @@
+{ "translations": {
+ "Calendar" : "Kalender",
+ "Todos" : "Opgaver",
+ "{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
+ "You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
+ "{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}",
+ "You deleted calendar {calendar}" : "Du slettede kalenderen {calendar}",
+ "{actor} updated calendar {calendar}" : "{actor} opdaterede kalenderen {calendar}",
+ "You updated calendar {calendar}" : "Du opdaterede kalenderen {calendar}",
+ "{actor} shared calendar {calendar} with you" : "{actor} delte kalenderen {calendar} med dig",
+ "You shared calendar {calendar} with {user}" : "Du delte kalenderen {calendar} med {user}",
+ "{actor} shared calendar {calendar} with {user}" : "{actor} delte kalenderen {calendar} med {user}",
+ "{actor} unshared calendar {calendar} from you" : "{actor} fjernede delingen af {calendar} fra dig",
+ "You unshared calendar {calendar} from {user}" : "Du fjernede delingen af {calendar} fra {user}",
+ "{actor} unshared calendar {calendar} from {user}" : "{actor} fjernede delingen af {calendar} fra {user}",
+ "{actor} unshared calendar {calendar} from themselves" : "{actor} fjernede delingen af {calendar} fra sig selv",
+ "You shared calendar {calendar} with group {group}" : "Du delte kalenderen {calendar} med gruppen {group}",
+ "{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalenderen {calendar} med gruppen {group}",
+ "You unshared calendar {calendar} from group {group}" : "Du fjernede delingen af {calendar} fra gruppen {group}",
+ "{actor} unshared calendar {calendar} from group {group}" : "{actor} fjernede deling af kalenderen {calendar} fra gruppen {group}",
+ "{actor} created event {event} in calendar {calendar}" : "{actor} oprettede begivenheden {event} i kalenderen {calendar}",
+ "You created event {event} in calendar {calendar}" : "Du oprettede begivenheden {event} i kalenderen {calendar}",
+ "{actor} deleted event {event} from calendar {calendar}" : "{actor} slettede begivenheden {event} fra kalenderen {calendar}",
+ "You deleted event {event} from calendar {calendar}" : "Du slettede begivenheden {event} fra kalenderen {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} opdaterede begivenheden {event} i kalenderen {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Du opdaterede begivenheden {event} i kalenderen {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
+ "A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
+ "A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
+ "Contact birthdays" : "Kontakt fødselsdag",
+ "Personal" : "Personligt",
+ "Contacts" : "Kontakter",
+ "WebDAV" : "WebDAV",
+ "Technical details" : "Tekniske detaljer",
+ "Remote Address: %s" : "Fjernadresse: %s",
+ "Request ID: %s" : "Forespørgsels-ID: %s"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
index 4f7c2286827..dce2f9c45e4 100644
--- a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
@@ -94,26 +94,9 @@ class ExceptionLoggerPlugin extends \Sabre\DAV\ServerPlugin {
$level = \OCP\Util::DEBUG;
}
- $message = $ex->getMessage();
- if ($ex instanceof Exception) {
- if (empty($message)) {
- $response = new Response($ex->getHTTPCode());
- $message = $response->getStatusText();
- }
- $message = "HTTP/1.1 {$ex->getHTTPCode()} $message";
- }
-
- $user = \OC_User::getUser();
-
- $exception = [
- 'Message' => $message,
- 'Exception' => $exceptionClass,
- 'Code' => $ex->getCode(),
- 'Trace' => $ex->getTraceAsString(),
- 'File' => $ex->getFile(),
- 'Line' => $ex->getLine(),
- 'User' => $user,
- ];
- $this->logger->log($level, 'Exception: ' . json_encode($exception), ['app' => $this->appName]);
+ $this->logger->logException($ex, [
+ 'app' => $this->appName,
+ 'level' => $level,
+ ]);
}
}
diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php
index 7a8bdb1da75..ab04890d6c7 100644
--- a/apps/dav/lib/Connector/Sabre/File.php
+++ b/apps/dav/lib/Connector/Sabre/File.php
@@ -184,7 +184,7 @@ class File extends Node implements IFile {
$fileExists = $storage->file_exists($internalPath);
}
if (!$run || $renameOkay === false || $fileExists === false) {
- \OCP\Util::writeLog('webdav', 'renaming part file to final file failed', \OCP\Util::ERROR);
+ \OCP\Util::writeLog('webdav', 'renaming part file to final file failed ($run: ' . ( $run ? 'true' : 'false' ) . ', $renameOkay: ' . ( $renameOkay ? 'true' : 'false' ) . ', $fileExists: ' . ( $fileExists ? 'true' : 'false' ) . ')', \OCP\Util::ERROR);
throw new Exception('Could not rename part file to final file');
}
} catch (ForbiddenException $ex) {
diff --git a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
index 8088ee6dc4d..85ede2ad681 100644
--- a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
@@ -71,13 +71,13 @@ class ExceptionLoggerPluginTest extends TestCase {
$this->plugin->logException($exception);
$this->assertEquals($expectedLogLevel, $this->logger->level);
- $this->assertStringStartsWith('Exception: {"Message":"' . $expectedMessage, $this->logger->message);
+ $this->assertStringStartsWith('Exception: {"Exception":' . json_encode(get_class($exception)) . ',"Message":"' . $expectedMessage . '",', $this->logger->message);
}
public function providesExceptions() {
return [
- [0, 'HTTP\/1.1 404 Not Found', new NotFound()],
- [4, 'HTTP\/1.1 400 This path leads to nowhere', new InvalidPath('This path leads to nowhere')]
+ [0, '', new NotFound()],
+ [4, 'This path leads to nowhere', new InvalidPath('This path leads to nowhere')]
];
}
diff --git a/apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionMasterKeyUploadTest.php b/apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionMasterKeyUploadTest.php
new file mode 100644
index 00000000000..480baab6baf
--- /dev/null
+++ b/apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionMasterKeyUploadTest.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ * @author Robin Appelman <robin@icewind.nl>
+ * @author Thomas Müller <thomas.mueller@tmit.eu>
+ *
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\DAV\Tests\unit\Connector\Sabre\RequestTest;
+
+use OC\Files\View;
+use Test\Traits\EncryptionTrait;
+
+/**
+ * Class EncryptionMasterKeyUploadTest
+ *
+ * @group DB
+ *
+ * @package OCA\DAV\Tests\Unit\Connector\Sabre\RequestTest
+ */
+class EncryptionMasterKeyUploadTest extends UploadTest {
+ use EncryptionTrait;
+
+ protected function setupUser($name, $password) {
+ $this->createUser($name, $password);
+ $tmpFolder = \OC::$server->getTempManager()->getTemporaryFolder();
+ $this->registerMount($name, '\OC\Files\Storage\Local', '/' . $name, ['datadir' => $tmpFolder]);
+ // we use the master key
+ \OC::$server->getConfig()->setAppValue('encryption', 'useMasterKey', '1');
+ $this->setupForUser($name, $password);
+ $this->loginWithEncryption($name);
+ return new View('/' . $name . '/files');
+ }
+}
diff --git a/apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionUploadTest.php b/apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionUploadTest.php
index e65d58b816f..c0cba121386 100644
--- a/apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionUploadTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/RequestTest/EncryptionUploadTest.php
@@ -41,6 +41,8 @@ class EncryptionUploadTest extends UploadTest {
$this->createUser($name, $password);
$tmpFolder = \OC::$server->getTempManager()->getTemporaryFolder();
$this->registerMount($name, '\OC\Files\Storage\Local', '/' . $name, ['datadir' => $tmpFolder]);
+ // we use per-user keys
+ \OC::$server->getConfig()->setAppValue('encryption', 'useMasterKey', '0');
$this->setupForUser($name, $password);
$this->loginWithEncryption($name);
return new View('/' . $name . '/files');