Repository: openmeetings Updated Branches: refs/heads/master e81d12eaf -> a2d59114e
no jira: strong password validation is fixed Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/a2d59114 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/a2d59114 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/a2d59114 Branch: refs/heads/master Commit: a2d59114e70bae52f232f82b93c1ba738e6c842d Parents: e81d12e Author: Maxim Solodovnik <[email protected]> Authored: Wed May 24 10:26:52 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Wed May 24 10:27:24 2017 +0700 ---------------------------------------------------------------------- .../openmeetings/core/util/StrongPasswordValidator.java | 9 ++++++--- .../src/main/java/org/apache/openmeetings/cli/Admin.java | 11 ++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a2d59114/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java ---------------------------------------------------------------------- diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java index d390596e..5e14cb3 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java @@ -105,15 +105,18 @@ public class StrongPasswordValidator implements IValidator<String> { private void error(IValidatable<String> pass, String key, Map<String, Object> params) { if (web) { - pass.error(new ValidationError().addKey(key).setVariables(params)); + ValidationError err = new ValidationError().addKey(key); + if (params != null) { + err.setVariables(params); + } + pass.error(err); } else { String msg = LabelDao.getString(key, 1L); if (params != null && !params.isEmpty() && !Strings.isEmpty(msg)) { for (Map.Entry<String, Object> e : params.entrySet()) { - msg.replace(String.format("${%s}", e.getKey()), "" + e.getValue()); + msg = msg.replace(String.format("${%s}", e.getKey()), "" + e.getValue()); } } - System.err.print(msg); // for command line log.warn(msg); pass.error(new ValidationError(msg)); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a2d59114/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java index 5fa6aae..1308d63 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java @@ -419,18 +419,19 @@ public class Admin { System.out.println("User group was not provided, or too short, should be at least 1 character long: " + cfg.group); System.exit(1); } - if (!cmdl.hasOption("password")) { - System.out.print("Please enter password for the user '" + cfg.username + "':"); - } else { + if (cmdl.hasOption("password")) { cfg.setPassword(cmdl.getOptionValue("password")); } ConfigurationDao cfgDao = getApplicationContext().getBean(ConfigurationDao.class); - IValidator<String> passValidator = new StrongPasswordValidator(true, getMinPasswdLength(cfgDao), new User()); + IValidator<String> passValidator = new StrongPasswordValidator(false, getMinPasswdLength(cfgDao), new User()); Validatable<String> passVal; do { passVal = new Validatable<>(cfg.getPassword()); passValidator.validate(passVal); - cfg.setPassword(new BufferedReader(new InputStreamReader(System.in, UTF_8)).readLine()); + if (!passVal.isValid()) { + System.out.print("Please enter password for the user '" + cfg.username + "':"); + cfg.setPassword(new BufferedReader(new InputStreamReader(System.in, UTF_8)).readLine()); + } } while (!passVal.isValid()); Map<String, String> tzMap = ImportHelper.getAllTimeZones(TimeZone.getAvailableIDs()); cfg.ical_timeZone = null;
