no jira: strong password validation is implemented
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/4b5c310b Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/4b5c310b Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/4b5c310b Branch: refs/heads/3.3.x Commit: 4b5c310b7dd59ffcb5e6dea7b52cddb069d06e9d Parents: 58dacee Author: Maxim Solodovnik <[email protected]> Authored: Wed May 24 08:11:00 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Wed May 24 08:11:00 2017 +0700 ---------------------------------------------------------------------- .../openmeetings/core/remote/ErrorService.java | 4 +- .../openmeetings/core/remote/MobileService.java | 6 +- .../core/remote/WhiteboardService.java | 4 +- .../core/util/StrongPasswordValidator.java | 147 +++++++++++++++++++ .../openmeetings/db/dao/basic/ErrorDao.java | 6 +- .../openmeetings/db/dao/label/LabelDao.java | 4 +- .../openmeetings/db/dao/user/UserDao.java | 9 +- .../openmeetings/db/entity/user/User.java | 36 ++--- .../apache/openmeetings/db/util/UserHelper.java | 4 - .../openmeetings/backup/BackupImport.java | 6 +- .../java/org/apache/openmeetings/cli/Admin.java | 24 +-- .../installation/ImportInitvalues.java | 22 ++- .../src/site/xdoc/GeneralConfiguration.xml | 12 +- .../service/calendar/AppointmentLogic.java | 14 +- .../service/quartz/scheduler/CleanupJob.java | 37 +++-- .../util/OpenmeetingsVariables.java | 2 +- .../web/app/Application.properties.xml | 6 + .../web/app/Application_ar.properties.xml | 6 + .../web/app/Application_bg.properties.xml | 6 + .../web/app/Application_ca.properties.xml | 6 + .../web/app/Application_cs.properties.xml | 6 + .../web/app/Application_da.properties.xml | 6 + .../web/app/Application_de.properties.xml | 6 + .../web/app/Application_el.properties.xml | 6 + .../web/app/Application_es.properties.xml | 6 + .../web/app/Application_fa.properties.xml | 6 + .../web/app/Application_fi.properties.xml | 6 + .../web/app/Application_fr.properties.xml | 6 + .../web/app/Application_gl.properties.xml | 6 + .../web/app/Application_hu.properties.xml | 6 + .../web/app/Application_id.properties.xml | 6 + .../web/app/Application_it.properties.xml | 6 + .../web/app/Application_ja.properties.xml | 6 + .../web/app/Application_ko.properties.xml | 6 + .../web/app/Application_nl.properties.xml | 6 + .../web/app/Application_pl.properties.xml | 6 + .../web/app/Application_pt.properties.xml | 6 + .../web/app/Application_pt_BR.properties.xml | 6 + .../web/app/Application_ru.properties.xml | 6 + .../web/app/Application_sk.properties.xml | 6 + .../web/app/Application_sv.properties.xml | 6 + .../web/app/Application_th.properties.xml | 6 + .../web/app/Application_tr.properties.xml | 6 + .../web/app/Application_uk.properties.xml | 6 + .../web/app/Application_zh_CN.properties.xml | 6 + .../web/app/Application_zh_TW.properties.xml | 6 + .../web/common/GeneralUserForm.java | 7 +- .../openmeetings/web/pages/ActivatePage.java | 16 +- .../web/pages/auth/ForgetPasswordDialog.java | 4 +- .../web/pages/auth/ResetPasswordDialog.java | 22 +-- .../web/pages/install/InstallWizard.java | 5 +- .../web/room/menu/StartSharingButton.java | 3 +- .../WEB-INF/classes/applicationContext.xml | 26 +++- openmeetings-web/src/main/webapp/css/theme.css | 2 +- .../test/selenium/AbstractTestDefaults.java | 6 +- .../webservice/ErrorWebService.java | 18 +-- .../openmeetings/webservice/UserWebService.java | 16 ++ 57 files changed, 496 insertions(+), 146 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ErrorService.java ---------------------------------------------------------------------- diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ErrorService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ErrorService.java index 8a603f6..630266d 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ErrorService.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ErrorService.java @@ -37,8 +37,6 @@ public class ErrorService { private static final Logger log = Red5LoggerFactory.getLogger(ErrorService.class, webAppRootKey); @Autowired - private LabelDao labelDao; - @Autowired private ErrorDao errorDao; /** @@ -56,7 +54,7 @@ public class ErrorService { ErrorValue eValues = errorDao.get(-1 * errorid); if (eValues != null) { log.debug("eValues.getFieldvalues_id() = " + eValues.getLabelId()); - String eValue = labelDao.getString(eValues.getLabelId(), langId); + String eValue = LabelDao.getString(eValues.getLabelId(), langId); if (eValue != null) { return new ServiceResult(errorid, eValue, eValues.getType().name()); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java ---------------------------------------------------------------------- diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java index c3cb022..9e4f9b4 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java @@ -83,8 +83,6 @@ public class MobileService { @Autowired private RoomDao roomDao; @Autowired - private LabelDao labelDao; - @Autowired private ChatDao chatDao; @Autowired private ScopeApplicationAdapter scopeAdapter; @@ -304,8 +302,8 @@ public class MobileService { User u = userDao.get(c.getUserId()); //my rooms List<Room> myl = new ArrayList<>(); - myl.add(roomDao.getUserRoom(u.getId(), Room.Type.conference, labelDao.getString(1306L, u.getLanguageId()))); - myl.add(roomDao.getUserRoom(u.getId(), Room.Type.restricted, labelDao.getString(1307L, u.getLanguageId()))); + myl.add(roomDao.getUserRoom(u.getId(), Room.Type.conference, LabelDao.getString(1306L, u.getLanguageId()))); + myl.add(roomDao.getUserRoom(u.getId(), Room.Type.restricted, LabelDao.getString(1307L, u.getLanguageId()))); myl.addAll(roomDao.getAppointedRoomsByUser(u.getId())); for (Room r : myl) { addRoom("my", null, false, result, r); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteboardService.java ---------------------------------------------------------------------- diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteboardService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteboardService.java index 7107100..7633422 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteboardService.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteboardService.java @@ -78,8 +78,6 @@ public class WhiteboardService implements IPendingServiceCallback { @Autowired private SessiondataDao sessionDao; @Autowired - private LabelDao labelDao; - @Autowired private ConfigurationDao cfgDao; public boolean getNewWhiteboardId(String name) { @@ -142,7 +140,7 @@ public class WhiteboardService implements IPendingServiceCallback { User u = userDao.get(userId); langId = u == null ? cfgDao.getConfValue(CONFIG_DEFAULT_LANG_KEY, Long.class, "1") : u.getLanguageId(); } - wbCache.getNewWhiteboardId(roomId, labelDao.getString("615", langId)); + wbCache.getNewWhiteboardId(roomId, LabelDao.getString("615", langId)); log.debug("Init New Room List"); whiteboards = wbCache.get(roomId); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/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 new file mode 100644 index 0000000..d390596e --- /dev/null +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/StrongPasswordValidator.java @@ -0,0 +1,147 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") + you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openmeetings.core.util; + +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; + +import java.util.Map; + +import org.apache.directory.api.util.Strings; +import org.apache.openmeetings.db.dao.label.LabelDao; +import org.apache.openmeetings.db.entity.user.User; +import org.apache.wicket.util.collections.MicroMap; +import org.apache.wicket.validation.IValidatable; +import org.apache.wicket.validation.IValidator; +import org.apache.wicket.validation.ValidationError; +import org.red5.logging.Red5LoggerFactory; +import org.slf4j.Logger; + +public class StrongPasswordValidator implements IValidator<String> { + private static final long serialVersionUID = 1L; + private static final Logger log = Red5LoggerFactory.getLogger(StrongPasswordValidator.class, webAppRootKey); + private final int minLength; + private final boolean web; + private User u; + + public StrongPasswordValidator(final int minLength, final User u) { + this(true, minLength, u); + } + + public StrongPasswordValidator(final boolean web, final int minLength, final User u) { + this.minLength = minLength; + this.web = web; + this.u = u; + } + + private static boolean noDigit(String password) { + return password == null || !password.matches(".*\\d+.*"); + } + + private static boolean noSymbol(String password) { + return password == null || !password.matches(".*[!@#$%^&*\\]\\[]+.*"); + } + + private static boolean noUpperCase(String password) { + return password == null || password.equals(password.toLowerCase()); + } + + private static boolean noLowerCase(String password) { + return password == null || password.equals(password.toUpperCase()); + } + + private boolean badLength(String password) { + return password == null || password.length() < minLength; + } + + private static boolean checkWord(String password, String word) { + if (Strings.isEmpty(word) || word.length() < 3) { + return false; + } + for (int i = 0; i < word.length() - 3; ++i) { + String substr = word.toLowerCase().substring(i, i + 3); + if (password.toLowerCase().indexOf(substr) > -1) { + return true; + } + } + return false; + } + + private boolean hasStopWords(String password) { + if (checkWord(password, u.getLogin())) { + return true; + } + if (u.getAddress() != null) { + String email = u.getAddress().getEmail(); + if (!Strings.isEmpty(email)) { + for (String part : email.split("[.@]")) { + if (checkWord(password, part)) { + return true; + } + } + } + } + return false; + } + + private void error(IValidatable<String> pass, String key) { + error(pass, key, null); + } + + private void error(IValidatable<String> pass, String key, Map<String, Object> params) { + if (web) { + pass.error(new ValidationError().addKey(key).setVariables(params)); + } 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()); + } + } + System.err.print(msg); // for command line + log.warn(msg); + pass.error(new ValidationError(msg)); + } + } + + @Override + public void validate(IValidatable<String> pass) { + if (badLength(pass.getValue())) { + error(pass, "bad.password.short", new MicroMap<String, Object>("0", minLength)); + } + if (noLowerCase(pass.getValue())) { + error(pass, "bad.password.lower"); + } + if (noUpperCase(pass.getValue())) { + error(pass, "bad.password.upper"); + } + if (noDigit(pass.getValue())) { + error(pass, "bad.password.digit"); + } + if (noSymbol(pass.getValue())) { + error(pass, "bad.password.special"); + } + if (hasStopWords(pass.getValue())) { + error(pass, "bad.password.stop"); + } + } + + public void setUser(User u) { + this.u = u; + } +} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java index a57491f..c526055 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ErrorDao.java @@ -32,7 +32,6 @@ import org.apache.openmeetings.db.entity.basic.ErrorValue; import org.apache.openmeetings.db.entity.basic.ErrorValue.Type; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @Transactional @@ -42,9 +41,6 @@ public class ErrorDao { @PersistenceContext private EntityManager em; - @Autowired - private LabelDao labelDao; - public Long add(Long id, Type type, Long labelId) { try { ErrorValue eValue = new ErrorValue(); @@ -85,6 +81,6 @@ public class ErrorDao { if (ev == null) { return null; } - return labelDao.getString(ev.getLabelId(), langId); + return LabelDao.getString(ev.getLabelId(), langId); } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java index efcdaaa..1730056 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java @@ -102,11 +102,11 @@ public class LabelDao implements IDataProviderDao<StringLabel>{ labelCache.put(l, new ArrayList<StringLabel>()); } - public String getString(long fieldValuesId, long langId) { + public static String getString(long fieldValuesId, long langId) { return ensureApplication(langId).getOmString(fieldValuesId, langId); } - public String getString(String key, long langId) { + public static String getString(String key, long langId) { return ensureApplication(langId).getOmString(key, langId); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java index 23eb445..2998497 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java @@ -511,7 +511,7 @@ public class UserDao implements IGroupAdminDataProviderDao<User> { * @param hash * @return */ - public User getUserByActivationHash(String hash) { + public User getByActivationHash(String hash) { TypedQuery<User> query = em.createQuery("SELECT u FROM User as u WHERE u.activatehash = :activatehash" + " AND u.deleted = false", User.class); query.setParameter("activatehash", hash); @@ -674,7 +674,6 @@ public class UserDao implements IGroupAdminDataProviderDao<User> { u.setSendSMS(sendSMS); u.setRights(rights); u.setLastlogin(new Date()); - u.setLasttrans(new Long(0)); u.setSalutation(Salutation.mr); u.setActivatehash(hash); u.setTimeZoneId(timezone.getID()); @@ -705,4 +704,10 @@ public class UserDao implements IGroupAdminDataProviderDao<User> { return update(u, null); } + + public List<User> getByExpiredHash(long ttl) { + return em.createNamedQuery("getUserByExpiredHash", User.class) + .setParameter("date", new Date(System.currentTimeMillis() - ttl)) + .getResultList(); + } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java index 3417837..c38a75a 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java @@ -18,8 +18,6 @@ */ package org.apache.openmeetings.db.entity.user; -import static org.apache.openmeetings.db.util.UserHelper.invalidPassword; - import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Date; @@ -82,6 +80,7 @@ import org.simpleframework.xml.Root; @NamedQuery(name = "getUserByLogin", query = "SELECT u FROM User u WHERE u.deleted = false AND u.type = :type AND u.login = :login AND ((:domainId = 0 AND u.domainId IS NULL) OR (:domainId > 0 AND u.domainId = :domainId))"), @NamedQuery(name = "getUserByEmail", query = "SELECT u FROM User u WHERE u.deleted = false AND u.type = :type AND u.address.email = :email AND ((:domainId = 0 AND u.domainId IS NULL) OR (:domainId > 0 AND u.domainId = :domainId))"), @NamedQuery(name = "getUserByHash", query = "SELECT u FROM User u WHERE u.deleted = false AND u.type = :type AND u.resethash = :resethash"), + @NamedQuery(name = "getUserByExpiredHash", query = "SELECT u FROM User u WHERE u.resetDate < :date"), @NamedQuery(name = "getContactByEmailAndUser", query = "SELECT u FROM User u WHERE u.deleted = false AND u.address.email = :email AND u.type = :type AND u.ownerId = :ownerId"), @NamedQuery(name = "selectMaxFromUsersWithSearch", query = "select count(c.id) from User c " + "where c.deleted = false " + "AND (" @@ -193,10 +192,6 @@ public class User implements IDataProviderEntity { @Element(data = true, required = false) private String lastname; - @Column(name = "lasttrans") - @Element(data = true, required = false) - private Long lasttrans; - @Column(name = "login") @Element(data = true, required = false) private String login; @@ -238,6 +233,10 @@ public class User implements IDataProviderEntity { @Element(data = true, required = false) private String resethash; + @Column(name = "resetdate") + @Element(data = true, required = false) + private Date resetDate; + @Column(name = "activatehash") @Element(data = true, required = false) private String activatehash; @@ -372,14 +371,6 @@ public class User implements IDataProviderEntity { this.lastname = lastname; } - public Long getLasttrans() { - return lasttrans; - } - - public void setLasttrans(Long lasttrans) { - this.lasttrans = lasttrans; - } - public String getLogin() { return login; } @@ -389,15 +380,6 @@ public class User implements IDataProviderEntity { } public void updatePassword(ConfigurationDao configDao, String pass) throws NoSuchAlgorithmException { - updatePassword(configDao, pass, false); - } - - public void updatePassword(ConfigurationDao configDao, String pass, boolean empty) throws NoSuchAlgorithmException { - if (!empty) { - if (invalidPassword(pass, configDao)) { - throw new RuntimeException("Password of invalid length is provided"); - } - } if (configDao.isSipEnabled()) { AsteriskSipUser u = getSipUser(); if (u == null) { @@ -498,6 +480,14 @@ public class User implements IDataProviderEntity { this.resethash = resethash; } + public Date getResetDate() { + return resetDate; + } + + public void setResetDate(Date resetDate) { + this.resetDate = resetDate; + } + public String getActivatehash() { return activatehash; } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java index 232db04..32a0945 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/UserHelper.java @@ -33,8 +33,4 @@ public class UserHelper { public static int getMinPasswdLength(ConfigurationDao cfgDao) { return cfgDao.getConfValue(CONFIG_PASS_MIN_LENGTH_KEY, Integer.class, "" + USER_PASSWORD_MINIMUM_LENGTH); } - - public static boolean invalidPassword(String pass, ConfigurationDao cfgDao) { - return (pass == null || pass.length() < getMinPasswdLength(cfgDao)); - } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java index c92eb40..f7c4230 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java @@ -114,6 +114,7 @@ import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.entity.user.User.Right; import org.apache.openmeetings.db.entity.user.User.Salutation; import org.apache.openmeetings.db.entity.user.UserContact; +import org.apache.openmeetings.db.util.AuthLevelUtil; import org.apache.openmeetings.db.util.TimezoneUtil; import org.apache.openmeetings.util.CalendarPatterns; import org.apache.openmeetings.util.OmFileHelper; @@ -348,8 +349,6 @@ public class BackupImport { if (u.getType() == User.Type.contact && u.getLogin().length() < minLoginLength) { u.setLogin(UUID.randomUUID().toString()); } - //FIXME: OPENMEETINGS-750 - //Convert old Backups with OmTimeZone to new schema String tz = u.getTimeZoneId(); if (tz == null) { @@ -375,6 +374,9 @@ public class BackupImport { if (!Strings.isEmpty(u.getExternalType())) { u.setType(User.Type.external); } + if (AuthLevelUtil.hasLoginLevel(u.getRights()) && !Strings.isEmpty(u.getActivatehash())) { + u.setActivatehash(null); + } userDao.update(u, Long.valueOf(-1)); userMap.put(userId, u.getId()); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/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 2162223..5fa6aae 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 @@ -21,7 +21,6 @@ package org.apache.openmeetings.cli; import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication; import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength; -import static org.apache.openmeetings.db.util.UserHelper.invalidPassword; import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH; @@ -50,10 +49,12 @@ import org.apache.openmeetings.backup.BackupExport; import org.apache.openmeetings.backup.BackupImport; import org.apache.openmeetings.backup.ProgressHolder; import org.apache.openmeetings.core.ldap.LdapLoginManagement; +import org.apache.openmeetings.core.util.StrongPasswordValidator; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.file.FileExplorerItemDao; import org.apache.openmeetings.db.dao.record.RecordingDao; import org.apache.openmeetings.db.dao.user.UserDao; +import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.util.ApplicationHelper; import org.apache.openmeetings.installation.ImportInitvalues; import org.apache.openmeetings.installation.InstallationConfig; @@ -65,6 +66,8 @@ import org.apache.openmeetings.util.OmFileHelper; import org.apache.openmeetings.util.OpenmeetingsVariables; import org.apache.openmeetings.util.mail.MailUtil; import org.apache.wicket.util.string.StringValue; +import org.apache.wicket.validation.IValidator; +import org.apache.wicket.validation.Validatable; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; import org.springframework.scheduling.quartz.SchedulerFactoryBean; @@ -416,16 +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); } - cfg.setPassword(cmdl.getOptionValue("password")); - ConfigurationDao cfgDao = getApplicationContext().getBean(ConfigurationDao.class); - if (invalidPassword(cfg.getPassword(), cfgDao)) { + if (!cmdl.hasOption("password")) { System.out.print("Please enter password for the user '" + cfg.username + "':"); - cfg.setPassword(new BufferedReader(new InputStreamReader(System.in, UTF_8)).readLine()); - if (invalidPassword(cfg.getPassword(), cfgDao)) { - System.out.println("Password was not provided, or too short, should be at least " + getMinPasswdLength(cfgDao) + " character long."); - System.exit(1); - } + } else { + cfg.setPassword(cmdl.getOptionValue("password")); } + ConfigurationDao cfgDao = getApplicationContext().getBean(ConfigurationDao.class); + IValidator<String> passValidator = new StrongPasswordValidator(true, 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()); + } while (!passVal.isValid()); Map<String, String> tzMap = ImportHelper.getAllTimeZones(TimeZone.getAvailableIDs()); cfg.ical_timeZone = null; if (cmdl.hasOption("tz")) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java index 331f594..2f1a278 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java @@ -52,8 +52,8 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_ENAB import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SOAP_REGISTER_KEY; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SYSTEM_EMAIL; import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAME; -import static org.apache.openmeetings.util.OpenmeetingsVariables.EXT_PROCESS_TTL; import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_MAX_UPLOAD_SIZE; +import static org.apache.openmeetings.util.OpenmeetingsVariables.EXT_PROCESS_TTL; import static org.apache.openmeetings.util.OpenmeetingsVariables.HEADER_CSP_SELF; import static org.apache.openmeetings.util.OpenmeetingsVariables.HEADER_XFRAME_SAMEORIGIN; import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_ADMIN; @@ -117,8 +117,6 @@ public class ImportInitvalues { private GroupDao groupDao; @Autowired private RoomDao roomDao; - @Autowired - private LabelDao labelDao; private int progress = 0; @@ -326,7 +324,7 @@ public class ImportInitvalues { "Number of chars needed in a user login"); cfgDao.add(CONFIG_PASS_MIN_LENGTH_KEY, "" + USER_PASSWORD_MINIMUM_LENGTH, null, - "Number of chars needed in a user login"); + "Number of chars needed in a user password"); cfgDao.add("calendar.conference.rooms.default.size", "50", null, "Default number of participants conference room created via calendar"); @@ -406,22 +404,22 @@ public class ImportInitvalues { public void loadDefaultRooms(boolean createRooms, long langId) { if (createRooms) { - createRoom(labelDao.getString("install.room.public.interview", langId), Type.interview, 16L, true, null); - createRoom(labelDao.getString("install.room.public.conference", langId), Type.conference, 32L, true, null); - Room r = createRoom(labelDao.getString("install.room.public.video.only", langId), Type.conference, 32L, true, null); + createRoom(LabelDao.getString("install.room.public.interview", langId), Type.interview, 16L, true, null); + createRoom(LabelDao.getString("install.room.public.conference", langId), Type.conference, 32L, true, null); + Room r = createRoom(LabelDao.getString("install.room.public.video.only", langId), Type.conference, 32L, true, null); r.hide(RoomElement.Whiteboard); roomDao.update(r, null); - createRoom(labelDao.getString("install.room.public.video.wb", langId), Type.conference, 32L, true, null); - createRoom(labelDao.getString("install.room.public.restricted", langId), Type.restricted, 100L, true, null); - r = createRoom(labelDao.getString("install.room.restricted.micro", langId), Type.restricted, 100L, true, null); + createRoom(LabelDao.getString("install.room.public.video.wb", langId), Type.conference, 32L, true, null); + createRoom(LabelDao.getString("install.room.public.restricted", langId), Type.restricted, 100L, true, null); + r = createRoom(LabelDao.getString("install.room.restricted.micro", langId), Type.restricted, 100L, true, null); r.getHiddenElements().clear(); roomDao.update(r, null); - r = createRoom(labelDao.getString("install.room.conference.micro", langId), Type.conference, 32L, true, null); + r = createRoom(LabelDao.getString("install.room.conference.micro", langId), Type.conference, 32L, true, null); r.getHiddenElements().clear(); roomDao.update(r, null); - createRoom(labelDao.getString("install.room.private.conference", langId), Type.conference, 32L, false, 1L); + createRoom(LabelDao.getString("install.room.private.conference", langId), Type.conference, 32L, false, 1L); } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml ---------------------------------------------------------------------- diff --git a/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml b/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml index 57dfbda..951f3c9 100644 --- a/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml +++ b/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml @@ -76,11 +76,9 @@ </tr> <tr> <td> user.pass.minimum.length </td> - <td> 4 </td> - <td> minimum chars required for the password to create a - user - </td> - <td> 1.9.x </td> + <td> 8 </td> + <td> minimum chars required for the password to create a user </td> + <td> 1.9.x <b>default value changed in 3.3.0</b> </td> </tr> <tr> <td> number.minutes.reminder.send </td> @@ -93,9 +91,7 @@ <tr> <td> max_upload_size </td> <td> 1073741824 </td> - <td> Maximum size of upload file (bytes) 1073741824 bytes - = 1GB - </td> + <td> Maximum size of upload file (bytes) 1073741824 bytes = 1GB </td> <td> 1.8.x </td> </tr> <tr> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java index 8e19356..b7ec0ed 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/AppointmentLogic.java @@ -61,8 +61,6 @@ public class AppointmentLogic { @Autowired private ConfigurationDao configurationDao; @Autowired - private LabelDao langDao; - @Autowired private RoomDao roomDao; @Autowired private IInvitationManager invitationManager; @@ -85,7 +83,7 @@ public class AppointmentLogic { i.setRoom(a.getRoom()); sendReminder(u, a, i); } - + private void sendReminder(User u, Appointment a, Invitation inv) throws Exception { if (inv == null) { log.error(String.format("Error retrieving Invitation for member %s in Appointment %s" @@ -99,7 +97,7 @@ public class AppointmentLogic { // Get the required labels one time for all meeting members. The // Language of the email will be the system default language - String smsSubject = generateSMSSubject(langDao.getString(1158L, langId), a); + String smsSubject = generateSMSSubject(LabelDao.getString(1158L, langId), a); AbstractSubjectEmailTemplate t = AppointmentReminderTemplate.get(u, a, tz); invitationManager.sendInvitationLink(inv, MessageType.Create, t.getSubject(), t.getEmail(), false); @@ -110,7 +108,7 @@ public class AppointmentLogic { invitationDao.update(inv); } } - + /** * Sending Reminder in Simple mail format 5 minutes before Meeting begins */ @@ -183,7 +181,7 @@ public class AppointmentLogic { private String generateSMSSubject(String labelid1158, Appointment ment) { String subj = configurationDao.getConfValue("sms.subject", String.class, null); - return subj == null || subj.length() == 0 ? + return subj == null || subj.length() == 0 ? labelid1158 + " " + ment.getTitle() : subj; } @@ -231,7 +229,7 @@ public class AppointmentLogic { public MeetingMember getMeetingMember(Long userId, Long langId, String str) { String[] params = str.split(","); - + try { return meetingMemberDao.get(Long.valueOf(params[0])); } catch (Exception e) { @@ -246,7 +244,7 @@ public class AppointmentLogic { if (mm.getUser() == null) { mm.setUser(userDao.getContact(params[3], params[1], params[2], langId, params[5], userId)); } - + return mm; } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java index 5dbdd2b..bcef9cf 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java @@ -25,6 +25,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.io.File; import java.io.FileFilter; +import java.util.List; import java.util.Map; import org.apache.commons.io.FileUtils; @@ -32,8 +33,10 @@ import org.apache.commons.lang3.math.NumberUtils; import org.apache.openmeetings.core.data.whiteboard.WhiteboardCache; import org.apache.openmeetings.core.session.SessionManager; import org.apache.openmeetings.db.dao.server.SessiondataDao; +import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.dto.room.Whiteboard; import org.apache.openmeetings.db.dto.room.Whiteboards; +import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.util.InitializationContainer; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; @@ -44,6 +47,7 @@ public class CleanupJob extends AbstractJob { private long sessionTimeout = 30 * 60 * 1000L; private long testSetupTimeout = 60 * 60 * 1000L; // 1 hour private long roomFilesTtl = 60 * 60 * 1000L; // 1 hour + private long resetHashTtl = 24 * 60 * 60 * 1000L; // 1 day @Autowired private SessiondataDao sessionDao; @@ -51,31 +55,25 @@ public class CleanupJob extends AbstractJob { private SessionManager sessionManager; @Autowired private WhiteboardCache wbManager; - - public long getSessionTimeout() { - return sessionTimeout; - } + @Autowired + private UserDao userDao; public void setSessionTimeout(long sessionTimeout) { this.sessionTimeout = sessionTimeout; } - public long getTestSetupTimeout() { - return testSetupTimeout; - } - public void setTestSetupTimeout(long testSetupTimeout) { this.testSetupTimeout = testSetupTimeout; } - public long getRoomFilesTtl() { - return roomFilesTtl; - } - public void setRoomFilesTtl(long roomFilesTtl) { this.roomFilesTtl = roomFilesTtl; } + public void setResetHashTtl(long resetHashTtl) { + this.resetHashTtl = resetHashTtl; + } + public void cleanTestSetup() { log.debug("CleanupJob.cleanTestSetup"); if (!InitializationContainer.initComplete) { @@ -176,4 +174,19 @@ public class CleanupJob extends AbstractJob { } }); } + + public void cleanExpiredResetHash() { + log.debug("CleanupJob.cleanExpiredResetHash"); + if (!InitializationContainer.initComplete) { + return; + } + List<User> users = userDao.getByExpiredHash(resetHashTtl); + log.debug("... {} expired hashes were found", users.size()); + for (User u : users) { + u.setResetDate(null); + u.setResethash(null); + userDao.update(u, null); + } + log.debug("... DONE CleanupJob.cleanExpiredResetHash"); + } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java index 4b1f302..21edcf0 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java @@ -68,7 +68,7 @@ public class OpenmeetingsVariables { public static String webAppRootPath = null; public static String configKeyCryptClassName = null; public static final int USER_LOGIN_MINIMUM_LENGTH = 4; - public static final int USER_PASSWORD_MINIMUM_LENGTH = 4; + public static final int USER_PASSWORD_MINIMUM_LENGTH = 8; public static Boolean whiteboardDrawStatus = null; public static String wicketApplicationName = null; public static String APPLICATION_NAME = null; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml index b13a669..16afa94 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml index 5c91841..6859add 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml index 313c61b..88af794 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml index cff8f4d..498ebdb 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml index f7ed427..3b3358e 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml index 8658f34..79e9eeb 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml index 73691a2..cb1839b 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml @@ -1945,4 +1945,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml index 313ffc6..971a215 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml index 9e7a166..bc97a19 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml index 506f408..5e3778c 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml index 738b2e3..abda22f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml index 2687b5d..b5fd20c 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml @@ -1913,4 +1913,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml index 3505346..aabd312 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml index 53af064..f44d86e 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml @@ -1908,4 +1908,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml index f102090..983a232 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml index 428ae49..62ec00f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml @@ -1926,4 +1926,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml index 61ab222..2c76739 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml index 8a8b503..3ac0cde 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml @@ -1926,4 +1926,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml index ae66f18..fd4b34f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml index 5097bb8..666000d 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml index c8d9060..8bc745e 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml index ab00569..7a192c7 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml index 94b9cdb..3d22c3f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml @@ -1925,4 +1925,10 @@ <entry key="find.user">ÐайÑи полÑзоваÑелÑ</entry> <entry key="captcha.text">ТекÑÑ ÐºÐ°Ð¿Ñи</entry> <entry key="bad.captcha.text">ÐÑ Ð²Ð²ÐµÐ»Ð¸ невеÑнÑй ÑекÑÑ ÐºÐ°Ð¿Ñи</entry> + <entry key="bad.password.short"><![CDATA['СлабÑй' паÑолÑ: минималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° паÑÐ¾Ð»Ñ ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['СлабÑй' паÑолÑ: обÑзаÑелена по кÑайней меÑе одна ÑÑÑоÑÐ½Ð°Ñ Ð±Ñква]]></entry> + <entry key="bad.password.upper"><![CDATA['СлабÑй' паÑолÑ: обÑзаÑелена по кÑайней меÑе одна пÑопиÑÐ½Ð°Ñ Ð±Ñква]]></entry> + <entry key="bad.password.digit"><![CDATA['СлабÑй' паÑолÑ: обÑзаÑелена по кÑайней меÑе одна ÑиÑÑа]]></entry> + <entry key="bad.password.special"><![CDATA['СлабÑй' паÑолÑ: обÑзаÑелен по кÑайней меÑе один Ñимвол из '!@#$%^&*][']]></entry> + <entry key="bad.password.stop"><![CDATA['СлабÑй' паÑолÑ: паÑÐ¾Ð»Ñ Ð½Ðµ должен ÑодеÑжаÑÑ ÑаÑÑей полÑзоваÑелÑÑкого email или логина]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml index e4ad941..9c80e9b 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml index f939b30..b41985e 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml index 819529f..6fb64b4 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml index 7aef7c8..b2fc1b4 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml index 1994203..85efd7a 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml @@ -1925,4 +1925,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml index ee801d7..263d544 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml @@ -1910,4 +1910,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b5c310b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml index 91d6562..029be77 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml @@ -1924,4 +1924,10 @@ <entry key="find.user">Find user</entry> <entry key="captcha.text">Captcha text</entry> <entry key="bad.captcha.text">You have entered incorrect captcha text</entry> + <entry key="bad.password.short"><![CDATA['Weak' password: minimum password length is ${0}]]></entry> + <entry key="bad.password.lower"><![CDATA['Weak' password: at least 1 lower-case letter is required]]></entry> + <entry key="bad.password.upper"><![CDATA['Weak' password: at least 1 upper-case letter is required]]></entry> + <entry key="bad.password.digit"><![CDATA['Weak' password: at least 1 digit is required]]></entry> + <entry key="bad.password.special"><![CDATA['Weak' password: at least 1 special symbol '!@#$%^&*][' is required]]></entry> + <entry key="bad.password.stop"><![CDATA['Weak' password: it shouldn't contain part of the user's email address or username]]></entry> </properties>
