Author: sshyrkov Date: Tue Jun 19 13:25:38 2007 New Revision: 17636 URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17636&repname= =3Djahia Log: JAHIA-1965: username creation does not allow @ and dot(.) character =
http://www.jahia.net/jira/browse/JAHIA-1965 Resolved: patterns added into jahia.properties for the user name, user pass= word and group name to check the correct syntax and allowed characters Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/Manage= Sites.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/Manage= Groups.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/Manage= Users.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerDBProvider.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerLDAPProvider.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerProvider.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerRoutingService.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerService.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerDBProvider.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerLDAPProvider.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerProvider.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerRoutingService.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerService.java branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/settings/SettingsB= ean.java branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/config/jahia.s= keleton Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/= ManageSites.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/admin/sites/ManageSites.java&rev=3D17636&re= pname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/Manage= Sites.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/Manage= Sites.java Tue Jun 19 13:25:38 2007 @@ -107,7 +107,6 @@ = private static JahiaSitesService sMgr; = - private static ServletContext context; private static HttpSession session; = private License coreLicense; @@ -128,7 +127,6 @@ HttpSession session, ServletContext context) throws Throwable { - ManageSites.context =3D context; ManageSites.session =3D session; = ServicesRegistry sReg =3D ServicesRegistry.getInstance(); @@ -646,7 +644,6 @@ try { // get admins list... JahiaGroupManagerService groupManager =3D ServicesRegistry.get= Instance().getJahiaGroupManagerService(); - JahiaUserManagerService userManager =3D ServicesRegistry.getIn= stance().getJahiaUserManagerService(); Enumeration allSites =3D sMgr.getSites(); Vector sitesList =3D new Vector(); Integer siteIDInteger =3D new Integer(selectedSite); @@ -745,7 +742,9 @@ request.setAttribute("adminEmail", adminEmail); = // get current user... - JahiaUser currentUser =3D ServicesRegistry.getInstance().getJahiaU= serManagerService(). + JahiaUserManagerService userManager =3D ServicesRegistry.getInstan= ce() + .getJahiaUserManagerService(); + JahiaUser currentUser =3D userManager. lookupUser(0, (String) session.getAttribute(CLASS_NAME + "= jahiaLoginUsername")); = if (adminUsername.equals(currentUser.getUsername())) { @@ -766,10 +765,10 @@ } else if (adminPassword.length() < 4) { warningMsg =3D JahiaResourceBundle.getAdminResource("org.jahia= .admin.JahiaDisplayMessage.passwdTooShort.label", jParams, jParams.getLocale()); - } else if (!JahiaTools.isAlphaValid(adminUsername)) { + } else if (!userManager.isUsernameSyntaxCorrect(adminUsername)) { warningMsg =3D JahiaResourceBundle.getAdminResource("org.jahia= .admin.JahiaDisplayMessage.onlyLettersDigitsUnderscoreWithUsername.label", jParams, jParams.getLocale()); - } else if (!JahiaTools.isAlphaValid(adminPassword)) { + } else if (!userManager.isPasswordSyntaxCorrect(adminPassword)) { warningMsg =3D JahiaResourceBundle.getAdminResource("org.jahia= .admin.JahiaDisplayMessage.onlyLettersDigitsUnderscoreWithPasswd.label", jParams, jParams.getLocale()); } else { @@ -827,8 +826,6 @@ String selectedTmplSet =3D (String) request.getAttribute("selected= TmplSet"); String thumbnail =3D null; = - JahiaSite site =3D (JahiaSite) session.getAttribute(CLASS_NAME + "= newJahiaSite"); - // get tmplPackage list... SharedTemplatePackagesRegistry tmplSetReg =3D SharedTemplatePackag= esRegistry.getInstance(); = @@ -911,8 +908,6 @@ // get services... JahiaUserManagerService jums =3D ServicesRegistry.getInstance(= ).getJahiaUserManagerService(); JahiaGroupManagerService jgms =3D ServicesRegistry.getInstance= ().getJahiaGroupManagerService(); - JahiaSiteGroupManagerService jsgms =3D ServicesRegistry.getIns= tance().getJahiaSiteGroupManagerService(); - JahiaSiteUserManagerService jsums =3D ServicesRegistry.getInst= ance().getJahiaSiteUserManagerService(); JahiaSitesService jsms =3D ServicesRegistry.getInstance().getJ= ahiaSitesService(); JahiaPageTemplateService jpts =3D ServicesRegistry.getInstance= ().getJahiaPageTemplateService(); JahiaSearchService searchServ =3D ServicesRegistry.getInstance= ().getJahiaSearchService(); @@ -1170,8 +1165,6 @@ session.setAttribute(JahiaAdministration.CLASS_NAME + = "manageSiteID", new Integer(site.getID())); } = - Integer siteID =3D new Integer(site.getID()); - // set new site in session session.setAttribute(CLASS_NAME + "newJahiaSite", site); } else { @@ -1378,8 +1371,6 @@ HttpServletResponse response, HttpSession session) throws IOException, ServletException { - //logger.debug(" process existant administrator selected started "= ); - boolean processError =3D true; = // get form values... String adminSelected =3D request.getParameter("adminSelected"); @@ -1423,8 +1414,6 @@ HttpServletResponse respon= se, HttpSession session) throws IOException, ServletException { - //logger.debug(" process existant administrator change site starte= d "); - boolean processError =3D true; = request.setAttribute("selectedSite", request.getParameter("site")); displaySelectExistantAdmin(request, response, session); @@ -1442,7 +1431,6 @@ HttpSession session) throws IOException, ServletException { logger.debug("Process template set choice started "); - boolean processError =3D true; = // get form values... String operation =3D jParams.getParameter("operation"); Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/= ManageGroups.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/admin/users/ManageGroups.java&rev=3D17636&r= epname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/Manage= Groups.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/Manage= Groups.java Tue Jun 19 13:25:38 2007 @@ -58,12 +58,10 @@ import org.jahia.services.usermanager.JahiaGroup; import org.jahia.services.usermanager.JahiaGroupManagerService; import org.jahia.services.usermanager.JahiaSiteGroupManagerService; -import org.jahia.services.usermanager.JahiaSiteUserManagerService; import org.jahia.services.usermanager.JahiaUser; import org.jahia.services.usermanager.JahiaUserManagerService; import org.jahia.services.version.EntryLoadRequest; import org.jahia.services.cache.HtmlCache; -import org.jahia.utils.JahiaString; import org.jahia.utils.JahiaTools; import org.jahia.utils.LanguageCodeConverters; = @@ -87,7 +85,6 @@ = private static JahiaUserManagerService uMgr; private static JahiaGroupManagerService gMgr; - private static JahiaSiteUserManagerService uSiteMgr; private JahiaSite jahiaSite; private String groupMessage =3D ""; private static HashSet groupMembers; // Contain the group members of t= he selected group list @@ -115,7 +112,6 @@ if (sReg !=3D null) { uMgr =3D sReg.getJahiaUserManagerService(); gMgr =3D sReg.getJahiaGroupManagerService(); - uSiteMgr =3D sReg.getJahiaSiteUserManagerService(); } // get the current website. get the jahiaserver if it's null... jahiaSite =3D (JahiaSite) session.getAttribute( ProcessingContext= .SESSION_SITE ); @@ -229,9 +225,6 @@ request.setAttribute("title", "Manage Groups"); } = - // get browser entity... - String userAgent =3D request.getHeader("user-agent"); - // redirect! JahiaAdministration.doRedirect( request, response, session, ta= rget ); = @@ -340,7 +333,8 @@ } // The following test is really disputable because we should can e= nter // as well accentueted char and any internationalized char. - else if (!JahiaTools.isAlphaValid(groupName)) { + else if (!ServicesRegistry.getInstance().getJahiaGroupManagerServi= ce() + .isGroupNameSyntaxCorrect(groupName)) { groupMessage =3D JahiaResourceBundle.getAdminResource("org.jahia= .admin.groupMessage.onlyLettersDigitsUnderscores.label", jParams, jParams.getLocale()); return false; @@ -653,7 +647,8 @@ } // The following test is really disputable because we should can e= nter // as well accentueted char and any internationalized char. - else if (!JahiaTools.isAlphaValid(groupName)) { + else if (!ServicesRegistry.getInstance().getJahiaGroupManagerServi= ce() + .isGroupNameSyntaxCorrect(groupName)) { groupMessage =3D JahiaResourceBundle.getAdminResource("org.jahia= .admin.groupMessage.onlyLettersDigitsUnderscores.label", jParams, jParams.getLocale()); return false; Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/= ManageUsers.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/admin/users/ManageUsers.java&rev=3D17636&re= pname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/Manage= Users.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/users/Manage= Users.java Tue Jun 19 13:25:38 2007 @@ -75,7 +75,6 @@ private static final String JSP_PATH =3D JahiaAdministration.JSP_PATH; = private static JahiaUserManagerService uMgr; - private static JahiaGroupManagerService gMgr; = private JahiaSite jahiaSite; = @@ -109,7 +108,6 @@ ServicesRegistry sReg =3D ServicesRegistry.getInstance(); if (sReg !=3D null) { uMgr =3D sReg.getJahiaUserManagerService(); - gMgr =3D sReg.getJahiaGroupManagerService(); } = // get the current website. get the jahiaserver if it's null... @@ -144,7 +142,6 @@ ServicesRegistry sReg =3D ServicesRegistry.getInstance(); if (sReg !=3D null) { uMgr =3D sReg.getJahiaUserManagerService(); - gMgr =3D sReg.getJahiaGroupManagerService(); } } = @@ -405,7 +402,8 @@ } // The following test is really disputable because we should can e= nter // as well accentueted char and any internationalized char. - else if (!JahiaTools.isAlphaValid(username)) { + else if (!ServicesRegistry.getInstance().getJahiaUserManagerServic= e() + .isUsernameSyntaxCorrect(username)) { userMessage =3D JahiaResourceBundle.getAdminResource("org.jahia.= admin.userMessage.onlyLettersDigitsUnderscores.label", jParams, jParams.getLocale()); return false; @@ -423,6 +421,11 @@ userMessage =3D JahiaResourceBundle.getAdminResource("org.jahi= a.admin.userMessage.passwdLeast6Chars.label", jParams, jParams.getLocale()); return false; + } else if(!ServicesRegistry.getInstance().getJahiaUserManagerServi= ce() + .isPasswordSyntaxCorrect(passwd)) { + userMessage =3D JahiaResourceBundle.getAdminResource("org.jahi= a.admin.JahiaDisplayMessage.onlyLettersDigitsUnderscoreWithPasswd.label", + jParams, jParams.getLocale()); + return false; } else { String passwdConfirm =3D request.getParameter("passwdconfirm")= .trim(); if (!passwdConfirm.equals(passwd)) { Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaGroupManagerDBProvider.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerDBPro= vider.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerDBProvider.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerDBProvider.java Tue Jun 19 13:25:38 2007 @@ -25,6 +25,7 @@ * @version 1.0 */ = +import org.apache.log4j.Logger; import org.jahia.exceptions.JahiaException; import org.jahia.hibernate.manager.JahiaGroupManager; import org.jahia.registries.ServicesRegistry; @@ -57,8 +58,8 @@ /** Group Member type designation * */ public static int GROUPTYPE =3D 2; = - private static org.apache.log4j.Logger logger =3D - org.apache.log4j.Logger.getLogger (JahiaGroupManagerDBProvider= .class); + private static Logger logger =3D Logger + .getLogger(JahiaGroupManagerDBProvider.class); = private static JahiaGroupManagerDBProvider mGroupManagerDBProvider; = @@ -123,7 +124,7 @@ public synchronized JahiaGroup createGroup (int siteID, String name, Properties properties) { // try to avoid a NullPointerException - if (!isNameValid (name)) { + if (!isGroupNameSyntaxCorrect(name)) { return null; } = @@ -142,37 +143,6 @@ return group; } = - //--------------------------------------------------------------------= ----- - private boolean isNameValid (String name) { - if (name =3D=3D null) { - return false; - } - - if (name.length () =3D=3D 0) { - return false; - } - - String authorizedCharacters =3D - "-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_012= 3456789"; - /* EP : 2004-17-06 - char[] chars =3D authorizedCharacters.toCharArray (); - char[] nameBuffer =3D name.toCharArray ();*/ - - boolean badCharFound =3D false; - for (int i =3D 0; i < name.length() && !badCharFound; i++) { - badCharFound =3D authorizedCharacters.indexOf((int)name.charAt= (i)) < 0; - if (badCharFound) { - logger.debug ("Bad character found in DB group name [" + - name + - "] at position " + i); - } - } - /* end EP mods */ - - return (!badCharFound); - } - - //--------------------------------------------------------------------= ----- /** * This function checks on a gived site if the groupname has already b= een * assigned to another group. @@ -201,7 +171,7 @@ */ public JahiaGroup lookupGroup (int siteID, String name) { // try to avoid a NullPointerException - if (!isNameValid (name)) { + if (!isGroupNameSyntaxCorrect(name)) { return null; } = Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaGroupManagerLDAPProvider.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerLDAPP= rovider.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerLDAPProvider.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerLDAPProvider.java Tue Jun 19 13:25:38 2007 @@ -26,7 +26,6 @@ import org.jahia.registries.ServicesRegistry; import org.jahia.services.cache.Cache; import org.jahia.services.cache.CacheService; -import org.jahia.services.database.JahiaIncrementorsDBService; import org.jahia.services.sites.JahiaSite; import org.jahia.services.sites.JahiaSiteTools; import org.jahia.utils.JahiaTools; @@ -37,7 +36,6 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; -import java.sql.Connection; import java.util.*; = = @@ -101,17 +99,12 @@ */ private static String SEARCH_USER_ATTRIBUTE_NAME =3D "groups.ldap.memb= ers.user.attibute.map"; = - private final String MSG_INTERNAL_ERROR =3D "Group Manager internal er= ror"; - private Cache mGroupCache; private Cache mProvidersGroupCache; = - private JahiaIncrementorsDBService incrementorService =3D null; - private Properties ldapProperties =3D null; = private DirContext publicCtx =3D null; - private boolean connectedToPublic =3D false; private Vector searchWildCardAttributeList =3D null; = //in order to avoid the continuous LDAP lookups due to lookupGroup("ad= ministrators:0,1,..") @@ -163,12 +156,6 @@ this.cacheService =3D cacheService; } = - public void setIncrementorService(JahiaIncrementorsDBService increment= orService) { - this.incrementorService =3D incrementorService; - } - -// -------------------------- OTHER METHODS -------------------------- - public void start() throws JahiaInitializationException { // instanciates the cache @@ -1073,7 +1060,7 @@ */ public JahiaGroup lookupGroup (int siteID, String name) { // try to avoid a NullPointerException - if (!isNameValid (name)) { + if (!isGroupNameSyntaxCorrect(name)) { return null; } = @@ -1106,34 +1093,6 @@ return group; } = - private boolean isNameValid (String name) { - if (name =3D=3D null) { - return false; - } - - if (name.length () =3D=3D 0) { - return false; - } - - String authorizedCharacters =3D - " -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_01= 23456789{}"; - /* EP : 2004-17-06 - char[] chars =3D authorizedCharacters.toCharArray (); - char[] nameBuffer =3D name.toCharArray ();*/ - - boolean badCharFound =3D false; - for (int i =3D 0; i < name.length() && !badCharFound; i++) { - badCharFound =3D authorizedCharacters.indexOf((int)name.charAt= (i)) < 0; - if (badCharFound) { - logger.debug ("Bad character found in ldap group name [" + - name + - "] at position " + i); - } - } - /* end EP mods */ - return (!badCharFound); - } - private JahiaLDAPGroup lookupGroupInLDAP (int siteID, String name) { JahiaLDAPGroup group =3D lookupGroupInLDAP (name); if (group =3D=3D null) { Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaGroupManagerProvider.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerProvi= der.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerProvider.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerProvider.java Tue Jun 19 13:25:38 2007 @@ -16,12 +16,15 @@ * limitations under the License. */package org.jahia.services.usermanager; = +import org.apache.log4j.Logger; +import org.jahia.bin.Jahia; import org.jahia.services.JahiaService; = import java.util.List; import java.util.Properties; import java.util.Set; import java.util.Vector; +import java.util.regex.Pattern; = /** * <p>Title: </p> @@ -36,11 +39,50 @@ public abstract class JahiaGroupManagerProvider extends JahiaService { // ------------------------------ FIELDS ------------------------------ = - private boolean defaultProvider =3D false; + private static Logger logger =3D Logger + .getLogger(JahiaGroupManagerProvider.class); + + private static Pattern groupNamePattern; + + private boolean defaultProvider =3D false; private boolean readOnly =3D false; private int priority =3D 99; private String key; = + protected static Pattern getGroupNamePattern() { + if (groupNamePattern =3D=3D null) { + synchronized (JahiaUserManagerProvider.class) { + if (groupNamePattern =3D=3D null) { + groupNamePattern =3D Pattern.compile(Jahia.getSettings() + .lookupString("userManagementGroupNamePattern")); + } + } + } + return groupNamePattern; + } + + /** + * Validates provided group name against a regular expression pattern, + * specified in the Jahia configuration. + * = + * @param name + * the group name to be validated + * @return <code>true</code> if the specified group name matches the + * validation pattern + */ + public boolean isGroupNameSyntaxCorrect(String name) { + if (name =3D=3D null || name.length() =3D=3D 0) { + return false; + } + + boolean nameValid =3D getGroupNamePattern().matcher(name).matches(); + if (!nameValid && logger.isDebugEnabled()) { + logger.debug("Validation failed for the group name: " + name + + " against pattern: " + getGroupNamePattern().pattern()); + } + return nameValid; + } + // --------------------- GETTER / SETTER METHODS --------------------- = public String getKey() { Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaGroupManagerRoutingService.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerRouti= ngService.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerRoutingService.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerRoutingService.java Tue Jun 19 13:25:38 2007 @@ -785,6 +785,16 @@ return results; } = + public boolean isGroupNameSyntaxCorrect(final String name) { + Boolean result =3D (Boolean) routeCallOne(new Command() { + public Object execute(JahiaGroupManagerProvider p) { + return p.isGroupNameSyntaxCorrect(name) ? Boolean.TRUE + : Boolean.FALSE; + } + }, null, null); + return result.booleanValue(); + } + // -------------------------- INNER CLASSES -------------------------- = interface Command { Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaGroupManagerService.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerServi= ce.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerService.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaGroupManagerService.java Tue Jun 19 13:25:38 2007 @@ -246,4 +246,16 @@ * @param jahiaGroup JahiaGroup the group to be updated in the cache. */ public abstract void updateCache(JahiaGroup jahiaGroup); + = + /** + * Validates provided group name against a regular expression pattern, + * specified in the Jahia configuration. + * = + * @param name + * the group name to be validated + * @return <code>true</code> if the specified group name matches the + * validation pattern + */ + public abstract boolean isGroupNameSyntaxCorrect(String name); + } Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaUserManagerDBProvider.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaUserManagerDBProv= ider.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerDBProvider.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerDBProvider.java Tue Jun 19 13:25:38 2007 @@ -18,6 +18,7 @@ = package org.jahia.services.usermanager; = +import org.apache.log4j.Logger; import org.jahia.exceptions.JahiaException; import org.jahia.exceptions.JahiaInitializationException; import org.jahia.hibernate.manager.JahiaUserManager; @@ -50,8 +51,8 @@ /** Root user unique identification number */ public static final int ROOT_USER_ID =3D 0; = - private static org.apache.log4j.Logger logger =3D - org.apache.log4j.Logger.getLogger (JahiaUserManagerDBProvider.= class); + private static Logger logger =3D Logger + .getLogger(JahiaUserManagerDBProvider.class); = private static JahiaUserManagerDBProvider mUserManagerDBService; = @@ -135,7 +136,7 @@ public synchronized JahiaUser createUser (String name, String password, String userKey, int siteID, Properties properties) { - if (!isNameValid (name)) { + if (!isUsernameSyntaxCorrect(name)) { return null; } = @@ -145,7 +146,7 @@ } = if (!password.startsWith("SHA-1:")) { - if (!isNameValid (password)) { + if (!isPasswordSyntaxCorrect(password)) { return null; } // Encrypt the password @@ -181,44 +182,15 @@ return user; } = - //--------------------------------------------------------------------= ----- - private boolean isNameValid (String name) { - if (name =3D=3D null) { - return false; - } - - if (name.length () =3D=3D 0) { - return false; - } - - String authorizedCharacters =3D "abcdefghijklmnopqrstuvwxyzABCDEFG= HIJKLMNOPQRSTUVWXYZ_0123456789{}"; - /* EP : 2004-17-06 - char[] chars =3D authorizedCharacters.toCharArray (); - char[] nameBuffer =3D name.toCharArray ();*/ - - boolean badCharFound =3D false; - for (int i =3D 0; i < name.length() && !badCharFound; i++) { - badCharFound =3D authorizedCharacters.indexOf((int)name.charAt= (i)) < 0; - if (badCharFound) { - logger.debug ("Bad character found in DB user name [" + - name + - "] at position " + i); - } - } - /* end EP mods */ - return (!badCharFound); - } - - //--------------------------------------------------------------------= ------ /** - * This function checks into the system if the name has already been - * assigned to another user. - * - * @param name User login name. - * - * @return Return true if the specified name has not been assigned yet, - * return false on any failure. - */ + * This function checks into the system if the name has already been + * assigned to another user. + * = + * @param name + * User login name. + * @return Return true if the specified name has not been assigned yet, + * return false on any failure. + */ public boolean userExists (int siteID, String name) { // try to avoid a NullPointerException if (name =3D=3D null) { @@ -245,7 +217,7 @@ */ public JahiaUser lookupUser (int siteID, String name) { // try to avoid a NullPointerException - if (!isNameValid (name)) { + if (!isUsernameSyntaxCorrect(name)) { return null; } = Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaUserManagerLDAPProvider.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAPPr= ovider.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerLDAPProvider.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerLDAPProvider.java Tue Jun 19 13:25:38 2007 @@ -68,8 +68,6 @@ private static org.apache.log4j.Logger logger =3D org.apache.log4j.Logger.getLogger(JahiaUserManagerLDAPProvider.cla= ss); = - private static final String USERNAME_PROPERTY_NAME =3D "username"; - private static String DEFAULT_CONFIGURATION_FILE =3D "users.ldap.prope= rties"; = private static String CONTEXT_FACTORY_PROP =3D "users.ldap.context.fac= tory"; @@ -100,12 +98,8 @@ private Properties ldapProperties =3D null; = private DirContext publicCtx =3D null; - private boolean connectedToPublic =3D false; private Vector searchWildCardAttributeList =3D null; = - private final String MSG_INTERNAL_ERROR =3D new String( - "JahiaUserManagerLDAPProvider"); - private Cache mUserCache; private Cache mProvidersUserCache; = @@ -690,35 +684,6 @@ } } = - //--------------------------------------------------------------------= ----- - private boolean isNameValid (String name) { - if (name =3D=3D null) { - return false; - } - - if (name.length() =3D=3D 0) { - return false; - } - - String authorizedCharacters =3D "abcdefghijklmnopqrstuvwxyzABCDEFG= HIJKLMNOPQRSTUVWXYZ_0123456789{}"; - /* EP : 2004-17-06 - char[] chars =3D authorizedCharacters.toCharArray (); - char[] nameBuffer =3D name.toCharArray ();*/ - - boolean badCharFound =3D false; - for (int i =3D 0; i < name.length() && !badCharFound; i++) { - badCharFound =3D authorizedCharacters.indexOf((int)name.charAt= (i)) < 0; - if (badCharFound) { - logger.debug ("Bad character found in LDAP user name [" + - name + - "] at position " + i); - } - } - /* end EP mods */ - - return (!badCharFound); - } - /** * Performs a login of the specified user. * Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaUserManagerProvider.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaUserManagerProvid= er.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerProvider.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerProvider.java Tue Jun 19 13:25:38 2007 @@ -17,6 +17,8 @@ */ package org.jahia.services.usermanager; = +import org.apache.log4j.Logger; +import org.jahia.bin.Jahia; import org.jahia.services.JahiaService; import org.jahia.utils.Base64; = @@ -25,6 +27,7 @@ import java.util.List; import java.util.Properties; import java.util.Set; +import java.util.regex.Pattern; = = /** @@ -45,6 +48,13 @@ */ public static final String GUEST_USERNAME =3D "guest"; = + private static Logger logger =3D Logger + .getLogger(JahiaUserManagerProvider.class); + + private static Pattern userNamePattern; + + private static Pattern userPasswordPattern; + private boolean defaultProvider =3D false; private boolean readOnly =3D false; private int priority =3D 99; @@ -90,9 +100,34 @@ return result; } = -// --------------------- GETTER / SETTER METHODS --------------------- + private static Pattern getUserNamePattern() { + if (userNamePattern =3D=3D null) { + synchronized (JahiaUserManagerProvider.class) { + if (userNamePattern =3D=3D null) { + userNamePattern =3D Pattern.compile(Jahia.getSettings() + .lookupString("userManagementUserNamePattern")); + } + } + } + return userNamePattern; + } + + private static Pattern getUserPasswordPattern() { + if (userPasswordPattern =3D=3D null) { + synchronized (JahiaUserManagerProvider.class) { + if (userPasswordPattern =3D=3D null) { + userPasswordPattern =3D Pattern + .compile(Jahia.getSettings().lookupString( + "userManagementUserPasswordPattern")); + } + } + } + return userPasswordPattern; + } = - public String getKey() { +// --------------------- GETTER / SETTER METHODS --------------------- + = + public String getKey() { return key; } = @@ -209,7 +244,58 @@ */ public abstract boolean login (String userKey, String userPassword); = - //--------------------------------------------------------------------= ----- + /** + * Validates provided user password against a regular expression pattern, + * specified in the Jahia configuration. + * = + * @param password + * the user password to be validated + * @return <code>true</code> if the specified user password matches the + * validation pattern + */ + public boolean isPasswordSyntaxCorrect(String password) { + if (password =3D=3D null || password.length() =3D=3D 0) { + return false; + } + + boolean pwdCorrect =3D getUserPasswordPattern().matcher(password) + .matches(); + if (!pwdCorrect && logger.isDebugEnabled()) { + logger + .debug("Validation failed for the user password: " + + password + " against pattern: " + + getUserPasswordPattern().pattern()); + } + return pwdCorrect; + } + = + + /** + * Validates provided user name against a regular expression pattern, + * specified in the Jahia configuration. + * = + * @param name + * the user name to be validated + * @return <code>true</code> if the specified user name matches the + * validation pattern + */ + public boolean isUsernameSyntaxCorrect(String name) { + if (name =3D=3D null || name.length() =3D=3D 0) { + return false; + } + + boolean usernameCorrect =3D getUserNamePattern().matcher(name) + .matches(); + if (!usernameCorrect && logger.isDebugEnabled()) { + logger + .debug("Validation failed for the user name: " + + name + " against pattern: " + + getUserNamePattern().pattern()); + } + return usernameCorrect; + } + = + // -------------------------------------------------------------------= ------ /** * Load all the user data and attributes. On success a reference on th= e user * is returned, otherwise NULL is returned. Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaUserManagerRoutingService.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaUserManagerRoutin= gService.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerRoutingService.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerRoutingService.java Tue Jun 19 13:25:38 2007 @@ -756,6 +756,26 @@ return results; } = + public boolean isPasswordSyntaxCorrect(final String password) { + Boolean result =3D (Boolean) routeCallOne(new Command() { + public Object execute(JahiaUserManagerProvider p) { + return p.isPasswordSyntaxCorrect(password) ? Boolean.TRUE + : Boolean.FALSE; + } + }, null, null); + return result.booleanValue(); + } + + public boolean isUsernameSyntaxCorrect(final String name) { + Boolean result =3D (Boolean) routeCallOne(new Command() { + public Object execute(JahiaUserManagerProvider p) { + return p.isUsernameSyntaxCorrect(name) ? Boolean.TRUE + : Boolean.FALSE; + } + }, null, null); + return result.booleanValue(); + } + // -------------------------- INNER CLASSES -------------------------- = interface Command { Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use= rmanager/JahiaUserManagerService.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/services/usermanager/JahiaUserManagerServic= e.java&rev=3D17636&repname=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerService.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag= er/JahiaUserManagerService.java Tue Jun 19 13:25:38 2007 @@ -262,4 +262,26 @@ * return false on any failure. */ public abstract boolean userExists (int siteID, String name); + + /** + * Validates provided user name against a regular expression pattern, + * specified in the Jahia configuration. + * = + * @param name + * the user name to be validated + * @return <code>true</code> if the specified user name matches the + * validation pattern + */ + public abstract boolean isUsernameSyntaxCorrect(String name); + + /** + * Validates provided user password against a regular expression pattern, + * specified in the Jahia configuration. + * = + * @param password + * the user password to be validated + * @return <code>true</code> if the specified user password matches the + * validation pattern + */ + public abstract boolean isPasswordSyntaxCorrect(String password); } Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/settings/Set= tingsBean.java URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/java/org/jahia/settings/SettingsBean.java&rev=3D17636&repn= ame=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/settings/SettingsB= ean.java (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/settings/SettingsB= ean.java Tue Jun 19 13:25:38 2007 @@ -773,7 +773,13 @@ pageGenerationWaitTime =3D getLong("pageGenerationWaitTime", p= ageGenerationWaitTime); = = editModeSessionTimeout =3D getInt("editModeSessionTimeout", 2*= 60*60); - + = + settings.put("userManagementUserNamePattern", getString( + "userManagementUserNamePattern", "[\\w\\{\\}\\-]+")); + settings.put("userManagementUserPasswordPattern", getString( + "userManagementUserPasswordPattern", "[\\w\\{\\}\\-]+")); + settings.put("userManagementGroupNamePattern", getString( + "userManagementGroupNamePattern", "[\\w\\{\\}\\-]+")); } catch (NullPointerException npe) { logger.debug ("Properties file is not valid...!", npe); } catch (NumberFormatException nfe) { Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/config/j= ahia.skeleton URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP= -BRANCH/core/src/webapp/WEB-INF/etc/config/jahia.skeleton&rev=3D17636&repna= me=3Djahia =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/config/jahia.s= keleton (original) +++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/config/jahia.s= keleton Tue Jun 19 13:25:38 2007 @@ -912,4 +912,20 @@ # less memory is used by session data. In Tomcat, the default session # setting is located in the tomcat/conf/web.xml file, under the tag # <session-timeout>. -editModeSessionTimeout =3D 1800 \ No newline at end of file +editModeSessionTimeout =3D 1800 + +###################################################################### +### User and Group name validation ################################### +###################################################################### +# Pattern for the user name validation. The new user name will be +# tested against this regular expression (see java.util.regex.Pattern) +# pattern. +userManagementUserNamePattern =3D [0-9a-z_A-Z\\-= [EMAIL PROTECTED] +# Pattern for the user password validation. The new user password will be +# tested against this regular expression (see java.util.regex.Pattern) +# pattern. +userManagementUserPasswordPattern =3D [0-9a-z_A-Z\\-= [EMAIL PROTECTED] +# Pattern for the group name validation. The new group name will be +# tested against this regular expression (see java.util.regex.Pattern) +# pattern. +userManagementGroupNamePattern =3D [0-9a-z_A-Z\\-= \\{\\}]+ _______________________________________________ cvs_list mailing list [email protected] http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list
