summaryrefslogtreecommitdiffstats
path: root/owncloud-9.0.2-core-23066-infinite-loop-share-link.patch
blob: 28b39e99114dddc4ab4f729cdad77b216819d899 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
diff --git a/apps/dav/lib/connector/publicauth.php b/apps/dav/lib/connector/publicauth.php
index f069a21..36da649 100644
--- a/apps/dav/lib/connector/publicauth.php
+++ b/apps/dav/lib/connector/publicauth.php
@@ -89,7 +89,7 @@ class PublicAuth extends \Sabre\DAV\Auth\Backend\AbstractBasic {
 					}
 					return true;
 				} else if (\OC::$server->getSession()->exists('public_link_authenticated')
-					&& \OC::$server->getSession()->get('public_link_authenticated') === $linkItem['id']) {
+					&& \OC::$server->getSession()->get('public_link_authenticated') === (string)$linkItem['id']) {
 					return true;
 				} else {
 					return false;
diff --git a/apps/files_sharing/lib/helper.php b/apps/files_sharing/lib/helper.php
index e857974..3dfbf8f 100644
--- a/apps/files_sharing/lib/helper.php
+++ b/apps/files_sharing/lib/helper.php
@@ -131,7 +131,7 @@ class Helper {
 				$newHash = '';
 				if(\OC::$server->getHasher()->verify($password, $linkItem['share_with'], $newHash)) {
 					// Save item id in session for future requests
-					\OC::$server->getSession()->set('public_link_authenticated', $linkItem['id']);
+					\OC::$server->getSession()->set('public_link_authenticated', (string)$linkItem['id']);
 
 					/**
 					 * FIXME: Migrate old hashes to new hash format
@@ -161,7 +161,7 @@ class Helper {
 		else {
 			// not authenticated ?
 			if ( ! \OC::$server->getSession()->exists('public_link_authenticated')
-				|| \OC::$server->getSession()->get('public_link_authenticated') !== $linkItem['id']) {
+				|| \OC::$server->getSession()->get('public_link_authenticated') !== (string)$linkItem['id']) {
 				return false;
 			}
 		}
diff --git a/apps/gallery/middleware/envcheckmiddleware.php b/apps/gallery/middleware/envcheckmiddleware.php
index 8364e52..086da2f 100644
--- a/apps/gallery/middleware/envcheckmiddleware.php
+++ b/apps/gallery/middleware/envcheckmiddleware.php
@@ -274,7 +274,7 @@ class EnvCheckMiddleware extends CheckMiddleware {
 		$newHash = '';
 		if ($this->hasher->verify($password, $linkItem['share_with'], $newHash)) {
 			// Save item id in session for future requests
-			$this->session->set('public_link_authenticated', $linkItem['id']);
+			$this->session->set('public_link_authenticated', (string)$linkItem['id']);
 			// @codeCoverageIgnoreStart
 			if (!empty($newHash)) {
 				// For future use
@@ -296,7 +296,7 @@ class EnvCheckMiddleware extends CheckMiddleware {
 	private function checkSession($linkItem) {
 		// Not authenticated ?
 		if (!$this->session->exists('public_link_authenticated')
-			|| $this->session->get('public_link_authenticated') !== $linkItem['id']
+			|| $this->session->get('public_link_authenticated') !== (string)$linkItem['id']
 		) {
 			throw new CheckException("Missing password", Http::STATUS_UNAUTHORIZED);
 		}
diff --git a/lib/private/share/share.php b/lib/private/share/share.php
index 3dcfa14..fcd013c 100644
--- a/lib/private/share/share.php
+++ b/lib/private/share/share.php
@@ -2477,7 +2477,7 @@ class Share extends Constants {
 		}
 
 		if ( \OC::$server->getSession()->exists('public_link_authenticated')
-			&& \OC::$server->getSession()->get('public_link_authenticated') === $linkItem['id'] ) {
+			&& \OC::$server->getSession()->get('public_link_authenticated') === (string)$linkItem['id'] ) {
 			return true;
 		}
 
@@ -2767,7 +2767,7 @@ class Share extends Constants {
 
 	/**
 	 * @param IConfig $config
-	 * @return bool 
+	 * @return bool
 	 */
 	public static function enforcePassword(IConfig $config) {
 		$enforcePassword = $config->getAppValue('core', 'shareapi_enforce_links_password', 'no');