[Commits] (bcm) implement single signon using Andy Depue's PrincipalStoreDAO and related

commits at osafoundation.org commits at osafoundation.org
Wed Feb 23 20:23:55 PST 2005


Commit by: bcm
Modified files:
server/build.xml 1.10 1.11
server/bin/chandlerctl 1.1 1.2
server/core/build.xml 1.5 1.6
server/core/src/org/osaf/chandler/server/ChandlerServerConstants.java None 1.1
server/core/src/org/osaf/chandler/server/manager/impl/ProvisioningManagerImpl.java 1.3 1.4
server/core/src/org/osaf/chandler/server/model/Role.java 1.2 1.3
server/core/src/org/osaf/chandler/server/model/User.java 1.2 1.3
server/db/schema.sql 1.1 1.2
server/docs/TODO.txt 1.5 1.6
server/etc/ROOT.xml 1.2 1.3
server/etc/console.xml 1.2 1.3
server/etc/server.xml 1.6 1.7
server/etc/share.xml 1.1 1.2
server/etc/jaas.config 1.1 None
server/webapps/console/etc/web.xml 1.3 1.4
server/webapps/console/src/org/osaf/chandler/server/console/UserAction.java 1.2 1.3
server/webapps/console/web/WEB-INF/jsp/user/view.jsp 1.2 1.3
server/webapps/share/.cvsignore None 1.1
server/webapps/share/build.xml None 1.1
server/webapps/share/etc/log4j.xml None 1.1
server/webapps/share/src/org/osaf/chandler/server/slide/PrincipalStoreDAOHibernate.java None 1.1
server/webapps/share/web/WEB-INF/.cvsignore None 1.1
server/webapps/share/web/WEB-INF/applicationContext.xml None 1.1
server/webapps/share/web/WEB-INF/Domain.xml 1.2 1.3
server/webapps/share/web/WEB-INF/web.xml 1.3 1.4

Log message:
implement single signon using Andy Depue's PrincipalStoreDAO and related
classes (hopefully will make it into Slide eventually) as a frontend onto the
embedded database. slide access control is still a little wonky, but the
console is secured now (only members of the root group can access it). all
users are now automatically added to the "user" group. also add a test harness
to the toplevel build file which allows me to use one test db and hibernate
config for all subproject tests.


ViewCVS links:
http://cvs.osafoundation.org/index.cgi/server/build.xml.diff?r1=text&tr1=1.10&r2=text&tr2=1.11
http://cvs.osafoundation.org/index.cgi/server/bin/chandlerctl.diff?r1=text&tr1=1.1&r2=text&tr2=1.2
http://cvs.osafoundation.org/index.cgi/server/core/build.xml.diff?r1=text&tr1=1.5&r2=text&tr2=1.6
http://cvs.osafoundation.org/index.cgi/server/core/src/org/osaf/chandler/server/ChandlerServerConstants.java?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.osafoundation.org/index.cgi/server/core/src/org/osaf/chandler/server/manager/impl/ProvisioningManagerImpl.java.diff?r1=text&tr1=1.3&r2=text&tr2=1.4
http://cvs.osafoundation.org/index.cgi/server/core/src/org/osaf/chandler/server/model/Role.java.diff?r1=text&tr1=1.2&r2=text&tr2=1.3
http://cvs.osafoundation.org/index.cgi/server/core/src/org/osaf/chandler/server/model/User.java.diff?r1=text&tr1=1.2&r2=text&tr2=1.3
http://cvs.osafoundation.org/index.cgi/server/db/schema.sql.diff?r1=text&tr1=1.1&r2=text&tr2=1.2
http://cvs.osafoundation.org/index.cgi/server/docs/TODO.txt.diff?r1=text&tr1=1.5&r2=text&tr2=1.6
http://cvs.osafoundation.org/index.cgi/server/etc/ROOT.xml.diff?r1=text&tr1=1.2&r2=text&tr2=1.3
http://cvs.osafoundation.org/index.cgi/server/etc/console.xml.diff?r1=text&tr1=1.2&r2=text&tr2=1.3
http://cvs.osafoundation.org/index.cgi/server/etc/server.xml.diff?r1=text&tr1=1.6&r2=text&tr2=1.7
http://cvs.osafoundation.org/index.cgi/server/etc/share.xml.diff?r1=text&tr1=1.1&r2=text&tr2=1.2
http://cvs.osafoundation.org/index.cgi/server/etc/jaas.config.diff?r1=text&tr1=1.1&r2=text&tr2=None
http://cvs.osafoundation.org/index.cgi/server/webapps/console/etc/web.xml.diff?r1=text&tr1=1.3&r2=text&tr2=1.4
http://cvs.osafoundation.org/index.cgi/server/webapps/console/src/org/osaf/chandler/server/console/UserAction.java.diff?r1=text&tr1=1.2&r2=text&tr2=1.3
http://cvs.osafoundation.org/index.cgi/server/webapps/console/web/WEB-INF/jsp/user/view.jsp.diff?r1=text&tr1=1.2&r2=text&tr2=1.3
http://cvs.osafoundation.org/index.cgi/server/webapps/share/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.osafoundation.org/index.cgi/server/webapps/share/build.xml?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.osafoundation.org/index.cgi/server/webapps/share/etc/log4j.xml?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.osafoundation.org/index.cgi/server/webapps/share/src/org/osaf/chandler/server/slide/PrincipalStoreDAOHibernate.java?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.osafoundation.org/index.cgi/server/webapps/share/web/WEB-INF/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.osafoundation.org/index.cgi/server/webapps/share/web/WEB-INF/applicationContext.xml?rev=1.1&content-type=text/vnd.viewcvs-markup
http://cvs.osafoundation.org/index.cgi/server/webapps/share/web/WEB-INF/Domain.xml.diff?r1=text&tr1=1.2&r2=text&tr2=1.3
http://cvs.osafoundation.org/index.cgi/server/webapps/share/web/WEB-INF/web.xml.diff?r1=text&tr1=1.3&r2=text&tr2=1.4

Index: server/core/src/org/osaf/chandler/server/model/Role.java
diff -u server/core/src/org/osaf/chandler/server/model/Role.java:1.2 server/core/src/org/osaf/chandler/server/model/Role.java:1.3
--- server/core/src/org/osaf/chandler/server/model/Role.java:1.2	Tue Feb 22 21:17:33 2005
+++ server/core/src/org/osaf/chandler/server/model/Role.java	Wed Feb 23 20:23:48 2005
@@ -68,7 +68,7 @@
     }
 
     /**
-     * @hibernate.set name="users" table="roleusers" cascade="all"
+     * @hibernate.set name="users" table="userrole" cascade="all"
      *                lazy="true"
      * @hibernate.collection-key column="rolename"
      * @hibernate.collection-many-to-many column="username"

Index: server/etc/share.xml
diff -u server/etc/share.xml:1.1 server/etc/share.xml:1.2
--- server/etc/share.xml:1.1	Wed Feb 16 14:24:33 2005
+++ server/etc/share.xml	Wed Feb 23 20:23:50 2005
@@ -1,11 +1,7 @@
-<?xml version='1.0' encoding='utf-8'?>
+<?xml version="1.0" encoding="utf-8"?>
 
 <Context path="/share" debug="0" privileged="true" useNaming="true"
          docBase="share">
-  <Realm className="org.apache.catalina.realm.JAASRealm"
-         appName="chandler_login"
-         userClassNames="org.apache.slide.jaas.spi.SlidePrincipal"
-         roleClassNames="org.apache.slide.jaas.spi.SlideRole"
-         debug="0"
-         useContextClassLoader="false"/>
+  <ResourceLink name="jdbc/ChandlerUserDB" global="ChandlerUserDB"
+                type="javax.sql.DataSource"/>
 </Context>

Index: server/etc/console.xml
diff -u server/etc/console.xml:1.2 server/etc/console.xml:1.3
--- server/etc/console.xml:1.2	Wed Feb 23 16:25:55 2005
+++ server/etc/console.xml	Wed Feb 23 20:23:50 2005
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='utf-8'?>
+<?xml version="1.0" encoding="utf-8"?>
 
 <Context path="/console" debug="0" docBase="console">
   <ResourceLink name="jdbc/ChandlerUserDB" global="ChandlerUserDB"

Index: server/core/src/org/osaf/chandler/server/manager/impl/ProvisioningManagerImpl.java
diff -u server/core/src/org/osaf/chandler/server/manager/impl/ProvisioningManagerImpl.java:1.3 server/core/src/org/osaf/chandler/server/manager/impl/ProvisioningManagerImpl.java:1.4
--- server/core/src/org/osaf/chandler/server/manager/impl/ProvisioningManagerImpl.java:1.3	Wed Feb 23 16:25:54 2005
+++ server/core/src/org/osaf/chandler/server/manager/impl/ProvisioningManagerImpl.java	Wed Feb 23 20:23:48 2005
@@ -1,5 +1,7 @@
 package org.osaf.chandler.server.manager.impl;
 
+import org.osaf.chandler.server.ChandlerServerConstants;
+
 import java.util.List;
 
 import org.osaf.chandler.server.dao.RoleDAO;
@@ -58,7 +60,10 @@
      */
     public void saveUser(User user) {
         // XXX: hash the user's password
+        Role userRole = roleDao.getRole(ChandlerServerConstants.ROLE_USER);
+        user.getRoles().add(userRole);
         userDao.saveUser(user);
+
         shareDao.createHomedir(user.getUsername());
         // XXX: add ACLs on homedir
     }

Index: server/etc/ROOT.xml
diff -u server/etc/ROOT.xml:1.2 server/etc/ROOT.xml:1.3
--- server/etc/ROOT.xml:1.2	Wed Feb 16 16:59:01 2005
+++ server/etc/ROOT.xml	Wed Feb 23 20:23:50 2005
@@ -1,3 +1,3 @@
-<?xml version='1.0' encoding='utf-8'?>
+<?xml version="1.0" encoding="utf-8"?>
 
 <Context path="/" debug="0" docBase="ROOT" crossContext="true"/>

Index: server/core/src/org/osaf/chandler/server/model/User.java
diff -u server/core/src/org/osaf/chandler/server/model/User.java:1.2 server/core/src/org/osaf/chandler/server/model/User.java:1.3
--- server/core/src/org/osaf/chandler/server/model/User.java:1.2	Tue Feb 22 21:17:33 2005
+++ server/core/src/org/osaf/chandler/server/model/User.java	Wed Feb 23 20:23:48 2005
@@ -99,7 +99,7 @@
     }
 
     /**
-     * @hibernate.set name="roles" table="roleusers" cascade="all"
+     * @hibernate.set name="roles" table="userrole" cascade="all"
      *                lazy="true"
      * @hibernate.collection-key column="username"
      * @hibernate.collection-many-to-many column="rolename"

Index: server/docs/TODO.txt
diff -u server/docs/TODO.txt:1.5 server/docs/TODO.txt:1.6
--- server/docs/TODO.txt:1.5	Wed Feb 23 16:25:55 2005
+++ server/docs/TODO.txt	Wed Feb 23 20:23:49 2005
@@ -27,7 +27,6 @@
  * principal store for new user db (maybe with BDB?)
 
 security:
- * single signon using JAAS and/or perhaps Acegi Security
  * figure out how to protect URLs of the form /~user, which forward
    to the SFS
  * store passwords in non-cleartext format

Index: server/webapps/console/etc/web.xml
diff -u server/webapps/console/etc/web.xml:1.3 server/webapps/console/etc/web.xml:1.4
--- server/webapps/console/etc/web.xml:1.3	Wed Feb 23 16:25:56 2005
+++ server/webapps/console/etc/web.xml	Wed Feb 23 20:23:51 2005
@@ -67,11 +67,10 @@
     <resource-env-ref-name>jdbc/ChandlerUserDB</resource-env-ref-name>
     <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
   </resource-env-ref>
-<!--
   <security-constraint>
     <web-resource-collection>
       <web-resource-name>Admin Console</web-resource-name>
-      <url-pattern>/</url-pattern>
+      <url-pattern>/*</url-pattern>
     </web-resource-collection>
     <auth-constraint>
       <role-name>root</role-name>
@@ -84,5 +83,4 @@
   <security-role>
     <role-name>root</role-name>
   </security-role>
--->
 </web-app>

Index: server/webapps/console/src/org/osaf/chandler/server/console/UserAction.java
diff -u server/webapps/console/src/org/osaf/chandler/server/console/UserAction.java:1.2 server/webapps/console/src/org/osaf/chandler/server/console/UserAction.java:1.3
--- server/webapps/console/src/org/osaf/chandler/server/console/UserAction.java:1.2	Wed Feb 23 16:25:57 2005
+++ server/webapps/console/src/org/osaf/chandler/server/console/UserAction.java	Wed Feb 23 20:23:51 2005
@@ -1,10 +1,12 @@
 package org.osaf.chandler.server.console;
 
+import org.osaf.chandler.server.ChandlerServerConstants;
 import org.osaf.chandler.server.manager.ProvisioningManager;
 import org.osaf.chandler.server.model.User;
 import org.osaf.struts.OSAFMappingDispatchAction;
 import org.osaf.struts.OSAFStrutsConstants;
 
+import java.util.Iterator;
 import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
@@ -91,7 +93,6 @@
         if (user == null) {
             String username = request.getParameter(PARAM_USERNAME);
             if (username != null) {
-
                 if (log.isDebugEnabled()) {
                     log.debug("viewing user " + username);
                 }
@@ -207,6 +208,15 @@
         }
         List users = mgr.getUsers();
 
+        // filter out the root user; we never want to allow it to be
+        // managed via the web interface
+        for (Iterator i=users.iterator(); i.hasNext();) {
+            User user = (User) i.next();
+            if (user.getUsername().equals(ChandlerServerConstants.USER_ROOT)) {
+                i.remove();
+            }
+        }
+
         request.setAttribute(ATTR_USERS, users);
 
         return mapping.findForward(OSAFStrutsConstants.FWD_OK);

Index: server/webapps/console/web/WEB-INF/jsp/user/view.jsp
diff -u server/webapps/console/web/WEB-INF/jsp/user/view.jsp:1.2 server/webapps/console/web/WEB-INF/jsp/user/view.jsp:1.3
--- server/webapps/console/web/WEB-INF/jsp/user/view.jsp:1.2	Wed Feb 16 14:22:46 2005
+++ server/webapps/console/web/WEB-INF/jsp/user/view.jsp	Wed Feb 23 20:23:52 2005
@@ -69,5 +69,4 @@
     </tr>
   </table>
   <html:hidden property="user.username"/>
-  <html:hidden property="user.homedir"/>
 </html:form>

Index: server/webapps/share/web/WEB-INF/Domain.xml
diff -u server/webapps/share/web/WEB-INF/Domain.xml:1.2 server/webapps/share/web/WEB-INF/Domain.xml:1.3
--- server/webapps/share/web/WEB-INF/Domain.xml:1.2	Wed Feb 23 16:25:57 2005
+++ server/webapps/share/web/WEB-INF/Domain.xml	Wed Feb 23 20:23:53 2005
@@ -39,7 +39,30 @@
                 </contentindexer>
         -->
             </store>
+            <store name="principals">
+                <nodestore classname="com.marathon.security.slide.SpringDAOPrincipalStore">
+                    <parameter name="daoPrincipal.spring.contextName">defaultWebContext</parameter>
+                    <parameter name="daoPrincipal.spring.beanName">principalStoreDAO</parameter>
+                </nodestore>
+                <securitystore>
+                    <reference store="nodestore"/>
+                </securitystore>
+                <lockstore>
+                    <reference store="nodestore"/>
+                </lockstore>
+                <revisiondescriptorsstore>
+                    <reference store="nodestore"/>
+                </revisiondescriptorsstore>
+                <revisiondescriptorstore>
+                    <reference store="nodestore"/>
+                </revisiondescriptorstore>
+                <contentstore>
+                    <reference store="nodestore"/>
+                </contentstore>
+            </store>
             <scope match="/" store="tx"/>
+            <scope match="/users" store="principals"/>
+            <scope match="/roles" store="principals"/>
         </definition>
         <configuration>
             <!-- Actions mapping -->

Index: server/db/schema.sql
diff -u server/db/schema.sql:1.1 server/db/schema.sql:1.2
--- server/db/schema.sql:1.1	Wed Feb 23 17:30:48 2005
+++ server/db/schema.sql	Wed Feb 23 20:23:49 2005
@@ -1,11 +1,14 @@
 
-DROP TABLE IF EXISTS roleusers;
-CREATE TABLE roleusers (
+DROP TABLE IF EXISTS userrole;
+CREATE TABLE userrole (
   rolename VARCHAR(32) NOT NULL,
   username VARCHAR(32) NOT NULL,
   PRIMARY KEY (rolename, username)
 );
 
+INSERT INTO userrole VALUES ('root', 'root');
+INSERT INTO userrole VALUES ('user', 'root');
+
 DROP TABLE IF EXISTS role;
 CREATE TABLE role (
   name VARCHAR(32) NOT NULL,
@@ -15,6 +18,7 @@
 );
 
 INSERT INTO role VALUES ('root', NOW(), NOW());
+INSERT INTO role VALUES ('user', NOW(), NOW());
 
 DROP TABLE IF EXISTS user;
 CREATE TABLE user (
@@ -26,5 +30,7 @@
   PRIMARY KEY (username)
 );
 
-ALTER TABLE roleusers ADD CONSTRAINT roleFK FOREIGN KEY (rolename) REFERENCES role (name);
-ALTER TABLE roleusers ADD CONSTRAINT userFK FOREIGN KEY (username) REFERENCES user (username);
+INSERT INTO user VALUES ('root', 'chsrv', 'root at localhost', NOW(), NOW());
+
+ALTER TABLE userrole ADD CONSTRAINT roleFK FOREIGN KEY (rolename) REFERENCES role (name);
+ALTER TABLE userrole ADD CONSTRAINT userFK FOREIGN KEY (username) REFERENCES user (username);

Index: server/webapps/share/web/WEB-INF/web.xml
diff -u server/webapps/share/web/WEB-INF/web.xml:1.3 server/webapps/share/web/WEB-INF/web.xml:1.4
--- server/webapps/share/web/WEB-INF/web.xml:1.3	Wed Feb 23 16:25:57 2005
+++ server/webapps/share/web/WEB-INF/web.xml	Wed Feb 23 20:23:53 2005
@@ -4,6 +4,15 @@
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version="2.4">
   <display-name>Chandler Server File Share</display-name>
+  <listener>
+    <listener-class>
+      com.marathon.util.spring.GlueContextLoaderListener
+    </listener-class>
+    <context-param>
+      <param-name>contextConfigLocation</param-name>
+      <param-value>/WEB-INF/applicationContext.xml</param-value>
+    </context-param>
+  </listener>
   <filter>
     <filter-name>webdavlog</filter-name>
     <filter-class>org.apache.slide.webdav.filter.LogFilter</filter-class>
@@ -144,6 +153,10 @@
       <role-name>root</role-name>
       <role-name>user</role-name>
     </auth-constraint>
+  <resource-env-ref>
+    <resource-env-ref-name>jdbc/ChandlerUserDB</resource-env-ref-name>
+    <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
+  </resource-env-ref>
   </security-constraint>
   <login-config>
     <auth-method>BASIC</auth-method>

Index: server/etc/server.xml
diff -u server/etc/server.xml:1.6 server/etc/server.xml:1.7
--- server/etc/server.xml:1.6	Wed Feb 23 16:25:55 2005
+++ server/etc/server.xml	Wed Feb 23 20:23:50 2005
@@ -47,19 +47,18 @@
 -->
     <Engine name="Catalina" defaultHost="localhost">
       <Logger className="org.apache.catalina.logger.FileLogger" />
-      <!-- XXX: no single signon until i can figure out a way to
-           tell slide where to find Domain.xml. or until i implement
-           my own principal store.
-      <Realm className="org.apache.catalina.realm.JAASRealm"
-             appName="chandler_login"
-             userClassNames="org.apache.slide.jaas.spi.SlidePrincipal"
-             roleClassNames="org.apache.slide.jaas.spi.SlideRole"
-             debug="0" useContextClassLoader="false"/>
-      <Valve debug="0"
-             className="org.apache.catalina.authenticator.SingleSignOn"/>
-      -->
+      <Realm className="org.apache.catalina.realm.DataSourceRealm"
+             dataSourceName="ChandlerUserDB"
+             roleNameCol="rolename"
+             userCredCol="password"
+             userNameCol="username"
+             userRoleTable="userrole"
+             userTable="user"
+             debug="0"/>
+      <Valve className="org.apache.catalina.authenticator.SingleSignOn"
+             debug="0"/>
       <Host name="localhost" appBase="webapps" autoDeploy="false"
-            deployOnStartup="false"/>
+            deployOnStartup="false" debug="0"/>
     </Engine>
   </Service>
 </Server>

Index: server/core/build.xml
diff -u server/core/build.xml:1.5 server/core/build.xml:1.6
--- server/core/build.xml:1.5	Wed Feb 23 17:30:46 2005
+++ server/core/build.xml	Wed Feb 23 20:23:47 2005
@@ -18,10 +18,10 @@
   <property name="core.build"          value="${core.home}/build"/>
   <property name="core.src"            value="${core.home}/src"/>
   <property name="core.etc"            value="${core.home}/etc"/>
-  <property name="core.db"             value="${core.home}/db"/>
   <property name="core.test"           value="${core.home}/test"/>
 
   <property name="chsrv.home"          value="${core.home}/.."/>
+  <property name="chsrv.db"            value="${chsrv.home}/db"/>
   <property name="chsrv.test"          value="${chsrv.home}/test"/>
 
   <property name="chandler.server.userdb.dialect"
@@ -153,7 +153,7 @@
          url="${chandler.server.userdb.url}"
          userid="${chandler.server.userdb.username}"
          password="${chandler.server.userdb.password}">
-      <fileset dir="${core.db}">
+      <fileset dir="${chsrv.db}">
         <include name="schema.sql"/>
       </fileset>
     </sql>

Index: server/build.xml
diff -u server/build.xml:1.10 server/build.xml:1.11
--- server/build.xml:1.10	Wed Feb 23 17:30:46 2005
+++ server/build.xml	Wed Feb 23 20:23:47 2005
@@ -71,7 +71,7 @@
 get a list of targets.</echo>
   </target>
 
-  <target name="build" depends="build-core,build-ROOT,build-console"
+  <target name="build" depends="build-core,build-ROOT,build-share,build-console"
           description="compile all source code and pack webapps"/>
 
   <target name="build-core" description="build core subsystem">
@@ -84,6 +84,11 @@
          inheritAll="false"/>
   </target>
 
+  <target name="build-share" description="build share webapp">
+    <ant dir="${chsrv.webapp.share}" target="all"
+         inheritAll="false"/>
+  </target>
+
   <target name="build-console" description="build console webapp">
     <ant dir="${chsrv.webapp.console}" target="all"
          inheritAll="false"/>
@@ -120,12 +125,35 @@
     </sql>
   </target>
 
+  <target name="test" depends="test-core,test-console"
+          description="run all tests"/>
+
+  <target name="test-core" description="test core subsystem">
+    <ant dir="${chsrv.core}" target="test"
+         inheritAll="false"/>
+  </target>
+
+  <target name="test-console" description="test console webapp">
+    <ant dir="${chsrv.webapp.console}" target="test"
+         inheritAll="false"/>
+  </target>
+
   <target name="test-clean-db"
           description="clean out the test database">
     <delete dir="${chsrv.test}/db"/>
   </target>
 
-  <target name="test-clean"
+  <target name="test-clean-core" description="clean core subsystem tests">
+    <ant dir="${chsrv.core}" target="test-clean"
+         inheritAll="false"/>
+  </target>
+
+  <target name="test-clean-console" description="clean console webapp tests">
+    <ant dir="${chsrv.webapp.console}" target="test-clean"
+         inheritAll="false"/>
+  </target>
+
+  <target name="test-clean" depends="test-clean-core,test-clean-console"
           description="clean out test files">
     <delete dir="${chsrv.test}"/>
   </target>
@@ -203,31 +231,19 @@
           file="${chsrv.etc}/console.xml"/>
   </target>
 
+  <target name="dist-webapps" depends="dist-ROOT,dist-share,dist-console"
+          description="install all webapps into Tomcat"/>
+
   <target name="dist-server"
           description="install server scripts and config into Tomcat">
     <copy todir="${chsrv.dist.version}/bin"
           file="${chsrv.bin}/chandlerctl"/>
     <chmod file="${chsrv.dist.version}/bin/chandlerctl" perm="755"/>
-    <copy todir="${chsrv.dist.version}/etc"
-          file="${chsrv.etc}/jaas.config"/>
     <copy todir="${chsrv.dist.version}">
       <fileset dir="${chsrv.docs}"/>
     </copy>
     <copy todir="${chsrv.dist.tomcat}/conf" overwrite="true"
           file="${chsrv.etc}/server.xml"/>
-    <!-- copy slide jaas jar tomcat's common lib dir so we can use it
-         for single signon -->
-    <!-- XXX: nevermind. to go the single signon route, we have to
-         specify the absolute location of Domain.xml. that is weak
-         sauce. need to be able to specify it through jaas.config.
-    <copy todir="${chsrv.dist.tomcat}/common/lib">
-      <fileset dir="${chsrv.dist.share}/WEB-INF/lib">
-        <include name="slide-jaas*.jar"/>
-        <include name="slide-kernel*.jar"/>
-        <include name="geronimo-jta*.jar"/>
-      </fileset>
-    </copy>
-      -->
   </target>
 
   <target name="dist-data"
@@ -235,16 +251,18 @@
     <ant dir="${chsrv.core}" target="userdb-setup"
          inheritAll="false"/>
     <move todir="${chsrv.dist.version}/data">
-      <fileset dir="${chsrv.home}/data"/>
+      <fileset dir="${chsrv.home}/data">
+        <exclude name="*.lck"/>
+      </fileset>
     </move>
   </target>
 
-  <target name="server"
-          depends="dist-tomcat,dist-slide,dist-ROOT,dist-share,dist-console,dist-server,dist-data"
+  <target name="dist"
+          depends="dist-tomcat,dist-slide,dist-webapps,dist-server,dist-data"
           description="install and configure Chandler server"/>
 
-  <target name="dist" description="generate a release distribution"
-          depends="server">
+  <target name="dist-release" description="generate a release distribution"
+          depends="dist-clean-full,dist">
     <tar destfile="${chsrv.dist.version}.tar.gz"
          compression="gzip" longfile="gnu">
       <tarfileset dir="${chsrv.dist.version}"
@@ -252,18 +270,18 @@
     </tar>
   </target>
 
-  <target name="dist-data-clean"
-          description="clean out the distribution runtime data">
-    <delete dir="${chsrv.dist.version}/data"/>
-  </target>
-
   <target name="dist-clean"
           description="removed the release distribution">
     <delete file="${chsrv.dist.version}.tar.gz"/>
     <delete dir="${chsrv.dist.version}"/>
   </target>
 
-  <target name="dist-full-clean"
+  <target name="dist-clean-data"
+          description="clean out the distribution runtime data">
+    <delete dir="${chsrv.dist.version}/data"/>
+  </target>
+
+  <target name="dist-clean-full"
           description="remove the dist directory and unpacked dependencies">
     <delete dir="${chsrv.dist}"/>
     <delete dir="${chsrv.tmp}/${ext.tomcat.package}"/>

Index: server/bin/chandlerctl
diff -u server/bin/chandlerctl:1.1 server/bin/chandlerctl:1.2
--- server/bin/chandlerctl:1.1	Mon Feb  7 16:00:34 2005
+++ server/bin/chandlerctl	Wed Feb 23 20:23:47 2005
@@ -33,7 +33,6 @@
 
 export CHANDLER_HOME=`pwd`
 export CATALINA_HOME=$CHANDLER_HOME/tomcat
-export CATALINA_OPTS=-Djava.security.auth.login.config=$CHANDLER_HOME/etc/jaas.config
 
 echo "Using CHANDLER_HOME:   $CHANDLER_HOME"
 



More information about the Commits mailing list