From 695e60228d0a2441dcbb3b8512d9b9be4fbfd2d8 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 23 Nov 2018 12:38:07 +0100 Subject: [PATCH 1/2] Validate all rich objects not only the used ones Signed-off-by: Joas Schilling --- lib/private/RichObjectStrings/Validator.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/private/RichObjectStrings/Validator.php b/lib/private/RichObjectStrings/Validator.php index 55a50fc2a4..29980885cf 100644 --- a/lib/private/RichObjectStrings/Validator.php +++ b/lib/private/RichObjectStrings/Validator.php @@ -71,11 +71,17 @@ class Validator implements IValidator { foreach ($matches[1] as $parameter) { if (!isset($parameters[$parameter])) { throw new InvalidObjectExeption('Parameter is undefined'); - } else { - $this->validateParameter($parameters[$parameter]); } } } + + foreach ($parameters as $parameter) { + if (!\is_array($parameter)) { + throw new InvalidObjectExeption('Parameter is malformed'); + } + + $this->validateParameter($parameter); + } } /** From 99bcc1363ecf33736993d83ff24ae5374f0d0f9a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 23 Nov 2018 12:38:24 +0100 Subject: [PATCH 2/2] Fix wrong used type Signed-off-by: Joas Schilling --- apps/dav/lib/CalDAV/Activity/Provider/Base.php | 2 +- apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php | 2 +- apps/files_sharing/lib/Activity/Providers/Groups.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Base.php b/apps/dav/lib/CalDAV/Activity/Provider/Base.php index 99ad903f24..ee9c671613 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Base.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Base.php @@ -160,7 +160,7 @@ abstract class Base implements IProvider { } return [ - 'type' => 'group', + 'type' => 'user-group', 'id' => $gid, 'name' => $this->groupDisplayNames[$gid], ]; diff --git a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php index 37a56f8804..9c4f5eeb47 100644 --- a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php +++ b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php @@ -182,7 +182,7 @@ class BaseTest extends TestCase { */ public function testGenerateGroupParameter($gid) { $this->assertEquals([ - 'type' => 'group', + 'type' => 'user-group', 'id' => $gid, 'name' => $gid, ], $this->invokePrivate($this->provider, 'generateGroupParameter', [$gid])); diff --git a/apps/files_sharing/lib/Activity/Providers/Groups.php b/apps/files_sharing/lib/Activity/Providers/Groups.php index 9a8f7164c5..10f52882ae 100644 --- a/apps/files_sharing/lib/Activity/Providers/Groups.php +++ b/apps/files_sharing/lib/Activity/Providers/Groups.php @@ -150,7 +150,7 @@ class Groups extends Base { } return [ - 'type' => 'group', + 'type' => 'user-group', 'id' => $gid, 'name' => $this->groupDisplayNames[$gid], ];