From c70ae569ef8bcc2bd8b5832f84cf49dec043b629 Mon Sep 17 00:00:00 2001 From: Shaun Date: Wed, 20 Jul 2022 18:44:44 +0200 Subject: [PATCH] bug #1955 (cherry picked from commit 5b1c642fb9c0dc5b40afe2ca2cc08474c26d40cc) --- src/server/security/router.js | 12 ++++++++++++ src/server/security/routerConfig.js | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/server/security/router.js b/src/server/security/router.js index 07a943ec..21e46230 100644 --- a/src/server/security/router.js +++ b/src/server/security/router.js @@ -72,6 +72,18 @@ module.exports = { ) ); + return !isCorrect; + } else if (dataType === 'integerNullObjectOrString') { + const isCorrect = ( + Number.isInteger(value) || + typeof(dataType) === 'string' || + value === null || + ( + typeof(value) === 'object' && + this.keysCorrect(value, spec) + ) + ); + return !isCorrect; } else if (dataType === 'arrayOfStrings') return (!Array.isArray(value) || value.some(v => typeof(v) !== 'string')); diff --git a/src/server/security/routerConfig.js b/src/server/security/routerConfig.js index e1a80430..749579c5 100644 --- a/src/server/security/routerConfig.js +++ b/src/server/security/routerConfig.js @@ -165,7 +165,7 @@ const routerConfig = { }, { key: 'target', - dataType: 'integerNullOrObject', + dataType: 'integerNullObjectOrString', spec: [ { key: 'x',