aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-02-05 15:34:30 +0100
committerRoeland Jago Douma <rullzer@owncloud.com>2016-02-06 13:31:54 +0100
commit3028ec5440a3c4d448bbaf8a6b246391bea22317 (patch)
tree2b7819a910f5d6ae06efd4f200ce7c347a8c9a64 /lib
parent5ed56d9edb54bf3f977ea12f44fca9e4b650c72b (diff)
downloadnextcloud-server-3028ec5440a3c4d448bbaf8a6b246391bea22317.tar.gz
nextcloud-server-3028ec5440a3c4d448bbaf8a6b246391bea22317.zip
Delete expired share when fetched by id
Diffstat (limited to 'lib')
-rw-r--r--lib/private/share20/manager.php8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php
index a393cdeb89c..c4fec31fb85 100644
--- a/lib/private/share20/manager.php
+++ b/lib/private/share20/manager.php
@@ -803,6 +803,14 @@ class Manager implements IManager {
$share = $provider->getShareById($id, $recipient);
+ // Validate link shares expiration date
+ if ($share->getShareType() === \OCP\Share::SHARE_TYPE_LINK &&
+ $share->getExpirationDate() !== null &&
+ $share->getExpirationDate() <= new \DateTime()) {
+ $this->deleteShare($share);
+ throw new ShareNotFound();
+ }
+
return $share;
}