From 9771e79b1bb9662fee4b95dd59432a9d77d42cd9 Mon Sep 17 00:00:00 2001 From: Saksham Srivastava Date: Tue, 10 Jun 2014 18:27:54 +0530 Subject: [PATCH] CLOUDSTACK-6654: Configkey parameters are not validated (cherry picked from commit 5bcd017de6f421a6125406120b39fb8602276dc7) --- .../ConfigurationManagerImpl.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 0dc067a1d3d..1549e12d9ba 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -701,12 +701,19 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati return "Invalid scope id provided for the parameter " + name; } } + Class type = null; Config c = Config.getConfig(name); if (c == null) { - s_logger.warn("Did not find configuration " + name + " in Config.java. Perhaps moved to ConfigDepot?"); - return null; + s_logger.warn("Did not find configuration " + name + " in Config.java. Perhaps moved to ConfigDepot"); + ConfigKey configKey = _configDepot.get(name); + if(configKey == null) { + s_logger.warn("Did not find configuration " + name + " in ConfigDepot too."); + return null; + } + type = configKey.type(); + } else { + type = c.getType(); } - Class type = c.getType(); if (value == null) { if (type.equals(Boolean.class)) { @@ -765,6 +772,12 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } } + if(c == null ) { + //range validation has to be done per case basis, for now + //return in case of Configkey parameters + return null; + } + String range = c.getRange(); if (range == null) { return null;