Repository: cloudstack Updated Branches: refs/heads/master f2464e418 -> 41030e4e3
CLOUDSTACK-6654: Configkey parameters are not validated Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/41030e4e Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/41030e4e Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/41030e4e Branch: refs/heads/master Commit: 41030e4e3e39de694837d1a6dc2f4905da228d98 Parents: f2464e4 Author: Saksham Srivastava <saksham.srivast...@citrix.com> Authored: Tue Jun 10 18:27:54 2014 +0530 Committer: Saksham Srivastava <saksham.srivast...@citrix.com> Committed: Thu Jun 12 11:20:44 2014 +0530 ---------------------------------------------------------------------- .../configuration/ConfigurationManagerImpl.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/41030e4e/server/src/com/cloud/configuration/ConfigurationManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 55736f9..dbac101 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -702,12 +702,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)) { @@ -766,6 +773,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;