HttpBasedServiceCredentialsAuthenticationHandler [CAS-444]bug
Scott Battaglia
scott.battaglia at gmail.com
Fri Apr 27 07:57:48 EDT 2007
In CAS 3.0.7 there is a deployerConfigContext.xml located in the default
directory or webapp/WEB-INF/deployerConfigContext.xml. It has a definition
for HttpBasedServiceCredentialsAuthenticationHandler in it. You need that
definition. It includes a reference to an HttpClient.
The difference can be seen here:
http://developer.ja-sig.org/source/browse/jasig/cas3/webapp/WEB-INF/deployerConfigContext.xml?r1=1.3.2.2&r2=1.3.2.1
-Scott
On 4/27/07, Rodriguez, Unai <Unai.Rodriguez at behringer.com> wrote:
>
> Hey Scott,
>
> Thank you so much for your help. I am sorry but I am a little bit
> confused.
>
> I tried unsuccessfully to find some information on how to fix the bug. I
> found the link to your bugtracking (jira) tool:
>
> http://www.ja-sig.org/issues/browse/CAS-444
>
> But I did not see any information on how to proceed.
>
> Then I tried checking the file that Gaetan is pointing out:
>
> [Gaetan said]
> > ...
> > I've used the "deployerConfigContext.xml" located
> > in adaptors/ldap/target/classes and customized it
> > ...
> [-----------]
>
> But still same results.
>
> "All you need to do is copy in the definition for the
> HttpBasedServiceCredentialsAuthenticationHandler from 3.0.7 which includes
> a reference to HttpClient and replace the definition in your current
> deployerConfigContext.xml."
>
> What do you mean?
>
> This is the content of my deployerConfigContext.xml:
> -------------------------------------
> cas:/opt/cas-server-3.0.7# cat /opt/cas-server-3.0.7
> /webapp/WEB-INF/deployerConfigContext.xml
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
> http://www.springframework.org/dtd/spring-beans.dtd">
> <!--
> | deployerConfigContext.xml centralizes into one file some of the
> declarative configuration that
> | all CAS deployers will need to modify.
> |
> | This file declares some of the Spring-managed JavaBeans that
> make up a CAS deployment.
> | The beans declared in this file are instantiated at context
> initialization time by the Spring
> | ContextLoaderListener declared in web.xml. It finds this file
> because this
> | file is among those declared in the context parameter
> "contextConfigLocation".
> |
> | By far the most common change you will need to make in this file
> is to change the last bean
> | declaration to replace the default
> SimpleTestUsernamePasswordAuthenticationHandler with
> | one implementing your approach for authenticating usernames and
> passwords.
> +-->
> <beans>
> <!--
> | This bean declares our AuthenticationManager. The
> CentralAuthenticationService service bean
> | declared in applicationContext.xml picks up this
> AuthenticationManager by reference to its id,
> | "authenticationManager". Most deployers will be able to
> use the default AuthenticationManager
> | implementation and so do not need to change the class of
> this bean. We include the whole
> | AuthenticationManager here in the userConfigContext.xmlso that you can see the things you will
> | need to change in context.
> +-->
> <bean id="authenticationManager"
> class="
> org.jasig.cas.authentication.AuthenticationManagerImpl">
> <!--
> | This is the List of
> CredentialToPrincipalResolvers that identify what Principal is trying to
> authenticate.
> | The AuthenticationManagerImpl considers them in
> order, finding a CredentialToPrincipalResolver which
> | supports the presented credentials.
> |
> | AuthenticationManagerImpl uses these resolvers
> for two purposes. First, it uses them to identify the Principal
> | attempting to authenticate to CAS /login . In
> the default configuration, it is the DefaultCredentialsToPrincipalResolver
> | that fills this role. If you are using some
> other kind of credentials than UsernamePasswordCredentials, you will need to
> replace
> | DefaultCredentialsToPrincipalResolver with a
> CredentialsToPrincipalResolver that supports the credentials you are
> | using.
> |
> | Second, AuthenticationManagerImpl uses these
> resolvers to identify a service requesting a proxy granting ticket.
> | In the default configuration, it is the
> HttpBasedServiceCredentialsToPrincipalResolver that serves this purpose.
> | You will need to change this list if you are
> identifying services by something more or other than their callback URL.
> +-->
> <property name="credentialsToPrincipalResolvers">
> <list>
> <!--
> |
> UsernamePasswordCredentialsToPrincipalResolver supports the
> UsernamePasswordCredentials that we use for /login
> | by default and produces
> SimplePrincipal instances conveying the username from the credentials.
> |
> | If you've changed your
> LoginFormAction to use credentials other than UsernamePasswordCredentials
> then you will also
> | need to change this bean
> declaration (or add additional declarations) to declare a
> CredentialsToPrincipalResolver that supports the
> | Credentials you are using.
> +-->
> <bean
> class="
> org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver"
> />
> <!--
> |
> HttpBasedServiceCredentialsToPrincipalResolver supports
> HttpBasedCredentials. It supports the CAS 2.0 approach of
> | authenticating services by SSL
> callback, extracting the callback URL from the Credentials and representing
> it as a
> | SimpleService identified by that
> callback URL.
> |
> | If you are representing services
> by something more or other than an HTTPS URL whereat they are able to
> | receive a proxy callback, you
> will need to change this bean declaration (or add additional declarations).
> +-->
> <bean
> class="
> org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver"
> />
> </list>
> </property>
>
> <!--
> | Whereas CredentialsToPrincipalResolvers identify
> who it is some Credentials might authenticate,
> | AuthenticationHandlers actually authenticate
> credentials. Here we declare the AuthenticationHandlers that
> | authenticate the Principals that the
> CredentialsToPrincipalResolvers identified. CAS will try these handlers in
> turn
> | until it finds one that both supports the
> Credentials presented and succeeds in authenticating.
> +-->
> <property name="authenticationHandlers">
> <list>
> <!--
> | This is the authentication
> handler that authenticates services by means of callback via SSL, thereby
> validating
> | a server side SSL certificate.
> +-->
> <bean
> class="
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
> />
>
> <!--
> | This is the authentication
> handler declaration that every CAS deployer will need to change before
> deploying CAS
> | into production.
> | With this configuration you'll
> be using LDAP search-and-bind authentication.
> +-->
> <bean
> class="
> org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler" >
> <property name="filter"
> value="sAMAccountName=%u" />
> <property
> name="searchBase" value="OU=XXX,DC=YYY,DC=ZZZ,DC=WWW" />
> <property
> name="contextSource" ref="contextSource" />
> <property
> name="ignorePartialResultException" value="yes" />
> </bean>
> </list>
> </property>
> </bean>
> <bean id="contextSource" class="
> org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">
> <property name="authenticatedReadOnly" value="true" />
> <property name="userName" value="USER" />
> <property name="password" value="PASS" />
> <property name="urls">
> <list>
> <value>ldap://IP:PORT</value>
> </list>
> </property>
> <property name="baseEnvironmentProperties">
> <map>
> <entry>
> <key><value>
> java.naming.security.authentication</value></key>
> <value>simple</value>
> </entry>
> </map>
> </property>
> </bean>
> </beans>
> -------------------------------------
>
>
>
> Kind Regards,
>
> RODRIGUEZ, Unai
>
>
>
> ________________________________
>
> From: cas-bounces at tp.its.yale.edu [mailto:cas-bounces at tp.its.yale.edu] On
> Behalf Of Scott Battaglia
> Sent: Friday, April 27, 2007 11:36 AM
> To: Yale CAS mailing list
> Subject: Re: HttpBasedServiceCredentialsAuthenticationHandler [CAS-444]bug
>
>
> Your problem actually is CAS bug CAS-444. If you look at your stack trace
> you will see:
>
> "Invocation of init method failed; nested exception is
> java.lang.IllegalArgumentExcep
> tion: Note, this behavior has changed from the CAS 3.0.6 behavior. You now
> MUST specify an instance of HttpClient. Before it would create an instance
> for you."
>
> All you need to do is copy in the definition for the
> HttpBasedServiceCredentialsAuthenticationHandler from 3.0.7 which includes
> a reference to HttpClient and replace the definition in your current
> deployerConfigContext.xml.
>
> That should it.
>
> -Scott
>
>
>
> On 4/26/07, Rodriguez, Unai < Unai.Rodriguez at behringer.com <mailto:
> Unai.Rodriguez at behringer.com> > wrote:
>
> Hey Scott,
>
> Yeah you are right. Allow me to clarify my situation.
>
> In order to install CAS Server 3.0.7 I went through the following
> steps:
>
> 1) Download and unpack the file:
> http://www.ja-sig.org/downloads/cas/cas-server-3.0.7.tar.gz <
> http://www.ja-sig.org/downloads/cas/cas-server-3.0.7.tar.gz>
>
> 2) Get the necessary jar files and put them under the
> "localPlugins/lib/" directory:
> cas-server-ldap-3.0.7.jar
> spring-ldap-1.1.2.jar
> ldapbp-1.0.jar (I got this one based on one of your responses
> within this thread -- THANKS)
>
> 3) Configure "webapp/WEB-INF/deployerConfigContext.xml". (I am
> using the same configuration in my working CAS 3.0.5 installation)
>
> 4) Build and deploy
>
> 5) I get the same error as Gaetan:
>
>
> ----------------------------------------------------------------------------------------
>
> CAS is Unavailable
>
> There was a fatal error initializing the CAS application context.
> This is almost always because of an error in the Spring bean configuration
> files. Are the files valid XML? Do the beans they refer to all exist?
>
> Before placing CAS in production, you should change this page to
> present a UI appropriate for the case where the CAS web application is
> fundamentally broken. Perhaps "Sorry, CAS is currently unavailable." with
> some links to your user support information.
>
> The Throwable encountered at context listener initialization was:
>
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'centralAuthenticationService' defined in
> ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve
> reference to bean 'authenticationManager' while setting bean property
> 'authenticationManager'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'authenticationManager' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Cannot create inner bean '
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler#181ed9e'
> of type [
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler]
> while setting bean property 'authenticationHandlers' with key [0]; nested
> exception is org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name '
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler#181ed9e'
> defined in ServletContext resource [/WEB-INF/deployerConfigContext.xml]:
> Invocation of init method failed; nested exception is
> java.lang.IllegalArgumentException: Note, this behavior has changed from
> the CAS 3.0.6 behavior. You now MUST specify an instance of HttpClient.
> Before it would create an instance for you.
>
> The Throwable encountered at dispatcher servlet initialization
> was:
>
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'centralAuthenticationService' defined in
> ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve
> reference to bean 'authenticationManager' while setting bean property
> 'authenticationManager'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'authenticationManager' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Cannot create inner bean '
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler#181ed9e'
> of type [
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler]
> while setting bean property 'authenticationHandlers' with key [0]; nested
> exception is org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name '
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler#181ed9e'
> defined in ServletContext resource [/WEB-INF/deployerConfigContext.xml]:
> Invocation of init method failed; nested exception is
> java.lang.IllegalArgumentException: Note, this behavior has changed from
> the CAS 3.0.6 behavior. You now MUST specify an instance of HttpClient.
> Before it would create an instance for you.
>
> ----------------------------------------------------------------------------------------
>
> The reason why I included all these other jar files is because it
> seemed that someone was missing so I included all the jars from:
> spring-ldap-bin-with-dependencies-1.1.2.zip
>
> I am using right now CAS 3.0.5 . It worked fine. Am I missing
> something?
>
> Thank all you guys so much!!!
>
>
>
>
> Kind Regards,
>
> RODRIGUEZ, Unai
>
>
> ________________________________
>
> From: cas-bounces at tp.its.yale.edu [mailto:
> cas-bounces at tp.its.yale.edu] On Behalf Of Scott Battaglia
> Sent: Thursday, April 26, 2007 8:10 PM
> To: Yale CAS mailing list
> Subject: Re: HttpBasedServiceCredentialsAuthenticationHandler
> [CAS-444]bug
>
>
> That's not the actual exception. There should be more than that
> that. However, it looks like you have two ldapbp jars in your lib
> folder. You're also adding additional Spring jars that don't need to be
> there as the project includes Spring.
>
> -Scott
>
>
> On 4/26/07, Rodriguez, Unai <Unai.Rodriguez at behringer.com> wrote:
>
> Dear Gaetan,
>
> I found the same error as you:
>
> "org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name..."
>
> This is currently the contents of my localPlugins/lib
> folder:
>
> #ls -l /opt/cas- server-3.0.7/localPlugins/lib/
> total 1848
> -rw-r--r-- 1 root root 13431 2007-04-26 09:32
> cas-server-ldap-3.0.7.jar
> -rw-r--r-- 1 root root 559366 2007-04-26 15:55
> commons-collections.jar
> -rw-r--r-- 1 root root 207723 2007-04-26 15:55
> commons-lang.jar
> -rw-r--r-- 1 root root 38015 2007-04-26 15:55
> commons-logging.jar
> -rw-r--r-- 1 root root 49437 2007-02-02 21:47
> ldapbp-1.0.jar
> -rw-r--r-- 1 root root 49437 2007-04-26 15:55 ldapbp.jar
> -rw-r--r-- 1 root root 71 2007-02-02 04:39 README.txt
> -rw-r--r-- 1 root root 373325 2007-04-26 15:55
> spring-beans.jar
> -rw-r--r-- 1 root root 122078 2007-04-26 15:55
> spring-context.jar
> -rw-r--r-- 1 root root 172430 2007-04-26 15:55
> spring-core.jar
> -rw-r--r-- 1 root root 123817 2007-04-26 15:55
> spring-dao.jar
> -rw-r--r-- 1 root root 110756 2007-04-26 15:55
> spring-ldap-1.1.2.jar
>
> 1) Could you please list the files on your
> localPlugins/lib directory?
>
> 2) Is there any other place where you include .jar files?
>
> Kind Regards,
>
> RODRIGUEZ, Unai
>
>
>
> ________________________________
>
> From: cas-bounces at tp.its.yale.edu <mailto:
> cas-bounces at tp.its.yale.edu > [mailto:cas-bounces at tp.its.yale.edu] On
> Behalf Of Gaetan Dardy
> Sent: Thursday, April 26, 2007 2:35 PM
> To: Yale CAS mailing list
> Subject: Re:
> HttpBasedServiceCredentialsAuthenticationHandler [CAS-444]bug
>
>
> That's what I feared.
> Thanks for all.
>
> Ga�tan.
>
>
> Scott Battaglia a �crit :
>
> The Spring LDAP distribution should include all of
> the necessary jars for Spring LDAP. "ant war" would not have caught it as
> all of the items have already been compiled.
>
> Glad to hear it worked for you!
> -Scott
>
>
> On 4/25/07, Gaetan Dardy <gdardy at free.fr> wrote:
>
> Damned ! It works.
>
> Where are the documentation's pages i've
> missed !!
> I thought the 'ant war' wouldn't have been
> successful if files were missing...
> Is there a way to check dependencies ?
>
> And yes, this has nothing to do with 444,
> but at first, i had also a problem with my 'deployerConfigContext.xml' ;-)
>
> Thanks for your help and the fantastic job
> you (and the team) are doing here.
> This mailing list is more efficient and
> faster than most of the (costly) hotlines I know.
>
> Gaetan.
>
> Scott Battaglia a �crit :
>
> Gaetan,
>
> This has nothing to do with
> CAS-444. It means you're missing one JAR file :-) Try including this jar:
>
> http://developer.ja-sig.org/maven2/com/sun/jndi/ldap/ldapbp/1.0/ldapbp-1.0.jar<
> http://developer.ja-sig.org/maven2/com/sun/jndi/ldap/ldapbp/1.0/ldapbp-1.0.jar<
> http://developer.ja-sig.org/maven2/com/sun/jndi/ldap/ldapbp/1.0/ldapbp-1.0.jar>
> > <
> http://developer.ja-sig.org/maven2/com/sun/jndi/ldap/ldapbp/1.0/ldapbp-1.0.jar<
> http://developer.ja-sig.org/maven2/com/sun/jndi/ldap/ldapbp/1.0/ldapbp-1.0.jar>
> <
> http://developer.ja-sig.org/maven2/com/sun/jndi/ldap/ldapbp/1.0/ldapbp-1.0.jar>
> >
>
> -Scott
>
>
> On 4/25/07, Gaetan Dardy <
> gdardy at free.fr> wrote:
>
> Hi again,
>
> I've used the '
> deployerConfigContext.xml' in webapp/WEB-INF and configured it. The error
> changes but it still doesn't work.
> So i've drop down the
> 3.0.7 and tried again the 3.0.5 with both 'fast bind' and 'search'. It
> works well.
> Then, I started all over
> from scratch (and used 'spring-ldap-1.1.2.jar' and '
> cas-server-ldap-3.0.7.jar').
> And I still have the
> message below. I'm feeling such a fool !
>
> Thnaks for your help.
>
> Gaetan.
>
>
> ------------------------------------------------------------------------------
>
>
> The Throwable encountered
> at context listener initialization was:
>
>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'centralAuthenticationService' defined in ServletContext
> resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean
> 'authenticationManager' while setting bean property 'authenticationManager';
> nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'authenticationManager' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Cannot create inner bean '
> org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler#41dde0' of
> type [org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler] while
> setting bean property 'authenticationHandlers' with key [1]; nested
> exception is org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name '
> org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler#41dde0'
> defined in ServletContext resource [/WEB-INF/deployerConfigContext.xml]:
> Cannot resolve reference to bean 'contextSource' while setting bean property
> 'contextSource'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'contextSource' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Instantiation of bean failed; nested
> exception is java.lang.NoClassDefFoundError:
> com.sun.jndi.ldap.ctl.ResponseControlFactory
>
> The Throwable encountered
> at dispatcher servlet initialization was:
>
>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'centralAuthenticationService' defined in ServletContext
> resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean
> 'authenticationManager' while setting bean property 'authenticationManager';
> nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'authenticationManager' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Cannot create inner bean '
> org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler#41dde0' of
> type [org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler] while
> setting bean property 'authenticationHandlers' with key [1]; nested
> exception is org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name '
> org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler#41dde0'
> defined in ServletContext resource [/WEB-INF/deployerConfigContext.xml]:
> Cannot resolve reference to bean 'contextSource' while setting bean property
> 'contextSource'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'contextSource' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Instantiation of bean failed; nested
> exception is java.lang.NoClassDefFoundError:
> com.sun.jndi.ldap.ctl.ResponseControlFactory
>
>
>
> Scott Battaglia a �crit :
>
> That is just a
> sample of how to configure ldap handlers. The config
> file in
> webapp/WEB-INF is the production config. Configure your LDAP
> stuff in that.
>
> -Scott
>
> On 4/18/07, Gaetan
> Dardy
>
> <gdardy at free.fr>
> <mailto: gdardy at free.fr <mailto:gdardy at free.fr> > wrote:
>
>
> I've used the "
> deployerConfigContext.xml" located in
> adaptors/ldap/target/classes
> and customized it :
> I've modified the
> "
> org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler
> " bean
>
> and the next one
> i.e. "contextSource".
> (I've also
> compared it to the one in the "cas-server-3.0.7/target
> directory/cas-
> server-ldap-3.0.7.jar".
> What puzzled me is
> that the error is exactly the same as
>
> 3.0.7 RC2 release.
>
> I read carefully
> the LDAP part of the Server Deployment 's documentation
> (
>
>
> http://www.ja-sig.org/products/cas/server/ldapauthhandler/index.html <
> http://www.ja-sig.org/products/cas/server/ldapauthhandler/index.html> <
> http://www.ja-sig.org/products/cas/server/ldapauthhandler/index.html> <
> http://www.ja-sig.org/products/cas/server/ldapauthhandler/index.html <
> http://www.ja-sig.org/products/cas/server/ldapauthhandler/index.html> > )
> and i've tried
> both fastbind and search-and-bind authentication with
> the same result.
>
> Does it help ?
>
> Ga�tan.
>
> Scott Battaglia a
> �crit :
>
>
>
>
> What exactly are
> you experiencing? CAS-444 means you are now required
> to inject an
> instance of HttpClient into the
> HttpBasedServiceCredentaislAuthenticationHandler
> which the default
>
> deployerConfigContext.xml
>
> does for you.
>
> -Scott
>
> On 4/18/07,
> *Gaetan Dardy* <gdardy at free.fr
>
> <mailto:
> gdardy at free.fr> <mailto:gdardy at free.fr> >
> wrote:
>
> Hi,
>
> I had
> successfully tested CAS 3.0.5 with a LDAP authentication
> handler.
> Since I
> switched to the final 3.0.7, I'm still having the
>
>
> HttpBasedServiceCredentialsAuthenticationHandler
> trouble
> ([CAS-444]
> bug).
> I read all the
> release notes and documentation I've found, but I'm
> unable to make
> it work.
>
> Am I the only
> one ?
>
>
> Is there
> something I missed ?
>
> Best regards,
>
> Ga�tan Dardy.
>
>
> _______________________________________________
> Yale CAS
> mailing list
>
>
>
> cas at tp.its.yale.edu <mailto: cas at tp.its.yale.edu <mailto:
> cas at tp.its.yale.edu> > <mailto: cas at tp.its.yale.edu> <mailto:
> 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 <mailto:cas at tp.its.yale.edu> <mailto:
> cas at tp.its.yale.edu>
>
> http://tp.its.yale.edu/mailman/listinfo/cas <
> http://tp.its.yale.edu/mailman/listinfo/cas>
>
>
>
>
>
>
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu<mailto:
> cas at tp.its.yale.edu>
>
> http://tp.its.yale.edu/mailman/listinfo/cas <
> http://tp.its.yale.edu/mailman/listinfo/cas>
>
>
>
>
>
>
> --
> -Scott Battaglia
>
> LinkedIn:
> http://www.linkedin.com/in/scottbattaglia <
> http://www.linkedin.com/in/scottbattaglia> <
> http://www.linkedin.com/in/scottbattaglia <
> 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 <
> http://tp.its.yale.edu/mailman/listinfo/cas> <
> 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 <
> http://tp.its.yale.edu/mailman/listinfo/cas> <
> 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 <
> http://www.linkedin.com/in/scottbattaglia>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas <
> 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
>
--
-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/20070427/7949e487/attachment.html
More information about the cas
mailing list