r1018 - in xwiki/trunk/src: main/java/com/xpn/xwiki main/java/com/xpn/xwiki/user/impl/xwiki test/java/com/xpn/xwiki/test test/resources

Ludovic Dubost ludovic at users.forge.objectweb.org
Fri Mar 31 00:00:13 CEST 2006


Author: ludovic
Date: 2006-03-30 23:59:59 +0200 (Thu, 30 Mar 2006)
New Revision: 1018

Modified:
   xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java
   xwiki/trunk/src/main/java/com/xpn/xwiki/user/impl/xwiki/MyPersistentLoginManager.java
   xwiki/trunk/src/test/java/com/xpn/xwiki/test/MyFormAuthentication.java
   xwiki/trunk/src/test/resources/log4j.properties
   xwiki/trunk/src/test/resources/xwiki.cfg
Log:
Added considering localhost as non virtual
Added log in MyPersistentLoginManager.java
Switch System.out to error log in MyPersistentLoginManager.java
Added log in MyFormAuthentication.java
Updated test log4j.properties
Updated test xwiki.cfg

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java	2006-03-30 01:03:57 UTC (rev 1017)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java	2006-03-30 21:59:59 UTC (rev 1018)
@@ -259,7 +259,7 @@
             }
             ;
 
-            if (host.equals(""))
+            if (host.equals("")||host.equals("localhost")||host.equals("127.0.0.1"))
                 return xwiki;
 
             String appname = findWikiServer(host, context);

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/user/impl/xwiki/MyPersistentLoginManager.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/user/impl/xwiki/MyPersistentLoginManager.java	2006-03-30 01:03:57 UTC (rev 1017)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/user/impl/xwiki/MyPersistentLoginManager.java	2006-03-30 21:59:59 UTC (rev 1018)
@@ -1,25 +1,25 @@
-/*
- * Copyright 2006, XpertNet SARL, and individual contributors as indicated
- * by the contributors.txt.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- *
- * @author ludovic
- * @author sdumitriu
- */
+/*
+ * Copyright 2006, XpertNet SARL, and individual contributors as indicated
+ * by the contributors.txt.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ * @author ludovic
+ * @author sdumitriu
+ */
 
 
 package com.xpn.xwiki.user.impl.xwiki;
@@ -66,67 +66,69 @@
      * @param password the password that's being remembered
      */
     public void rememberLogin(
-       HttpServletRequest request,
-       HttpServletResponse response,
-       String username,
-       String password
+            HttpServletRequest request,
+            HttpServletResponse response,
+            String username,
+            String password
     ) throws IOException, ServletException {
-       if (protection.equals(PROTECTION_ALL) || protection.equals(PROTECTION_ENCRYPTION)) {
-          username = encryptText(username);
-          password = encryptText(password);
-          if (username == null || password == null) {
-             System.out.println("ERROR!!");
-             System.out.println("There was a problem encrypting the username or password!!");
-             System.out.println("Remember Me function will be disabled!!");
-             return;
-          }
-       }
+        if (protection.equals(PROTECTION_ALL) || protection.equals(PROTECTION_ENCRYPTION)) {
+            username = encryptText(username);
+            password = encryptText(password);
+            if (username == null || password == null) {
+                System.out.println("ERROR!!");
+                System.out.println("There was a problem encrypting the username or password!!");
+                System.out.println("Remember Me function will be disabled!!");
+                return;
+            }
+        }
 
-       String cookieDomain = getCookieDomain(request);
+        String cookieDomain = getCookieDomain(request);
 
         // create client cookie to store username and password
-       Cookie usernameCookie = new Cookie(COOKIE_USERNAME, username);
-       usernameCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
-       usernameCookie.setPath(cookiePath);
-       if (cookieDomain!=null)
-        usernameCookie.setDomain(cookieDomain);
+        Cookie usernameCookie = new Cookie(COOKIE_USERNAME, username);
+        usernameCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
+        usernameCookie.setPath(cookiePath);
+        if (cookieDomain!=null)
+            usernameCookie.setDomain(cookieDomain);
 
         addCookie(response, usernameCookie);
         Cookie passwdCookie = new Cookie(COOKIE_PASSWORD, password);
-       passwdCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
-       passwdCookie.setPath(cookiePath);
+        passwdCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
+        passwdCookie.setPath(cookiePath);
         if (cookieDomain!=null)
-         passwdCookie.setDomain(cookieDomain);
+            passwdCookie.setDomain(cookieDomain);
 
         addCookie(response, passwdCookie);
         Cookie rememberCookie = new Cookie(COOKIE_REMEMBERME, "true");
-       rememberCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
-       rememberCookie.setPath(cookiePath);
-       if (cookieDomain!=null)
-         rememberCookie.setDomain(cookieDomain);
+        rememberCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
+        rememberCookie.setPath(cookiePath);
+        if (cookieDomain!=null)
+            rememberCookie.setDomain(cookieDomain);
         addCookie(response, rememberCookie);
         if (protection.equals(PROTECTION_ALL) || protection.equals(PROTECTION_VALIDATION)) {
-          String validationHash = getValidationHash(username, password, request.getRemoteAddr());
-          if (validationHash != null) {
-             Cookie validationCookie = new Cookie(COOKIE_VALIDATION, validationHash);
-             validationCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
-             validationCookie.setPath(cookiePath);
-             if (cookieDomain!=null)
-               validationCookie.setDomain(cookieDomain);
-              addCookie(response, validationCookie);
-          } else {
-             System.out.println("WARNING!!! WARNING!!!");
-             System.out.println("PROTECTION=ALL or PROTECTION=VALIDATION was specified");
-             System.out.println("but Validation Hash could NOT be generated");
-             System.out.println("Validation has been disabled!!!!");
-          }
-       }
-       return;
+            String validationHash = getValidationHash(username, password, request.getRemoteAddr());
+            if (validationHash != null) {
+                Cookie validationCookie = new Cookie(COOKIE_VALIDATION, validationHash);
+                validationCookie.setMaxAge(60 * 60 * 24 * Integer.parseInt(cookieLife));
+                validationCookie.setPath(cookiePath);
+                if (cookieDomain!=null)
+                    validationCookie.setDomain(cookieDomain);
+                addCookie(response, validationCookie);
+            } else {
+                if (log.isErrorEnabled()) {
+                    log.error("WARNING!!! WARNING!!!");
+                    log.error("PROTECTION=ALL or PROTECTION=VALIDATION was specified");
+                    log.error("but Validation Hash could NOT be generated");
+                    log.error("Validation has been disabled!!!!");
+                }
+            }
+        }
+        return;
     }
 
     private void addCookie(HttpServletResponse response, Cookie cookie) {
         if (log.isDebugEnabled())
-         log.debug("Adding cookie: " + cookie.getDomain() + " " + cookie.getPath() + " " + cookie.getName() + " " + cookie.getValue());
+            log.debug("Adding cookie: " + cookie.getDomain() + " " + cookie.getPath() + " " + cookie.getName() + " " + cookie.getValue());
         response.addCookie(cookie);
     }
 
@@ -135,12 +137,14 @@
         if (cookieDomains!=null) {
             String servername = request.getServerName();
             for (int i=0;i<cookieDomains.length;i++) {
-             if (servername.indexOf(cookieDomains[i])!=-1) {
-               cookieDomain = cookieDomains[i];
-               break;
-             }
+                if (servername.indexOf(cookieDomains[i])!=-1) {
+                    cookieDomain = cookieDomains[i];
+                    break;
+                }
             }
         }
+        if (log.isDebugEnabled())
+            log.debug("Cookie domain is:" + cookieDomain);
         return cookieDomain;
     }
 
@@ -153,46 +157,50 @@
      * @return validation hash
      */
     private String getValidationHash(String username, String password, String clientIP) {
-       if (validationKey == null) {
-          System.out.println("ERROR! >> validationKey not spcified....");
-          System.out.println("ERROR! >> you are REQUIRED to specify the validatonkey in the config xml");
-          return null;
-       }
-       MessageDigest md5 = null;
-       StringBuffer sbValueBeforeMD5 = new StringBuffer();
+        if (validationKey == null) {
+            if (log.isErrorEnabled()) {
+             log.error("ERROR! >> validationKey not spcified....");
+             log.error("ERROR! >> you are REQUIRED to specify the validatonkey in the config xml");
+            }
+            return null;
+        }
+        MessageDigest md5 = null;
+        StringBuffer sbValueBeforeMD5 = new StringBuffer();
 
-       try {
-          md5 = MessageDigest.getInstance("MD5");
-       } catch (NoSuchAlgorithmException e) {
-          System.out.println("Error: " + e);
-       }
+        try {
+            md5 = MessageDigest.getInstance("MD5");
+        } catch (NoSuchAlgorithmException e) {
+            if (log.isErrorEnabled())
+             log.error("Error: " + e);
+        }
 
-       try {
-          sbValueBeforeMD5.append(username.toString());
-          sbValueBeforeMD5.append(":");
-          sbValueBeforeMD5.append(password.toString());
-          sbValueBeforeMD5.append(":");
-          if (useIP.equals("true")) {
-             sbValueBeforeMD5.append(clientIP.toString());
-             sbValueBeforeMD5.append(":");
-          }
-          sbValueBeforeMD5.append(validationKey.toString());
+        try {
+            sbValueBeforeMD5.append(username.toString());
+            sbValueBeforeMD5.append(":");
+            sbValueBeforeMD5.append(password.toString());
+            sbValueBeforeMD5.append(":");
+            if (useIP.equals("true")) {
+                sbValueBeforeMD5.append(clientIP.toString());
+                sbValueBeforeMD5.append(":");
+            }
+            sbValueBeforeMD5.append(validationKey.toString());
 
-          valueBeforeMD5 = sbValueBeforeMD5.toString();
-          md5.update(valueBeforeMD5.getBytes());
+            valueBeforeMD5 = sbValueBeforeMD5.toString();
+            md5.update(valueBeforeMD5.getBytes());
 
-          byte[] array = md5.digest();
-          StringBuffer sb = new StringBuffer();
-          for (int j = 0; j < array.length; ++j) {
-             int b = array[j] & 0xFF;
-             if (b < 0x10) sb.append('0');
-             sb.append(Integer.toHexString(b));
-          }
-          valueAfterMD5 = sb.toString();
-       } catch (Exception e) {
-          System.out.println("Error:" + e);
-       }
-       return valueAfterMD5;
+            byte[] array = md5.digest();
+            StringBuffer sb = new StringBuffer();
+            for (int j = 0; j < array.length; ++j) {
+                int b = array[j] & 0xFF;
+                if (b < 0x10) sb.append('0');
+                sb.append(Integer.toHexString(b));
+            }
+            valueAfterMD5 = sb.toString();
+        } catch (Exception e) {
+            if (log.isErrorEnabled())
+             log.error("Error:" + e);
+        }
+        return valueAfterMD5;
     }
 
     /**
@@ -202,80 +210,83 @@
      * @return clearText, encrypted
      */
     public String encryptText(String clearText) {
-       sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
-       try {
-          Cipher c1 = Cipher.getInstance(cipherParameters);
-          if (secretKey != null) {
-             c1.init(Cipher.ENCRYPT_MODE, secretKey);
-             byte clearTextBytes[];
-             clearTextBytes = clearText.getBytes();
-             byte encryptedText[] = c1.doFinal(clearTextBytes);
-             String encryptedEncodedText = encoder.encode(encryptedText);
-             return encryptedEncodedText;
-          } else {
-             System.out.println("ERROR! >> SecretKey not generated ....");
-             System.out.println("ERROR! >> you are REQUIRED to specify the encryptionKey in the config xml");
-             return null;
-          }
-       } catch (Exception e) {
-          System.out.println("Error: " + e);
-          e.printStackTrace();
-          return null;
-       }
+        sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
+        try {
+            Cipher c1 = Cipher.getInstance(cipherParameters);
+            if (secretKey != null) {
+                c1.init(Cipher.ENCRYPT_MODE, secretKey);
+                byte clearTextBytes[];
+                clearTextBytes = clearText.getBytes();
+                byte encryptedText[] = c1.doFinal(clearTextBytes);
+                String encryptedEncodedText = encoder.encode(encryptedText);
+                return encryptedEncodedText;
+            } else {
+                if (log.isErrorEnabled()) {
+                 log.error("ERROR! >> SecretKey not generated ....");
+                 log.error("ERROR! >> you are REQUIRED to specify the encryptionKey in the config xml");
+                }
+                return null;
+            }
+        } catch (Exception e) {
+            if (log.isErrorEnabled())
+                log.error("Error: " + e);
+            e.printStackTrace();
+            return null;
+        }
     }
 
 
-      /**
-    * Forget a login
-    *
-    * @param request the servlet request
-    * @param response the servlet response
-    */
-   public void forgetLogin(HttpServletRequest request, HttpServletResponse response)
-      throws IOException, ServletException {
-      ((SecurityRequestWrapper)request).setUserPrincipal(null);
-      removeCookie(request, response, COOKIE_USERNAME);
-      removeCookie(request, response, COOKIE_PASSWORD);
-      removeCookie(request, response, COOKIE_REMEMBERME);
-      removeCookie(request, response, COOKIE_VALIDATION);
-      return;
-   }
+    /**
+     * Forget a login
+     *
+     * @param request the servlet request
+     * @param response the servlet response
+     */
+    public void forgetLogin(HttpServletRequest request, HttpServletResponse response)
+            throws IOException, ServletException {
+        ((SecurityRequestWrapper)request).setUserPrincipal(null);
+        removeCookie(request, response, COOKIE_USERNAME);
+        removeCookie(request, response, COOKIE_PASSWORD);
+        removeCookie(request, response, COOKIE_REMEMBERME);
+        removeCookie(request, response, COOKIE_VALIDATION);
+        return;
+    }
 
-      /**
-    * Given an array of cookies and a name, this method tries
-    * to find and return the cookie from the array that has
-    * the given name. If there is no cookie matching the name
-    * in the array, null is returned.
-    */
+    /**
+     * Given an array of cookies and a name, this method tries
+     * to find and return the cookie from the array that has
+     * the given name. If there is no cookie matching the name
+     * in the array, null is returned.
+     */
     private static Cookie getCookie(Cookie[] cookies, String cookieName) {
-      if (cookies != null) {
-         for (int i = 0; i < cookies.length; i++) {
-            Cookie cookie = cookies[i];
-            if (cookieName.equals(cookie.getName())) {
-               return (cookie);
+        if (cookies != null) {
+            for (int i = 0; i < cookies.length; i++) {
+                Cookie cookie = cookies[i];
+                if (cookieName.equals(cookie.getName())) {
+                    return (cookie);
+                }
             }
-         }
-      }
-      return null;
-   }
+        }
+        return null;
+    }
 
     /**
-    * Remove a cookie.
-    *
-    * @param request
-    * @param response
-    * @param cookieName
-    */
-   private void removeCookie(HttpServletRequest request, HttpServletResponse response, String cookieName) {
-      Cookie cookie = getCookie(request.getCookies(), cookieName);
-      if (cookie != null) {
-         cookie.setMaxAge(0);
-         cookie.setPath(cookiePath);
-         String cookieDomain = getCookieDomain(request);
-         if (cookieDomain!=null)
-          cookie.setDomain(cookieDomain);
-          addCookie(response, cookie);
-      }
-   }
+     * Remove a cookie.
+     *
+     * @param request
+     * @param response
+     * @param cookieName
+     */
+    private void removeCookie(HttpServletRequest request, HttpServletResponse response, String cookieName) {
+        Cookie cookie = getCookie(request.getCookies(), cookieName);
+        if (cookie != null) {
+            cookie.setMaxAge(0);
+            cookie.setPath(cookiePath);
+            String cookieDomain = getCookieDomain(request);
+            if (cookieDomain!=null)
+                cookie.setDomain(cookieDomain);
+            addCookie(response, cookie);
+        }
+    }
 
 }

Modified: xwiki/trunk/src/test/java/com/xpn/xwiki/test/MyFormAuthentication.java
===================================================================
--- xwiki/trunk/src/test/java/com/xpn/xwiki/test/MyFormAuthentication.java	2006-03-30 01:03:57 UTC (rev 1017)
+++ xwiki/trunk/src/test/java/com/xpn/xwiki/test/MyFormAuthentication.java	2006-03-30 21:59:59 UTC (rev 1018)
@@ -1,27 +1,27 @@
-/*
- * Copyright 2006, XpertNet SARL, and individual contributors as indicated
- * by the contributors.txt.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- *
- * @author ludovic
- * @author erwan
- * @author vmassol
- * @author sdumitriu
- */
+/*
+ * Copyright 2006, XpertNet SARL, and individual contributors as indicated
+ * by the contributors.txt.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ * @author ludovic
+ * @author erwan
+ * @author vmassol
+ * @author sdumitriu
+ */
 
 package com.xpn.xwiki.test;
 
@@ -257,10 +257,11 @@
                 int equalsChar = nameValue.indexOf("=");
                 String name = nameValue.substring(0, equalsChar);
                 String value = nameValue.substring(equalsChar + 1);
+                String host = theConnection.getURL().getHost();
+                System.out.println("Found cookie: name=" + name + " value=" + value + " for host " + host);
                 if (name.equalsIgnoreCase(theTarget))
                 {
-                    String host = theConnection.getURL().getHost();
-                    System.out.println("Found cookie: name=" + name + " value=" + value + " for host " + host);
+                    System.out.println("Found matching cookie: name=" + name + " value=" + value + " for host " + host);
                     Cookie cookie = new Cookie(host, name, value);
                     cookie.setPath("/");
                     return cookie;

Modified: xwiki/trunk/src/test/resources/log4j.properties
===================================================================
--- xwiki/trunk/src/test/resources/log4j.properties	2006-03-30 01:03:57 UTC (rev 1017)
+++ xwiki/trunk/src/test/resources/log4j.properties	2006-03-30 21:59:59 UTC (rev 1018)
@@ -2,20 +2,28 @@
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 log4j.appender.stdout.Target=System.out
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %X{url} %c{1}:%M:%L - %m%n
 
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=xwiki.log
+log4j.appender.file.MaxFileSize=10MB
+log4j.appender.file.MaxBackupIndex=50
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %X{url} %c{1}:%M:%L - %m%n
+
 ### root logger option ###
 log4j.rootLogger=warn, stdout
 
 ### Hibernate logging options ###
-log4j.logger.net.sf.hibernate.SQL=debug
-log4j.logger.net.sf.hibernate=warn
-log4j.logger.net.sf.hibernate.type=warn
-log4j.logger.net.sf.hibernate.ps.PreparedStatementCache=warn
+log4j.logger.org.hibernate.SQL=warn
+log4j.logger.org.hibernate=warn
+log4j.logger.org.hibernate.type=warn
+log4j.logger.org.hibernate.ps.PreparedStatementCache=warn
 
 ### log XWiki
 log4j.logger.com.xpn.xwiki=warn
 log4j.logger.com.xpn.xwiki.render.XWikiRadeoxRenderEngine=warn
-log4j.logger.com.xpn.xwiki.monitor=debug
 log4j.logger.org.radeox.macro.BaseLocaleMacro=error
-log4j.logger.com.xpn.xwiki.store.XWikiCacheStore=debug
+
+### Deactive struts warning
+log4j.logger.org.apache.struts.util.RequestUtils=error
\ No newline at end of file

Modified: xwiki/trunk/src/test/resources/xwiki.cfg
===================================================================
--- xwiki/trunk/src/test/resources/xwiki.cfg	2006-03-30 01:03:57 UTC (rev 1017)
+++ xwiki/trunk/src/test/resources/xwiki.cfg	2006-03-30 21:59:59 UTC (rev 1018)
@@ -5,11 +5,24 @@
 xwiki.store.class=com.xpn.xwiki.store.XWikiHibernateStore
 xwiki.store.hibernate.path=hibernate-test.cfg.xml
 xwiki.store.cache=1
+xwiki.store.hibernate.updateschema=1
+xwiki.store.hibernate.custommapping=1
+xwiki.store.hibernate.custommapping.dynamic=1
 
+xwiki.encoding=ISO-8859-1
 xwiki.virtual=1
 xwiki.render.macromapping=1
 xwiki.backlinks=1
-xwiki.store.hibernate.updateschema=1
-xwiki.store.hibernate.custommapping=1
-xwiki.store.hibernate.custommapping.dynamic=1
 
+# Stats configuration allows to globally activate/deactivate stats module
+# it is also possible to choose a different stats service to record
+# statistics separately from XWiki
+xwiki.stats=1
+xwiki.stats.default=1
+xwiki.stats.class=com.xpn.xwiki.stats.impl.XWikiStatsServiceImpl
+
+xwiki.authentication=form
+xwiki.authentication.validationKey=totototototototototototototototo
+xwiki.authentication.encryptionKey=titititititititititititititititi
+xwiki.authentication.cookiedomains=xwiki.com,wiki.fr
+





More information about the Xwiki-notifications mailing list