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

Reply via email to