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;

Reply via email to