From 7114228fd61ac21a480276d768a633e5a9edfb1f Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Wed, 6 Jan 2021 20:27:04 +0000 Subject: [PATCH] Validate plugin ID --- packages/lib/services/plugins/utils/manifestFromObject.ts | 4 ++++ packages/lib/services/plugins/utils/types.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/packages/lib/services/plugins/utils/manifestFromObject.ts b/packages/lib/services/plugins/utils/manifestFromObject.ts index b22d6904ff..e4ff507607 100644 --- a/packages/lib/services/plugins/utils/manifestFromObject.ts +++ b/packages/lib/services/plugins/utils/manifestFromObject.ts @@ -1,4 +1,5 @@ import { PluginManifest, PluginPermission } from './types'; +import validatePluginId from './validatePluginId'; export default function manifestFromObject(o: any): PluginManifest { @@ -28,9 +29,12 @@ export default function manifestFromObject(o: any): PluginManifest { author: getString('author', false), description: getString('description', false), homepage_url: getString('homepage_url', false), + repository_url: getString('repository_url', false), permissions: permissions, }; + validatePluginId(manifest.id); + if (o.permissions) { for (const p of o.permissions) { manifest.permissions.push(p); diff --git a/packages/lib/services/plugins/utils/types.ts b/packages/lib/services/plugins/utils/types.ts index 36bd71e1f6..3490fa4cf8 100644 --- a/packages/lib/services/plugins/utils/types.ts +++ b/packages/lib/services/plugins/utils/types.ts @@ -11,6 +11,7 @@ export interface PluginManifest { author?: string; description?: string; homepage_url?: string; + repository_url?: string; permissions?: PluginPermission[]; // Private keys