Need Help to setup CAS in Ubuntu Feisty

Scott Battaglia scott.battaglia at gmail.com
Fri Aug 10 10:42:36 EDT 2007


If you guys can add any troubleshooting tips for deploying to Ubuntu to our
wiki (similar to how we have one for Redhat) that would be great!

The Red Hat example:
http://www.ja-sig.org/wiki/display/CASUM/Deploying+CAS+3.0.x+in+RHEL+5+with+Sun+Java
http://www.ja-sig.org/wiki/display/CASUM/Switching+to+a+Sun+JVM+in+RHEL

-Scott

On 8/10/07, VALOIS, Pascal <pascal.valois at devinci.fr> wrote:
>
> Hi,
>
> A quick way to set up the basic cas server in ubuntu is described in the
> next steps :
>
> 1 install the components :
>
> sudo apt-get install tomcat5-webapps tomcat5-admin tomcat5 ant
> sun-java5-jdk
>
> 2 then fetch and unzip cas 3.1 at
> http://www.ja-sig.org/products/cas/downloads/
>
> 3 copy the file  cas-server-3.1/modules/cas.war in
> the /var/lib/tomcat5/webapps directory
>
> 4 Edit /etc/default/tomcat5, and change the following lines :
>
> JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun %%%
> TOMCAT5_SECURIY=no
>
> 5 Edit the file /var/lib/tomcat5/conf/tomcat-users.xml and change the
> following :
>
> <user username="tomcat" password="tomcat" fullName="tomcat"
> roles="admin,manager,role1">
>
> 6 restart tomcat (/etc/init.d/tomcat5 restart)
>
> CAS is now up and ready at http://my-server:8180/cas/ and with the basic
> authentication (NetID=Password)
>
> the part 5 let you connect to the administration and managing urls
>
> http://my-server:8180/admin
> http://my-server:8180/manager/html
>
> with login=tomcat password=tomcat.
>
> on the manager part you can check that cas is deployed and running.
>
> The next step is to configure the backend authentication, and i'm trying
> myself to understand this part :)
>
> Le vendredi 10 août 2007 à 18:51 +0800, Alvin Pandrya a écrit :
> > Hi Scott,
> >
> > Thanks so much for your advice. Finally I get it to work by using the
> > original Tomcat, not the Ubuntu package. To my knowledge, the Ubuntu
> > package of Tomcat only allows me to run tomcat service as root and I
> > have no idea where the cas.log is written.
> >
> > Hope I can progress from here. Thanks for your patience.
> >
> > Alvin
> >
> > On 8/10/07, Scott Battaglia <scott.battaglia at gmail.com> wrote:
> >         If you're not starting Tomcat with the user alvin it may not
> >         be able to write to that directory.  Its just a matter of
> >         finding a directory the log file can be written to.
> >
> >
> >         -Scott
> >
> >         On 8/9/07, Alvin Pandrya <alvin.pandrya at gmail.com> wrote:
> >                 Hi Scott,
> >
> >                 I'm not sure where the cas.log will be written so I
> >                 chmod o=rwx the tomcat5.5 directory. But it still does
> >                 not work.
> >
> >                 I check the
> >                 file
> /var/lib/tomcat5.5/webapps/cas/WEB-INF/classes/log4j.properties
> >                 and thinking that my home folder is writable, I change
> >                 this line:
> >                 log4j.appender.logfile.File=cas.log
> >                 to
> >                 log4j.appender.logfile.File=/home/alvin/cas.log
> >
> >                 But still I haven't managed to get it work. It still
> >                 complains about permission problem
> >                 ( java.io.FilePermission /home/alvin/cas.log write).
> >
> >                 Also, when I deploy cas.war using Tomcat Manager, it
> >                 does not complain anything but I can't see
> >                 localhost/cas in the application list.
> >
> >                 I still got this similar error message. Thanks again
> >                 for your help and patience!
> >
> >                 10-Aug-07 AM 04:33
> >                 org.apache.catalina.startup.HostConfig deployWAR
> >                 SEVERE: Error deploying web application archive
> >                 cas.war
> >                 org.apache.commons.logging.LogConfigurationException:
> >                 java.lang.ExceptionInInitializerError (Caused by
> >                 java.lang.ExceptionInInitializerError)
> >                     at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(
> LogFactoryImpl.java:538)
> >                     at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(
> LogFactoryImpl.java :235)
> >                     at
> >                 org.apache.commons.logging.LogFactory.getLog(
> LogFactory.java:370)
> >                     at
> >                 org.apache.catalina.core.ContainerBase.getLogger(
> ContainerBase.java:380)
> >                     at org.apache.catalina.core.StandardContext.start
> >                 (StandardContext.java:4114)
> >                     at
> >                 org.apache.catalina.core.ContainerBase.addChildInternal(
> ContainerBase.java:759)
> >                     at org.apache.catalina.core.ContainerBase.access
> >                 $0(ContainerBase.java:743)
> >                     at org.apache.catalina.core.ContainerBase
> >                 $PrivilegedAddChild.run (ContainerBase.java:143)
> >                     at
> >                 java.security.AccessController.doPrivileged(Native
> >                 Method)
> >                     at
> >                 org.apache.catalina.core.ContainerBase.addChild(
> ContainerBase.java:737)
> >                     at org.apache.catalina.core.StandardHost.addChild
> >                 (StandardHost.java:524)
> >                     at
> >                 org.apache.catalina.startup.HostConfig.deployWAR(
> HostConfig.java:809)
> >                     at
> >                 org.apache.catalina.startup.HostConfig.deployWARs(
> HostConfig.java:698)
> >                     at
> >                 org.apache.catalina.startup.HostConfig.deployApps
> >                 (HostConfig.java:472)
> >                     at
> >                 org.apache.catalina.startup.HostConfig.start(
> HostConfig.java:1122)
> >                     at
> >                 org.apache.catalina.startup.HostConfig.lifecycleEvent(
> HostConfig.java:310)
> >                     at
> >
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (
> LifecycleSupport.java:119)
> >                     at
> >                 org.apache.catalina.core.ContainerBase.start(
> ContainerBase.java:1021)
> >                     at
> >                 org.apache.catalina.core.StandardHost.start(
> StandardHost.java:718)
> >                     at org.apache.catalina.core.ContainerBase.start
> >                 (ContainerBase.java:1013)
> >                     at
> >                 org.apache.catalina.core.StandardEngine.start(
> StandardEngine.java:442)
> >                     at
> >                 org.apache.catalina.core.StandardService.start(
> StandardService.java:450)
> >                     at org.apache.catalina.core.StandardServer.start
> >                 (StandardServer.java:709)
> >                     at
> >                 org.apache.catalina.startup.Catalina.start(Catalina.java
> :551)
> >                     at
> >                 sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> >                 Method)
> >                     at sun.reflect.NativeMethodAccessorImpl.invoke
> >                 (NativeMethodAccessorImpl.java:39)
> >                     at
> >                 sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> >                     at
> >                 java.lang.reflect.Method.invoke(Method.java:597)
> >                     at org.apache.catalina.startup.Bootstrap.start
> >                 (Bootstrap.java:294)
> >                     at
> >                 sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> >                 Method)
> >                     at
> >                 sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
> >                     at sun.reflect.DelegatingMethodAccessorImpl.invoke
> >                 (DelegatingMethodAccessorImpl.java:25)
> >                     at
> >                 java.lang.reflect.Method.invoke(Method.java:597)
> >                     at
> >                 org.apache.commons.daemon.support.DaemonLoader.start(
> DaemonLoader.java:177)
> >                 Caused by: java.lang.ExceptionInInitializerError
> >                     at
> >                 org.apache.log4j.Logger.getLogger(Logger.java:104)
> >                     at
> >                 org.apache.commons.logging.impl.Log4JLogger.getLogger(
> Log4JLogger.java:283)
> >                     at
> >                 org.apache.commons.logging.impl.Log4JLogger.<init>(
> Log4JLogger.java :108)
> >                     at
> >                 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> >                     at
> >                 sun.reflect.NativeConstructorAccessorImpl.newInstance(
> NativeConstructorAccessorImpl.java:39)
> >                     at
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance (
> DelegatingConstructorAccessorImpl.java:27)
> >                     at
> >                 java.lang.reflect.Constructor.newInstance(
> Constructor.java:513)
> >                     at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(
> LogFactoryImpl.java:529)
> >                     ... 33 more
> >                 Caused by: java.security.AccessControlException:
> >                 access denied
> >                 (java.io.FilePermission /home/alvin/cas.log write)
> >                     at
> >                 java.security.AccessControlContext.checkPermission
> >                 (AccessControlContext.java:323)
> >                     at
> >                 java.security.AccessController.checkPermission(
> AccessController.java:546)
> >                     at
> >                 java.lang.SecurityManager.checkPermission(
> SecurityManager.java:532)
> >                     at java.lang.SecurityManager.checkWrite
> >                 (SecurityManager.java:962)
> >                     at
> >                 java.io.FileOutputStream.<init>(FileOutputStream.java
> :169)
> >                     at
> >                 java.io.FileOutputStream.<init>(FileOutputStream.java
> :102)
> >                     at org.apache.log4j.FileAppender.setFile
> >                 (FileAppender.java:289)
> >                     at
> >                 org.apache.log4j.RollingFileAppender.setFile(
> RollingFileAppender.java:167)
> >                     at
> >                 org.apache.log4j.FileAppender.activateOptions(
> FileAppender.java:163)
> >                     at org.apache.log4j.config.PropertySetter.activate
> >                 (PropertySetter.java:256)
> >                     at
> >                 org.apache.log4j.config.PropertySetter.setProperties(
> PropertySetter.java:132)
> >                     at
> >                 org.apache.log4j.config.PropertySetter.setProperties(
> PropertySetter.java:96)
> >                     at
> >                 org.apache.log4j.PropertyConfigurator.parseAppender
> >                 (PropertyConfigurator.java:654)
> >                     at
> >                 org.apache.log4j.PropertyConfigurator.parseCategory(
> PropertyConfigurator.java:612)
> >                     at
> >
> org.apache.log4j.PropertyConfigurator.configureRootCategory(
> PropertyConfigurator.java :509)
> >                     at
> >                 org.apache.log4j.PropertyConfigurator.doConfigure(
> PropertyConfigurator.java:415)
> >                     at
> >                 org.apache.log4j.PropertyConfigurator.doConfigure(
> PropertyConfigurator.java:441)
> >                     at
> >
> org.apache.log4j.helpers.OptionConverter.selectAndConfigure (
> OptionConverter.java:470)
> >                     at
> >                 org.apache.log4j.LogManager.<clinit>(LogManager.java
> :122)
> >                     ... 41 more
> >
> >
> >
> >                 On 8/9/07, Scott Battaglia <
> >                 scott.battaglia at gmail.com> wrote:
> >                         Alvin,
> >
> >                         That's easy to fix.  It appears that a setting
> >                         in the file
> >                         webapps/cas/WEB-INF/classes/log4j.properties
> >                         is attempting to write the log to a location
> >                         where it can't be written.
> >
> >                         This most likely means its attempting to write
> >                         the log to the directory where tomcat was
> >                         started.  You either (a) need to add write
> >                         permissions for the user to that directory or
> >                         modify the log4j.properties to tell it to
> >                         write the cas.log to another directory.
> >
> >                         And then restart Tomcat ;-)
> >
> >
> >                         -Scott
> >
> >                         On 8/9/07, Alvin Pandrya
> >                         <alvin.pandrya at gmail.com> wrote:
> >                                 Hi Scott and Christian,
> >
> >                                 Thanks so much for the swift reply!
> >
> >                                 @Christian: I think it is the right
> >                                 port since I can get the tomcat
> >                                 welcome page in tomcat using port
> >                                 8180. I've also checked server.xml and
> >                                 the port is set to 8180.
> >
> >                                 @Scott: this is from catalina.out. I
> >                                 guess this
> >                                 java.lang.ExceptionInInitializerError
> >                                 is the cause. But I don't know how to
> >                                 fix this thing.
> >
> >                                 08-Aug-07 PM 04:32
> >                                 org.apache.catalina.startup.HostConfig
> >                                 deployWAR
> >                                 SEVERE: Error deploying web
> >                                 application archive cas.war
> >
> org.apache.commons.logging.LogConfigurationExcepti on:
> java.lang.ExceptionInInitializerError (Caused by
> java.lang.ExceptionInInitializerError)
> >                                 at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.new Instance(
> LogFactoryImpl.java:53
> >                                 at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.get Instance(
> LogFactoryImpl.java:235)
> >                                 at
> >
> org.apache.commons.logging.LogFactory.getLog(LogFa ctory.java:370)
> >                                 at
> >
> org.apache.catalina.core.ContainerBase.getLogger(C ontainerBase.java:380)
> >                                 at
> >
> org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4114)
> >                                 at
> >
> org.apache.catalina.core.ContainerBase.addChildInt ernal(
> ContainerBase.java:759)
> >                                 at
> >
> org.apache.catalina.core.ContainerBase.access$0(Co ntainerBase.java:743)
> >                                 at
> >                                 org.apache.catalina.core.ContainerBase
> >                                 $PrivilegedA
> >                                 ddChild.run(ContainerBase.java:143)
> >                                 at
> >
> java.security.AccessController.doPrivileged(Native Method)
> >                                 at
> >
> org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:737)
> >                                 at
> >
> org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
> >                                 at
> >
> org.apache.catalina.startup.HostConfig.deployWAR(H ostConfig.java:809)
> >                                 at
> >
> org.apache.catalina.startup.HostConfig.deployWARs( HostConfig.java:69
> >                                 at
> >
> org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:472)
> >                                 at
> >
> org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1122)
> >                                 at
> >
> org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java
> :310)
> >                                 at
> >
> org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(
> LifecycleSupport.java:119)
> >                                 at
> >
> org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1021)
> >                                 at
> >
> org.apache.catalina.core.StandardHost.start(Standa rdHost.java:71
> >                                 at
> >
> org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1013)
> >                                 at
> >
> org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
> >                                 at
> >
> org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
> >                                 at
> >
> org.apache.catalina.core.StandardServer.start(Stan dardServer.java:709)
> >                                 at
> >
> org.apache.catalina.startup.Catalina.start(Catalin a.java:551)
> >                                 at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
> >                                 at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java
> :39)
> >                                 at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(De
> legatingMethodAccessorImpl.java:25)
> >                                 at
> >                                 java.lang.reflect.Method.invoke(
> Method.java:597)
> >                                 at
> >
> org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:294)
> >                                 at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
> >                                 at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java
> :39)
> >                                 at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(De
> legatingMethodAccessorImpl.java:25)
> >                                 at
> >                                 java.lang.reflect.Method.invoke(
> Method.java:597)
> >                                 at
> >
> org.apache.commons.daemon.support.DaemonLoader.sta rt(DaemonLoader.java
> :177)
> >                                 Caused by:
> >                                 java.lang.ExceptionInInitializerError
> >                                 at
> >                                 org.apache.log4j.Logger.getLogger(
> Logger.java:104)
> >                                 at
> >
> org.apache.commons.logging.impl.Log4JLogger.getLog ger(Log4JLogger.java
> :283)
> >                                 at
> >
> org.apache.commons.logging.impl.Log4JLogger.<init> (Log4JLogger.java:10
> >                                 at
> >
> sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
> >                                 at
> >
> sun.reflect.NativeConstructorAccessorImpl.newInsta nce(
> NativeConstructorAccessorImpl.java:39)
> >                                 at
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(
> DelegatingConstructorAccessorImpl.java:27)
> >                                 at
> >
> java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
> >                                 at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.new Instance(
> LogFactoryImpl.java:529)
> >                                 ... 33 more
> >                                 Caused by:
> >                                 java.security.AccessControlException:
> >                                 access denied (java.io.FilePermission
> >                                 cas.log write)
> >                                 at
> >
> java.security.AccessControlContext.checkPermission (
> AccessControlContext.java:323)
> >                                 at
> >
> java.security.AccessController.checkPermission(Acc essController.java:546)
> >                                 at
> >
> java.lang.SecurityManager.checkPermission(Security Manager.java:532)
> >                                 at
> >                                 java.lang.SecurityManager.checkWrite(SecurityManag
> er.java:962)
> >                                 at
> >                                 java.io.FileOutputStream.<init>(
> FileOutputStream.j ava:169)
> >                                 at
> >                                 java.io.FileOutputStream.<init>(
> FileOutputStream.j ava:102)
> >                                 at
> >                                 org.apache.log4j.FileAppender.setFile(FileAppender
> .java:289)
> >                                 at
> >
> org.apache.log4j.RollingFileAppender.setFile(Rolli ngFileAppender.java
> :165)
> >                                 at
> >
> org.apache.log4j.FileAppender.activateOptions(File Appender.java:163)
> >                                 at
> >
> org.apache.log4j.config.PropertySetter.activate(Pr opertySetter.java:256)
> >                                 at
> >
> org.apache.log4j.config.PropertySetter.setProperti es(PropertySetter.java
> :132)
> >                                 at
> >
> org.apache.log4j.config.PropertySetter.setProperti es(PropertySetter.java
> :96)
> >                                 at
> >
> org.apache.log4j.PropertyConfigurator.parseAppende r(
> PropertyConfigurator.java:654)
> >                                 at
> >
> org.apache.log4j.PropertyConfigurator.parseCategor y(
> PropertyConfigurator.java:612)
> >                                 at
> >
> org.apache.log4j.PropertyConfigurator.configureRoo tCategory(
> PropertyConfigurator.java:509)
> >                                 at
> >
> org.apache.log4j.PropertyConfigurator.doConfigure(
> PropertyConfigurator.java:415)
> >                                 at
> >
> org.apache.log4j.PropertyConfigurator.doConfigure(
> PropertyConfigurator.java:441)
> >                                 at
> >
> org.apache.log4j.helpers.OptionConverter.selectAnd Configure(
> OptionConverter.java:46
> >                                 at
> >                                 org.apache.log4j.LogManager.<clinit>(
> LogManager.ja va:122)
> >                                 ... 41 more
> >
> >
> >                                 On 8/9/07, Christian Haugen <
> >                                 christian.haugen at agresso.no> wrote:
> >                                         Are you sure you are using the
> >                                         right port? I am using the
> >                                         same setup and I use port 8080
> >                                         for http and 8443 for https.
> >
> >
> >
> >                                         Christian
> >
> >
> >
> >
> >                                         ______________________________
> >                                         From:
> >                                         cas-bounces at tp.its.yale.edu
> >                                         [mailto:
> >                                         cas-bounces at tp.its.yale.edu]
> >                                         On Behalf Of Scott Battaglia
> >                                         Sent: 9. august 2007 13:54
> >                                         To: Yale CAS mailing list
> >                                         Subject: Re: Need Help to
> >                                         setup CAS in Ubuntu Feisty
> >
> >
> >
> >
> >                                         Alvin,
> >
> >                                         Check your cas.log or or
> >                                         catalina.out to see if any
> >                                         exceptions were thrown.
> >
> >                                         -Scott
> >
> >                                         On 8/9/07, Alvin Pandrya
> >                                         <alvin.pandrya at gmail.com>
> >                                         wrote:
> >
> >                                         Hi everyone,
> >
> >                                         I've got problem in setting up
> >                                         CAS in Ubuntu 7.04. I have
> >                                         installed tomcat5.5,
> >                                         tomcat5.5-admin, and
> >                                         tomcat5.5-webapps. I've also
> >                                         installed Java 6 JDK.
> >
> >                                         I can get the welcome page
> >                                         when I browse to
> >                                         http://localhost:8180/ using
> >                                         firefox (the default port
> >                                         opened is 8180 in Ubuntu)
> >
> >                                         Then, what I do is copy the
> >                                         cas.war
> >                                         to /var/lib/tomcat5.5/webapps
> >                                         and browse to
> >                                         http://localhost:8180/cas
> >                                         using firefox.
> >                                         However, I got a HTTP 404
> >                                         Error, saying the
> >                                         resources /cas can't be found.
> >
> >                                         Did I do something wrong?
> >                                         Please help. Thanks!
> >
> >                                         Best regards,
> >
> >                                         Alvin Pandrya
> >
> >
> _______________________________________________
> >                                         Yale CAS mailing list
> >                                         cas at tp.its.yale.edu
> >
> http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
> >
> >
> >
> >                                         --
> >                                         -Scott Battaglia
> >
> >                                         LinkedIn:
> >
> http://www.linkedin.com/in/scottbattaglia
> >
> >
> >
> >
> _______________________________________________
> >                                         Yale CAS mailing list
> >                                         cas at tp.its.yale.edu
> >
> http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
> >
> >
> >
> _______________________________________________
> >                                 Yale CAS mailing list
> >                                 cas at tp.its.yale.edu
> >
> http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
> >
> >
> >                         --
> >                         -Scott Battaglia
> >
> >                         LinkedIn:
> >                         http://www.linkedin.com/in/scottbattaglia
> >
> >                         _______________________________________________
> >                         Yale CAS mailing list
> >                         cas at tp.its.yale.edu
> >                         http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
> >
> >
> >                 _______________________________________________
> >                 Yale CAS mailing list
> >                 cas at tp.its.yale.edu
> >                 http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
> >
> >
> >         --
> >         -Scott Battaglia
> >
> >         LinkedIn: http://www.linkedin.com/in/scottbattaglia
> >
> >         _______________________________________________
> >         Yale CAS mailing list
> >         cas at tp.its.yale.edu
> >         http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
> > _______________________________________________
> > Yale CAS mailing list
> > cas at tp.its.yale.edu
> > http://tp.its.yale.edu/mailman/listinfo/cas
> --
> Pascal Valois
> Service Informatique
> 01 41 16 70 33
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>



-- 
-Scott Battaglia

LinkedIn: http://www.linkedin.com/in/scottbattaglia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://tp.its.yale.edu/pipermail/cas/attachments/20070810/b162fc5b/attachment.html 


More information about the cas mailing list