From 1358e5dcd9af0ecace07115a790544a22d5eb3bd Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 6 Jan 2016 11:34:12 +0100 Subject: [Sharing 2.0] Some error cases report 404 instead of 403 --- lib/private/share20/manager.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/private/share20') diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php index 216c4b9f5c1..8d753061c0c 100644 --- a/lib/private/share20/manager.php +++ b/lib/private/share20/manager.php @@ -33,6 +33,7 @@ use OCP\Files\Folder; use OCP\IUser; use OC\Share20\Exception\ShareNotFound; +use OC\HintException; /** * This class is the communication hub for all sharing related operations. @@ -175,7 +176,8 @@ class Manager { // Check if we actually have share permissions if (!$share->getPath()->isShareable()) { - throw new \InvalidArgumentException('Path is not shareable'); + $message_t = $this->l->t('You are not allowed to share %s', [$share->getPath()->getPath()]); + throw new HintException($message_t, $message_t, 404); } // Permissions should be set @@ -185,7 +187,8 @@ class Manager { // Check that we do not share with more permissions than we have if ($share->getPermissions() & ~$share->getPath()->getPermissions()) { - throw new \InvalidArgumentException('Cannot increase permissions'); + $message_t = $this->l->t('Cannot increase permissions of %s', [$share->getPath()->getPath()]); + throw new HintException($message_t, $message_t, 404); } // Check that read permissions are always set -- cgit v1.2.3