Delete old files.
authorScott Cantor <cantor.2@osu.edu>
Sun, 20 May 2007 20:22:04 +0000 (20:22 +0000)
committerScott Cantor <cantor.2@osu.edu>
Sun, 20 May 2007 20:22:04 +0000 (20:22 +0000)
19 files changed:
shib/Makefile.am [deleted file]
shib/ScopedAttribute.cpp [deleted file]
shib/ShibBrowserProfile.cpp [deleted file]
shib/ShibConfig.cpp [deleted file]
shib/internal.h [deleted file]
shib/resource.h [deleted file]
shib/shib.dsp [deleted file]
shib/shib.h [deleted file]
shib/shib.rc [deleted file]
shib/shib.vcproj [deleted file]
xmlproviders/Makefile.am [deleted file]
xmlproviders/TargetedID.cpp [deleted file]
xmlproviders/XMLAAP.cpp [deleted file]
xmlproviders/XMLProviders.cpp [deleted file]
xmlproviders/internal.h [deleted file]
xmlproviders/resource.h [deleted file]
xmlproviders/xmlproviders.dsp [deleted file]
xmlproviders/xmlproviders.rc [deleted file]
xmlproviders/xmlproviders.vcproj [deleted file]

diff --git a/shib/Makefile.am b/shib/Makefile.am
deleted file mode 100644 (file)
index dd0b98c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-## $Id$
-
-AUTOMAKE_OPTIONS = foreign
-
-lib_LTLIBRARIES = libshib.la
-
-libshibdir = $(includedir)/shib
-libshib_HEADERS = shib.h
-noinst_HEADERS = internal.h
-
-libshib_la_SOURCES = \
-    ShibConfig.cpp \
-    ShibBrowserProfile.cpp \
-    ScopedAttribute.cpp
-
-
-# this is different from the project version
-# http://sources.redhat.com/autobook/autobook/autobook_91.html
-libshib_la_LDFLAGS = -version-info 6:0:0
-
-install-exec-hook:
-       for la in $(lib_LTLIBRARIES) ; do rm -f $(DESTDIR)$(libdir)/$$la ; done
-
-EXTRA_DIST = shib.vcproj resource.h shib.rc
-
diff --git a/shib/ScopedAttribute.cpp b/shib/ScopedAttribute.cpp
deleted file mode 100644 (file)
index f3664fa..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* ScopedAttribute.cpp - eduPerson scoped attribute base class
-
-   Scott Cantor
-   6/4/02
-
-   $History:$
-*/
-
-#include "internal.h"
-#include <xercesc/util/regx/RegularExpression.hpp>
-#include <log4cpp/Category.hh>
-
-using namespace shibboleth;
-using namespace saml;
-using namespace log4cpp;
-using namespace std;
-
-const XMLCh ScopedAttribute::Scope[] = { chLatin_S, chLatin_c, chLatin_o, chLatin_p, chLatin_e, chNull };
-
-ScopedAttribute::ScopedAttribute(
-    const XMLCh* name,
-    const XMLCh* ns,
-    const saml::QName* type,
-    long lifetime,
-    const saml::Iterator<const XMLCh*>& scopes,
-    const saml::Iterator<const XMLCh*>& values
-    ) : SAMLAttribute(name,ns,type,lifetime,values)
-{
-    RTTI(ScopedAttribute);
-    if (scopes.size()!=values.size())
-        throw MalformedException("ScopedAttribute() requires the number of scopes to equal the number of values");
-
-    while (scopes.hasNext())
-        m_scopes.push_back(saml::XML::assign(scopes.next()));
-}
-
-ScopedAttribute::ScopedAttribute(DOMElement* e) : SAMLAttribute(e,false)
-{
-    RTTI(ScopedAttribute);
-    fromDOM(e);
-}
-
-ScopedAttribute::ScopedAttribute(istream& in) : SAMLAttribute(in,false)
-{
-    RTTI(ScopedAttribute);
-    fromDOM(m_document->getDocumentElement());
-}
-
-ScopedAttribute::~ScopedAttribute()
-{
-    if (m_bOwnStrings) {
-        for (vector<const XMLCh*>::iterator i=m_scopes.begin(); i!=m_scopes.end(); i++) {
-            XMLCh* p = const_cast<XMLCh*>(*i);
-            XMLString::release(&p);
-        }
-    }
-
-    // We always own any scoped values we've built.
-    for (vector<const XMLCh*>::iterator i=m_scopedValues.begin(); i!=m_scopedValues.end(); i++) {
-        XMLCh* p = const_cast<XMLCh*>(*i);
-        XMLString::release(&p);
-    }
-}
-
-void ScopedAttribute::ownStrings()
-{
-    if (!m_bOwnStrings) {
-        for (vector<const XMLCh*>::iterator i=m_scopes.begin(); i!=m_scopes.end(); i++)
-            (*i)=saml::XML::assign(*i);
-        SAMLAttribute::ownStrings();
-    }
-}
-
-Iterator<const XMLCh*> ScopedAttribute::getValues() const
-{
-    static XMLCh at[]={chAt, chNull};
-
-    if (m_scopedValues.empty()) {
-        vector<const XMLCh*>::const_iterator j=m_scopes.begin();
-        for (vector<const XMLCh*>::const_iterator i=m_values.begin(); i!=m_values.end(); i++, j++) {
-            XMLCh* temp=new XMLCh[XMLString::stringLen(*i) + XMLString::stringLen(*j) + 2];
-            temp[0]=chNull;
-            XMLString::catString(temp,*i);
-            XMLString::catString(temp,at);
-            XMLString::catString(temp,*j);
-            m_scopedValues.push_back(temp);
-        }
-    }
-    return m_scopedValues;
-}
-
-Iterator<string> ScopedAttribute::getSingleByteValues() const
-{
-    getValues();
-    if (m_sbValues.empty()) {
-        for (vector<const XMLCh*>::const_iterator i=m_scopedValues.begin(); i!=m_scopedValues.end(); i++) {
-            auto_ptr<char> temp(toUTF8(*i));
-            if (temp.get())
-                m_sbValues.push_back(temp.get());
-        }
-    }
-    return m_sbValues;
-}
-
-void ScopedAttribute::setValues(const Iterator<const XMLCh*>& values)
-{
-    throw SAMLException("unsupported operation");
-}
-
-void ScopedAttribute::addValue(const XMLCh* value)
-{
-    throw SAMLException("unsupported operation");
-}
-
-void ScopedAttribute::removeValue(unsigned long index)
-{
-    if (m_bOwnStrings) {
-        XMLCh* p=const_cast<XMLCh*>(m_scopes[index]);
-        XMLString::release(&p);
-    }
-    m_scopes.erase(m_scopes.begin()+index);
-    
-    if (!m_scopedValues.empty()) {
-        XMLCh* p=const_cast<XMLCh*>(m_scopedValues[index]);
-        XMLString::release(&p);
-        m_scopedValues.erase(m_scopedValues.begin()+index);
-    }
-
-    SAMLAttribute::removeValue(index);
-}
-
-void ScopedAttribute::valueFromDOM(DOMElement* e)
-{
-    SAMLAttribute::valueFromDOM(e);
-    m_scopes.push_back(e->getAttributeNS(NULL,Scope));
-}
-
-void ScopedAttribute::valueToDOM(unsigned int index, DOMElement* e) const
-{
-    SAMLAttribute::valueToDOM(index,e);
-    const XMLCh* scope=m_scopes[index];
-    if (!saml::XML::isEmpty(scope))
-        e->setAttributeNS(NULL,Scope,m_scopes[index]);
-}
-
-SAMLObject* ScopedAttribute::clone() const
-{
-    return new ScopedAttribute(m_name,m_namespace,m_type,m_lifetime,m_scopes,m_values);
-}
diff --git a/shib/ShibBrowserProfile.cpp b/shib/ShibBrowserProfile.cpp
deleted file mode 100644 (file)
index b7ff37b..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* ShibBrowserProfile.cpp - Shibboleth-specific wrapper around SAML browser profile
-
-   Scott Cantor
-   2/6/05
-
-   $History:$
-*/
-
-#include "internal.h"
-
-#include <ctime>
-#include <openssl/x509v3.h>
-#include <saml/saml1/core/Protocols.h>
-#include <xmltooling/XMLToolingConfig.h>
-#include <xmltooling/util/NDC.h>
-
-using namespace shibboleth;
-using namespace saml;
-using namespace opensaml::saml1p;
-using namespace opensaml::saml2md;
-using namespace xmltooling;
-using namespace log4cpp;
-using namespace std;
-
-ShibBrowserProfile::ShibBrowserProfile(
-    const ITokenValidator* validator, MetadataProvider* metadata, TrustEngine* trust
-    ) : m_validator(validator), m_metadata(metadata), m_trust(trust)
-{
-    m_profile=SAMLBrowserProfile::getInstance();
-}
-
-ShibBrowserProfile::~ShibBrowserProfile()
-{
-    delete m_profile;
-}
-
-SAMLBrowserProfile::BrowserProfileResponse ShibBrowserProfile::receive(
-    const char* samlResponse,
-    const XMLCh* recipient,
-    saml::IReplayCache* replayCache,
-    int minorVersion
-    ) const
-{
-#ifdef _DEBUG
-    xmltooling::NDC("recieve");
-#endif
-    Category& log=Category::getInstance(SHIB_LOGCAT".ShibBrowserProfile");
-    // The built-in SAML functionality will do most of the basic non-crypto checks.
-    // Note that if the response only contains a status error, it gets tossed out
-    // as an exception.
-    SAMLBrowserProfile::BrowserProfileResponse bpr=m_profile->receive(samlResponse, recipient, replayCache, minorVersion);
-    
-    try {
-        postprocess(bpr,minorVersion);
-        return bpr;
-    }
-    catch (...) {
-        bpr.clear();
-        throw;
-    }
-}
-
-SAMLBrowserProfile::BrowserProfileResponse ShibBrowserProfile::receive(
-    Iterator<const char*> artifacts,
-    const XMLCh* recipient,
-    SAMLBrowserProfile::ArtifactMapper* artifactMapper,
-    IReplayCache* replayCache,
-    int minorVersion
-    ) const
-{
-    // The built-in SAML functionality will do most of the basic non-crypto checks.
-    // Note that if the response only contains a status error, it gets tossed out
-    // as an exception.
-    SAMLBrowserProfile::BrowserProfileResponse bpr=m_profile->receive(artifacts, recipient, artifactMapper, replayCache, minorVersion);
-    
-    try {
-        postprocess(bpr,minorVersion);
-        return bpr;
-    }
-    catch (...) {
-        bpr.clear();
-        throw;
-    }
-}
-
-void ShibBrowserProfile::postprocess(SAMLBrowserProfile::BrowserProfileResponse& bpr, int minorVersion) const
-{
-#ifdef _DEBUG
-    xmltooling::NDC("postprocess");
-#endif
-    Category& log=Category::getInstance(SHIB_LOGCAT".ShibBrowserProfile");
-
-    if (!m_metadata)
-        throw MetadataException("No metadata found, unable to process assertion.");
-
-    // Try and locate metadata for the IdP. We try Issuer first.
-    log.debug("searching metadata for assertion issuer...");
-    xmltooling::Locker locker(m_metadata);
-    const EntityDescriptor* provider=m_metadata->getEntityDescriptor(bpr.assertion->getIssuer());
-    if (provider)
-        log.debug("matched assertion issuer against metadata");
-    else if (bpr.authnStatement->getSubject()->getNameIdentifier() &&
-             bpr.authnStatement->getSubject()->getNameIdentifier()->getNameQualifier()) {
-        // Might be a down-level origin.
-        provider=m_metadata->getEntityDescriptor(bpr.authnStatement->getSubject()->getNameIdentifier()->getNameQualifier());
-        if (provider)
-            log.debug("matched subject name qualifier against metadata");
-    }
-
-    // No metadata at all.
-    if (!provider) {
-        xmltooling::auto_ptr_char issuer(bpr.assertion->getIssuer());
-        xmltooling::auto_ptr_char nq(bpr.authnStatement->getSubject()->getNameIdentifier()->getNameQualifier());
-        log.error("assertion issuer not found in metadata (Issuer='%s', NameQualifier='%s')",
-            issuer.get(), (nq.get() ? nq.get() : "none"));
-        
-        // Try a non-strict lookup for more contact info.
-        const EntityDescriptor* provider=m_metadata->getEntityDescriptor(bpr.assertion->getIssuer(),false);
-        if (provider) {
-               log.debug("found invalid metadata for assertion issuer, using for contact info");
-            MetadataException ex("metadata lookup failed, unable to process assertion");
-            annotateException(&ex,provider);  // throws it
-        }
-        throw MetadataException("Metadata lookup failed, unable to process assertion",xmltooling::namedparams(1,"issuer",issuer.get()));
-    }
-
-    // Is this provider an IdP?
-    const IDPSSODescriptor* role=provider->getIDPSSODescriptor(
-        minorVersion==1 ? samlconstants::SAML11_PROTOCOL_ENUM : samlconstants::SAML10_PROTOCOL_ENUM
-        );
-    if (!role) {
-        xmltooling::auto_ptr_char issuer(bpr.assertion->getIssuer());
-        xmltooling::auto_ptr_char nq(bpr.authnStatement->getSubject()->getNameIdentifier()->getNameQualifier());
-        log.error("metadata for assertion issuer indicates no SAML 1.%d identity provider role (Issuer='%s', NameQualifier='%s'",
-            minorVersion, issuer.get(), (nq.get() ? nq.get() : "none"));
-        MetadataException ex("Metadata lookup failed, issuer not registered as SAML 1.x identity provider");
-        annotateException(&ex,provider); // throws it
-    }
-
-    // Use this role to evaluate the signature(s). If the response is unsigned, we know
-    // it was an artifact profile run.
-    if (bpr.response->isSigned()) {
-        log.debug("passing signed response to trust layer");
-        if (!m_trust) {
-            XMLSecurityException ex("No trust provider, unable to verify signed profile response.");
-            annotateException(&ex,role); // throws it
-        }
-        
-        // This will all change, but for fun, we'll port the object from OS1->OS2 for validation.
-        stringstream s;
-        s << *bpr.response;
-        DOMDocument* doc = XMLToolingConfig::getConfig().getValidatingParser().parse(s);
-        XercesJanitor<DOMDocument> jdoc(doc);
-        auto_ptr<Response> os2resp(ResponseBuilder::buildResponse());
-        os2resp->unmarshall(doc->getDocumentElement(),true);
-        jdoc.release();
-
-        if (!m_trust->validate(*(os2resp->getSignature()),*role,m_metadata->getKeyResolver())) {
-            log.error("unable to verify signed profile response");
-            XMLSecurityException ex("Unable to verify signed profile response.");
-            annotateException(&ex,role); // throws it
-        }
-    }
-
-    time_t now=time(NULL);
-    Iterator<SAMLAssertion*> assertions=bpr.response->getAssertions();
-    for (unsigned int a=0; a<assertions.size();) {
-        // Discard any assertions not issued by the same entity that issued the authn.
-        if (bpr.assertion!=assertions[a] && XMLString::compareString(bpr.assertion->getIssuer(),assertions[a]->getIssuer())) {
-            xmltooling::auto_ptr_char bad(assertions[a]->getIssuer());
-            log.warn("discarding assertion not issued by authenticating IdP, instead by (%s)",bad.get());
-            bpr.response->removeAssertion(a);
-            continue;
-        }
-
-        // Validate the token.
-        try {
-            m_validator->validateToken(assertions[a],now,role,m_trust);
-            a++;
-        }
-        catch (SAMLException&) {
-            if (assertions[a]==bpr.assertion) {
-                // If the authn token fails, we have to fail the whole profile run.
-                log.error("authentication assertion failed to validate");
-                //annotateException(&e,role,false);
-                throw;
-            }
-            log.warn("token failed to validate, removing it from response");
-            bpr.response->removeAssertion(a);
-        }
-    }
-}
diff --git a/shib/ShibConfig.cpp b/shib/ShibConfig.cpp
deleted file mode 100644 (file)
index 6158f52..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* ShibConfig.cpp - Shibboleth runtime configuration
-
-   Scott Cantor
-   6/4/02
-
-   $History:$
-*/
-
-#define SHIB_INSTANTIATE
-#include "internal.h"
-
-#include <ctime>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <openssl/err.h>
-#include <xmltooling/util/Threads.h>
-
-using namespace saml;
-using namespace shibboleth;
-using namespace xmltooling;
-using namespace log4cpp;
-using namespace std;
-
-
-namespace {
-    ShibConfig g_config;
-    vector<Mutex*> g_openssl_locks;
-#ifdef HAVE_GOOD_STL
-    map<xmltooling::xstring,const IAttributeFactory*> attrMap;
-#else
-    map<XMLCh*,const IAttributeFactory*> attrMap;
-#endif
-}
-
-extern "C" SAMLAttribute* ShibAttributeFactory(DOMElement* e)
-{
-    // First check for an explicit factory.
-#ifdef HAVE_GOOD_STL
-    map<xmltooling::xstring,const IAttributeFactory*>::const_iterator i=attrMap.find(e->getAttributeNS(NULL,L(AttributeName)));
-#else
-    const XMLCh* aname=e->getAttributeNS(NULL,L(AttributeName));
-    map<XMLCh*,const IAttributeFactory*>::const_iterator i;
-    for (i=attrMap.begin(); i!=attrMap.end(); i++)
-        if (!XMLString::compareString(aname,i->first))
-            break;
-#endif
-    if (i!=attrMap.end())
-        return i->second->build(e);
-
-    // Now check for a Scope attribute to ensure proper value handling whenever possible.
-    DOMElement* n=saml::XML::getFirstChildElement(e,saml::XML::SAML_NS,L(AttributeValue));
-    if (n && n->hasAttributeNS(NULL,ScopedAttribute::Scope))
-        return new ScopedAttribute(e);
-        
-    // Just use the default class.
-    return new SAMLAttribute(e);
-}
-
-void ShibConfig::regAttributeMapping(const XMLCh* name, const IAttributeFactory* factory)
-{
-    if (name && factory) {
-#ifdef HAVE_GOOD_STL
-        attrMap[name]=factory;
-#else
-        attrMap.insert(make_pair(XMLString::replicate(name),factory));
-#endif
-    }
-}
-
-void ShibConfig::unregAttributeMapping(const XMLCh* name)
-{
-    if (name) {
-#ifdef HAVE_GOOD_STL
-        attrMap.erase(name);
-#else
-        for (map<XMLCh*,const IAttributeFactory*>::iterator i=attrMap.begin(); i!=attrMap.end(); i++) {
-            if (!XMLString::compareString(name,i->first)) {
-                XMLCh* temp=i->first;
-                XMLString::release(&temp);
-                attrMap.erase(i);
-                break;
-            }
-        }
-#endif
-    }
-}
-
-void ShibConfig::clearAttributeMappings()
-{
-#ifndef HAVE_GOOD_STL
-    for (map<XMLCh*,const IAttributeFactory*>::iterator i=attrMap.begin(); i!=attrMap.end(); i++) {
-        XMLCh* temp=i->first;
-        XMLString::release(&temp);
-    }
-#endif
-    attrMap.clear();
-}
-
-extern "C" void openssl_locking_callback(int mode,int n,const char *file,int line)
-{
-    if (mode & CRYPTO_LOCK)
-        g_openssl_locks[n]->lock();
-    else
-        g_openssl_locks[n]->unlock();
-}
-
-#ifndef WIN32
-extern "C" unsigned long openssl_thread_id(void)
-{
-    return (unsigned long)(pthread_self());
-}
-#endif
-
-bool ShibConfig::init()
-{
-    // Set up OpenSSL locking.
-       for (int i=0; i<CRYPTO_num_locks(); i++)
-        g_openssl_locks.push_back(Mutex::create());
-       CRYPTO_set_locking_callback(openssl_locking_callback);
-#ifndef WIN32
-    CRYPTO_set_id_callback(openssl_thread_id);
-#endif
-
-    SAMLAttribute::setFactory(&ShibAttributeFactory);
-    return true;
-}
-
-void ShibConfig::term()
-{
-    SAMLAttribute::setFactory(NULL);
-    clearAttributeMappings();
-   
-    CRYPTO_set_locking_callback(NULL);
-    for (vector<Mutex*>::iterator j=g_openssl_locks.begin(); j!=g_openssl_locks.end(); j++)
-        delete (*j);
-    g_openssl_locks.clear();
-}
-
-ShibConfig& ShibConfig::getConfig()
-{
-    return g_config;
-}
diff --git a/shib/internal.h b/shib/internal.h
deleted file mode 100644 (file)
index f184585..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* internal.h - internally visible classes
-
-   Scott Cantor
-   9/6/02
-
-   $History:$
-*/
-
-#ifndef __shib_internal_h__
-#define __shib_internal_h__
-
-#ifdef WIN32
-# define _CRT_NONSTDC_NO_DEPRECATE 1
-# define _CRT_SECURE_NO_DEPRECATE 1
-# define SHIB_EXPORTS __declspec(dllexport)
-#endif
-
-// eventually we might be able to support autoconf via cygwin...
-#if defined (_MSC_VER) || defined(__BORLANDC__)
-# include "config_win32.h"
-#else
-# include "config.h"
-#endif
-
-#include "shib.h"
-
-#include <log4cpp/Category.hh>
-
-#define SHIB_LOGCAT "Shibboleth"
-
-namespace shibboleth {
-    class ScopedAttribute : public saml::SAMLAttribute
-    {
-    public:
-        ScopedAttribute(
-            const XMLCh* name=NULL,
-            const XMLCh* ns=NULL,
-            const saml::QName* type=NULL,
-            long lifetime=0,
-            const saml::Iterator<const XMLCh*>& scopes=EMPTY(const XMLCh*),
-            const saml::Iterator<const XMLCh*>& values=EMPTY(const XMLCh*)
-            );
-        ScopedAttribute(DOMElement* e);
-        ScopedAttribute(std::istream& in);
-        ~ScopedAttribute();
-    
-        saml::SAMLObject* clone() const;
-        
-        saml::Iterator<const XMLCh*> getValues() const;
-        saml::Iterator<std::string> getSingleByteValues() const;
-        void setValues(const saml::Iterator<const XMLCh*>& values=EMPTY(const XMLCh*));
-        void addValue(const XMLCh* value);
-        void removeValue(unsigned long index);
-        
-        static const XMLCh Scope[];
-    protected:
-        void valueToDOM(unsigned int index, DOMElement* e) const;
-        void valueFromDOM(DOMElement* e);
-        void ownStrings();
-        
-        std::vector<const XMLCh*> m_scopes;
-        mutable std::vector<const XMLCh*> m_scopedValues;
-    };
-}
-
-#endif
diff --git a/shib/resource.h b/shib/resource.h
deleted file mode 100644 (file)
index 8223709..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by shib.rc
-//
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        101
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1000
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/shib/shib.dsp b/shib/shib.dsp
deleted file mode 100644 (file)
index 37723a2..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-# Microsoft Developer Studio Project File - Name="shib" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=shib - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "shib.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "shib.mak" CFG="shib - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "shib - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "shib - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "shib - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SHIB_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I ".." /I "." /I "..\..\..\opensaml\c" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 libeay32.lib ssleay32.lib log4cpp.lib xerces-c_2.lib xsec_1_2.lib saml_5.lib /nologo /dll /machine:I386 /out:"Release/shib_6.dll" /libpath:"..\..\..\opensaml\c\saml\Release" /libpath:"\openssl-0.9.7e\out32dll"
-
-!ELSEIF  "$(CFG)" == "shib - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SHIB_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I ".." /I "." /I "..\..\..\opensaml\c" /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /D "_MBCS" /FR /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 libeay32.lib ssleay32.lib log4cppD.lib xerces-c_2D.lib xsec_1_2D.lib saml_5D.lib /nologo /dll /debug /machine:I386 /out:"Debug/shib_6D.dll" /pdbtype:sept /libpath:"..\..\..\opensaml\c\saml\Debug" /libpath:"\openssl-0.9.7e\out32dll.dbg"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "shib - Win32 Release"
-# Name "shib - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\BasicTrust.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\config_win32.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Constants.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\hresult.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\internal.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Metadata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ReloadableXMLFile.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ScopedAttribute.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=".\shib-threads-win32.cpp"
-# End Source File
-# Begin Source File
-
-SOURCE=".\shib-threads.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\shib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\shib.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\ShibbolethTrust.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ShibBrowserProfile.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ShibConfig.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/shib/shib.h b/shib/shib.h
deleted file mode 100644 (file)
index cdcfeb4..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* shib.h - Shibboleth header file
-
-   Scott Cantor
-   6/4/02
-
-   $History:$
-*/
-
-#ifndef __shib_h__
-#define __shib_h__
-
-#include <saml/saml2/metadata/Metadata.h>
-#include <saml/saml2/metadata/MetadataProvider.h>
-#include <xmltooling/security/TrustEngine.h>
-
-#include <saml/saml.h>
-#undef SAML10_PROTOCOL_ENUM
-
-#ifdef WIN32
-# ifndef SHIB_EXPORTS
-#  define SHIB_EXPORTS __declspec(dllimport)
-# endif
-#else
-# define SHIB_EXPORTS
-#endif
-
-namespace shibboleth
-{
-    struct SHIB_EXPORTS IAttributeFactory : public virtual saml::IPlugIn
-    {
-        virtual saml::SAMLAttribute* build(DOMElement* e) const=0;
-        virtual ~IAttributeFactory() {}
-    };
-
-    // Subclass around the OpenSAML browser profile interface,
-    // incoporates additional functionality using Shib-defined APIs.
-    class SHIB_EXPORTS ShibBrowserProfile : virtual public saml::SAMLBrowserProfile
-    {
-    public:
-        struct SHIB_EXPORTS ITokenValidator {
-            virtual void validateToken(
-                saml::SAMLAssertion* token,
-                time_t=0,
-                const opensaml::saml2md::RoleDescriptor* role=NULL,
-                const xmltooling::TrustEngine* trustEngine=NULL
-                ) const=0;
-            virtual ~ITokenValidator() {}
-        };
-
-        ShibBrowserProfile(
-            const ITokenValidator* validator,
-            opensaml::saml2md::MetadataProvider* metadata=NULL,
-            xmltooling::TrustEngine* trust=NULL
-            );
-        virtual ~ShibBrowserProfile();
-
-        virtual saml::SAMLBrowserProfile::BrowserProfileResponse receive(
-            const char* samlResponse,
-            const XMLCh* recipient,
-            saml::IReplayCache* replayCache,
-            int minorVersion=1
-            ) const;
-        virtual saml::SAMLBrowserProfile::BrowserProfileResponse receive(
-            saml::Iterator<const char*> artifacts,
-            const XMLCh* recipient,
-            saml::SAMLBrowserProfile::ArtifactMapper* artifactMapper,
-            saml::IReplayCache* replayCache,
-            int minorVersion=1
-            ) const;
-
-    private:
-        void postprocess(saml::SAMLBrowserProfile::BrowserProfileResponse& bpr, int minorVersion=1) const;
-
-        saml::SAMLBrowserProfile* m_profile;
-        opensaml::saml2md::MetadataProvider* m_metadata;
-        xmltooling::TrustEngine* m_trust;
-        const ITokenValidator* m_validator;
-    };
-
-    class SHIB_EXPORTS ShibConfig
-    {
-    public:
-        ShibConfig() {}
-        virtual ~ShibConfig() {}
-
-        // global per-process setup and shutdown of Shibboleth runtime
-        virtual bool init();
-        virtual void term();
-
-        // manages specific attribute name to factory mappings
-        void regAttributeMapping(const XMLCh* name, const IAttributeFactory* factory);
-        void unregAttributeMapping(const XMLCh* name);
-        void clearAttributeMappings();
-
-        // enables runtime and clients to access configuration
-        static ShibConfig& getConfig();
-    };
-}
-
-#endif
diff --git a/shib/shib.rc b/shib/shib.rc
deleted file mode 100644 (file)
index 9808c15..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 6,0,0,0
- PRODUCTVERSION 1,3,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "Comments", "\0"
-            VALUE "CompanyName", "Internet2\0"
-            VALUE "FileDescription", "Shibboleth Core\0"
-            VALUE "FileVersion", "6, 0, 0, 0\0"
-#ifdef _DEBUG
-            VALUE "InternalName", "shib_6D\0"
-#else
-            VALUE "InternalName", "shib_6\0"
-#endif
-            VALUE "LegalCopyright", "Copyright © 2005 Internet2\0"
-            VALUE "LegalTrademarks", "\0"
-#ifdef _DEBUG
-            VALUE "OriginalFilename", "shib_6D.dll\0"
-#else
-            VALUE "OriginalFilename", "shib_6.dll\0"
-#endif
-            VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth 1.3\0"
-            VALUE "ProductVersion", "1, 3, 0, 0\0"
-            VALUE "SpecialBuild", "\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/shib/shib.vcproj b/shib/shib.vcproj
deleted file mode 100644 (file)
index 1623821..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8.00"
-       Name="shib"
-       ProjectGUID="{E6CAB6C8-1D73-4410-970A-52BF9EC57810}"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Release/shib.tlb"
-                               HeaderFileName=""
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               AdditionalIncludeDirectories=".;..;&quot;..\..\cpp-opensaml1&quot;;&quot;..\..\cpp-opensaml2&quot;;&quot;..\..\cpp-xmltooling&quot;"
-                               PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"
-                               StringPooling="true"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="true"
-                               RuntimeTypeInfo="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Release/shib.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="libeay32_0_9_8.lib ssleay32_0_9_8.lib log4cpp.lib xerces-c_2.lib xsec_1.lib saml_5.lib saml2.lib xmltooling1.lib"
-                               OutputFile="Release/shib_6.dll"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="true"
-                               AdditionalLibraryDirectories="&quot;..\..\cpp-opensaml1\saml\Release&quot;;&quot;..\..\cpp-opensaml2\Release&quot;;&quot;..\..\cpp-xmltooling\Release&quot;"
-                               ProgramDatabaseFile=".\Release/shib_6.pdb"
-                               ImportLibrary=".\Release/shib_6.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Debug/shib.tlb"
-                               HeaderFileName=""
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories=".;..;&quot;..\..\cpp-opensaml1&quot;;&quot;..\..\cpp-opensaml2&quot;;&quot;..\..\cpp-xmltooling&quot;"
-                               PreprocessorDefinitions="_WINDOWS;WIN32;_DEBUG"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               RuntimeTypeInfo="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Debug/shib.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               BrowseInformation="1"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                               DebugInformationFormat="4"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="libeay32_0_9_8D.lib ssleay32_0_9_8D.lib log4cppD.lib xerces-c_2D.lib xsec_1D.lib saml_5D.lib saml2D.lib xmltooling1D.lib"
-                               OutputFile="Debug/shib_6D.dll"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="true"
-                               AdditionalLibraryDirectories="&quot;..\..\cpp-opensaml1\saml\Debug&quot;;&quot;..\..\cpp-opensaml2\Debug&quot;;&quot;..\..\cpp-xmltooling\Debug&quot;"
-                               GenerateDebugInformation="true"
-                               ImportLibrary=".\Debug/shib_6D.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <File
-                       RelativePath="..\config_win32.h"
-                       >
-               </File>
-               <File
-                       RelativePath="hresult.h"
-                       >
-               </File>
-               <File
-                       RelativePath="internal.h"
-                       >
-               </File>
-               <File
-                       RelativePath="resource.h"
-                       >
-               </File>
-               <File
-                       RelativePath="ScopedAttribute.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath="shib.h"
-                       >
-               </File>
-               <File
-                       RelativePath="shib.rc"
-                       >
-               </File>
-               <File
-                       RelativePath="ShibBrowserProfile.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath="ShibConfig.cpp"
-                       >
-               </File>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/xmlproviders/Makefile.am b/xmlproviders/Makefile.am
deleted file mode 100644 (file)
index d5ec8f2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-## $Id: Makefile.am,v 1.19 2004/01/18 00:16:19 cantor Exp $
-
-AUTOMAKE_OPTIONS = foreign
-
-plugindir = $(libexecdir)
-plugin_LTLIBRARIES = xmlproviders.la
-
-noinst_HEADERS = internal.h
-
-xmlproviders_la_LIBADD = \
-       $(top_builddir)/shib/libshib.la \
-       $(top_builddir)/shib-target/libshib-target.la
-
-xmlproviders_la_SOURCES = \
-       TargetedID.cpp \
-       XMLAAP.cpp \
-       XMLProviders.cpp
-
-
-xmlproviders_la_LDFLAGS = -module -avoid-version
-
-install-exec-hook:
-       for la in $(plugin_LTLIBRARIES) ; do rm -f $(DESTDIR)$(plugindir)/$$la ; done
-
-EXTRA_DIST = xmlproviders.vcproj resource.h xmlproviders.rc
-
diff --git a/xmlproviders/TargetedID.cpp b/xmlproviders/TargetedID.cpp
deleted file mode 100644 (file)
index 533df02..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* TargetedID.cpp - eduPersonTargetedID custom attribute handling
-
-   Scott Cantor
-   4/30/05
-
-   $History:$
-*/
-
-#include "internal.h"
-#include <saml/saml2/core/Assertions.h>
-#include <xercesc/util/Base64.hpp>
-
-using namespace shibboleth;
-using namespace saml;
-using namespace opensaml::saml2;
-using namespace std;
-
-namespace {
-    class TargetedID : public SAMLAttribute
-    {
-    public:
-        TargetedID(
-            const XMLCh* name=NULL,
-            const XMLCh* ns=NULL,
-            const saml::QName* type=NULL,
-            long lifetime=0,
-            const Iterator<const XMLCh*>& values=EMPTY(const XMLCh*),
-            const Iterator<const XMLCh*>& nameQualifiers=EMPTY(const XMLCh*),
-            const Iterator<const XMLCh*>& spNameQualifiers=EMPTY(const XMLCh*)
-            );
-        TargetedID(DOMElement* e);
-        TargetedID(istream& in);
-        ~TargetedID();
-    
-        saml::SAMLObject* clone() const;
-        
-        saml::Iterator<const XMLCh*> getValues() const;
-        saml::Iterator<std::string> getSingleByteValues() const;
-
-        void setValues(const saml::Iterator<const XMLCh*>& values=EMPTY(const XMLCh*)) {
-            throw SAMLException("unsupported operation");
-        }
-        void addValue(const XMLCh* value) {
-            throw SAMLException("unsupported operation");
-        }
-        void removeValue(unsigned long index);
-        
-        static const XMLCh NameID[];
-        static const XMLCh SPNameQualifier[];
-        static const XMLCh FORMAT_PERSISTENT[];
-    protected:
-        void valueToDOM(unsigned int index, DOMElement* e) const;
-        void valueFromDOM(DOMElement* e);
-        void ownStrings();
-    
-    private:
-        vector<const XMLCh*> m_nameQualifiers;
-        vector<const XMLCh*> m_spNameQualifiers;
-        mutable vector<const XMLCh*> m_encodedValues;
-    };
-
-    struct TargetedIDBuilder : public virtual IAttributeFactory
-    {
-        TargetedIDBuilder(const DOMElement* e) {}
-        SAMLAttribute* build(DOMElement* e) const {
-            return new TargetedID(e);
-        }
-    };
-}
-
-IPlugIn* TargetedIDFactory(const DOMElement* e)
-{
-    return new TargetedIDBuilder(e);
-}
-
-TargetedID::TargetedID(
-    const XMLCh* name,
-    const XMLCh* ns,
-    const saml::QName* type,
-    long lifetime,
-    const Iterator<const XMLCh*>& values,
-    const Iterator<const XMLCh*>& nameQualifiers,
-    const Iterator<const XMLCh*>& spNameQualifiers
-    ) : SAMLAttribute(name,ns,NULL,lifetime,values)
-{
-    RTTI(TargetedID);
-    if (values.size()!=nameQualifiers.size() || values.size()!=spNameQualifiers.size())
-        throw MalformedException("TargetedID() requires the number of qualifiers to equal the number of values");
-
-    while (nameQualifiers.hasNext())
-        m_nameQualifiers.push_back(saml::XML::assign(nameQualifiers.next()));
-    while (spNameQualifiers.hasNext())
-        m_spNameQualifiers.push_back(saml::XML::assign(spNameQualifiers.next()));
-}
-
-TargetedID::TargetedID(DOMElement* e) : SAMLAttribute(e,false)
-{
-    RTTI(TargetedID);
-    fromDOM(e);
-}
-
-TargetedID::TargetedID(istream& in) : SAMLAttribute(in,false)
-{
-    RTTI(TargetedID);
-    fromDOM(m_document->getDocumentElement());
-}
-
-TargetedID::~TargetedID()
-{
-    if (m_bOwnStrings) {
-        for (vector<const XMLCh*>::iterator i=m_nameQualifiers.begin(); i!=m_nameQualifiers.end(); i++) {
-            XMLCh* p = const_cast<XMLCh*>(*i);
-            XMLString::release(&p);
-        }
-        for (vector<const XMLCh*>::iterator j=m_spNameQualifiers.begin(); j!=m_spNameQualifiers.end(); j++) {
-            XMLCh* p = const_cast<XMLCh*>(*j);
-            XMLString::release(&p);
-        }
-    }
-
-    // We always own any encoded values we've built.
-    for (vector<const XMLCh*>::iterator i=m_encodedValues.begin(); i!=m_encodedValues.end(); i++) {
-        XMLCh* p = const_cast<XMLCh*>(*i);
-        XMLString::release(&p);
-    }
-}
-
-void TargetedID::ownStrings()
-{
-    if (!m_bOwnStrings) {
-        for (vector<const XMLCh*>::iterator i=m_nameQualifiers.begin(); i!=m_nameQualifiers.end(); i++)
-            (*i)=saml::XML::assign(*i);
-        for (vector<const XMLCh*>::iterator j=m_spNameQualifiers.begin(); j!=m_spNameQualifiers.end(); j++)
-            (*j)=saml::XML::assign(*j);
-        SAMLAttribute::ownStrings();
-    }
-}
-
-Iterator<const XMLCh*> TargetedID::getValues() const
-{
-    if (m_encodedValues.empty()) {
-        getSingleByteValues();
-        for (vector<string>::const_iterator i=m_sbValues.begin(); i!=m_sbValues.end(); i++)
-            m_encodedValues.push_back(XMLString::transcode(i->c_str()));
-    }
-    return m_encodedValues;
-}
-
-Iterator<string> TargetedID::getSingleByteValues() const
-{
-    if (m_sbValues.empty()) {
-        for (unsigned long i=0; i<m_values.size(); i++) {
-            auto_ptr_char a(m_nameQualifiers[i]);
-            auto_ptr_char b(m_spNameQualifiers[i]);
-            auto_ptr_char c(m_values[i]);
-            if (a.get() && *(a.get()) && b.get() && *(b.get()) && c.get() && *(c.get())) {
-                string cat(a.get()); cat+="!"; cat+=b.get(); cat+="!"; cat+=c.get();
-                m_sbValues.push_back(cat);
-            }
-            else
-                m_sbValues.push_back("");
-        }
-    }
-    return m_sbValues;
-}
-
-void TargetedID::removeValue(unsigned long index)
-{
-    if (m_bOwnStrings) {
-        XMLCh* p=const_cast<XMLCh*>(m_nameQualifiers[index]);
-        XMLString::release(&p);
-        p=const_cast<XMLCh*>(m_spNameQualifiers[index]);
-        XMLString::release(&p);
-    }
-    m_nameQualifiers.erase(m_nameQualifiers.begin()+index);
-    m_spNameQualifiers.erase(m_spNameQualifiers.begin()+index);
-
-    if (!m_encodedValues.empty()) {
-        XMLCh* p=const_cast<XMLCh*>(m_encodedValues[index]);
-        XMLString::release(&p);
-        m_encodedValues.erase(m_encodedValues.begin()+index);
-    }
-    
-    SAMLAttribute::removeValue(index);
-}
-
-void TargetedID::valueFromDOM(DOMElement* e)
-{
-    // Look for a SAML2 NameID.
-    e=saml::XML::getFirstChildElement(e,samlconstants::SAML20_NS,NameID::LOCAL_NAME);
-    if (e && !XMLString::compareString(NameIDType::PERSISTENT,e->getAttributeNS(NULL,NameIDType::FORMAT_ATTRIB_NAME))) {
-        m_nameQualifiers.push_back(e->getAttributeNS(NULL,NameIDType::NAMEQUALIFIER_ATTRIB_NAME));
-        m_spNameQualifiers.push_back(e->getAttributeNS(NULL,NameIDType::SPNAMEQUALIFIER_ATTRIB_NAME));
-        if (e->hasChildNodes() && e->getFirstChild()->getNodeType()==DOMNode::TEXT_NODE)
-            m_values.push_back(e->getFirstChild()->getNodeValue());
-        else
-            m_values.push_back(&chNull);
-        return;
-    }
-
-    // Insert a null value placeholder.
-    m_nameQualifiers.push_back(&chNull);    
-    m_spNameQualifiers.push_back(&chNull);    
-    m_values.push_back(&chNull);
-}
-
-void TargetedID::valueToDOM(unsigned int index, DOMElement* e) const
-{
-    const XMLCh* nq=m_nameQualifiers[index];
-    const XMLCh* spnq=m_spNameQualifiers[index];
-    const XMLCh* val=m_values[index];
-    if (!saml::XML::isEmpty(nq) && !saml::XML::isEmpty(spnq) && !saml::XML::isEmpty(val)) {
-        // Build a SAML2 NameID.
-        DOMElement* nameid=e->getOwnerDocument()->createElementNS(samlconstants::SAML20_NS,NameID::LOCAL_NAME);
-        nameid->setAttributeNS(NULL,NameIDType::FORMAT_ATTRIB_NAME,NameIDType::PERSISTENT);    
-        nameid->setAttributeNS(NULL,NameIDType::NAMEQUALIFIER_ATTRIB_NAME,nq);
-        nameid->setAttributeNS(NULL,NameIDType::SPNAMEQUALIFIER_ATTRIB_NAME,spnq);
-        nameid->appendChild(e->getOwnerDocument()->createTextNode(val));
-        e->appendChild(nameid);
-    }
-}
-
-SAMLObject* TargetedID::clone() const
-{
-    return new TargetedID(m_name,m_namespace,m_type,m_lifetime,m_values,m_nameQualifiers,m_spNameQualifiers);
-}
diff --git a/xmlproviders/XMLAAP.cpp b/xmlproviders/XMLAAP.cpp
deleted file mode 100644 (file)
index eb60b9a..0000000
+++ /dev/null
@@ -1,654 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* XMLAAP.cpp - XML AAP implementation
-
-   Scott Cantor
-   12/21/02
-
-   $History:$
-*/
-
-#include "internal.h"
-#include <algorithm>
-#include <log4cpp/Category.hh>
-#include <shibsp/metadata/MetadataExt.h>
-#include <shibsp/util/SPConstants.h>
-#include <xmltooling/util/ReloadableXMLFile.h>
-#include <xmltooling/util/XMLHelper.h>
-
-using namespace shibsp;
-using namespace shibboleth;
-using namespace saml;
-using namespace opensaml::saml2md;
-using namespace xmltooling;
-using namespace log4cpp;
-using namespace std;
-
-#include <xercesc/util/regx/RegularExpression.hpp>
-
-namespace {
-
-    class XMLAAPImpl
-    {
-    public:
-        XMLAAPImpl(const DOMElement* e);
-        ~XMLAAPImpl();
-
-        void setDocument(DOMDocument* doc) {
-            m_document = doc;
-        }
-    
-        class AttributeRule : public IAttributeRule
-        {
-        public:
-            AttributeRule(const DOMElement* e);
-            ~AttributeRule() {}
-            
-            const XMLCh* getName() const { return m_name; }
-            const XMLCh* getNamespace() const { return m_namespace; }
-            const char* getAlias() const { return m_alias.get(); }
-            const char* getHeader() const { return m_header.get(); }
-            bool getCaseSensitive() const { return m_caseSensitive; }
-            bool getScoped() const { return m_scoped; }
-            void apply(SAMLAttribute& attribute, const RoleDescriptor* role=NULL) const;
-    
-            enum value_type { literal, regexp, xpath };
-        private:    
-            const XMLCh* m_name;
-            const XMLCh* m_namespace;
-            xmltooling::auto_ptr_char m_alias;
-            xmltooling::auto_ptr_char m_header;
-            bool m_caseSensitive;
-            bool m_scoped;
-
-            struct SiteRule
-            {
-                SiteRule() : anyValue(false) {}
-                bool anyValue;
-                vector<pair<value_type,const XMLCh*> > valueDenials;
-                vector<pair<value_type,const XMLCh*> > valueAccepts;
-                vector<pair<value_type,const XMLCh*> > scopeDenials;
-                vector<pair<value_type,const XMLCh*> > scopeAccepts;
-            };
-            
-            value_type toValueType(const DOMElement* e);
-            bool scopeCheck(
-                const DOMElement* e,
-                const RoleDescriptor* role,
-                const vector<const SiteRule*>& ruleStack
-                ) const;
-            bool accept(const DOMElement* e, const RoleDescriptor* role=NULL) const;
-            
-            SiteRule m_anySiteRule;
-    #ifdef HAVE_GOOD_STL
-            typedef map<xmltooling::xstring,SiteRule> sitemap_t;
-    #else
-            typedef map<string,SiteRule> sitemap_t;
-    #endif
-            sitemap_t m_siteMap;
-        };
-    
-        DOMDocument* m_document;
-        bool anyAttribute;
-        vector<const IAttributeRule*> m_attrs;
-        map<string,const IAttributeRule*> m_aliasMap;
-    #ifdef HAVE_GOOD_STL
-        typedef map<xmltooling::xstring,AttributeRule*> attrmap_t;
-    #else
-        typedef map<string,AttributeRule*> attrmap_t;
-    #endif
-        attrmap_t m_attrMap;
-    };
-
-#if defined (_MSC_VER)
-    #pragma warning( push )
-    #pragma warning( disable : 4250 )
-#endif
-
-    class XMLAAP : public IAAP, public ReloadableXMLFile
-    {
-    public:
-        XMLAAP(const DOMElement* e) : ReloadableXMLFile(e), m_impl(NULL) {
-            load();
-        }
-        ~XMLAAP() {
-            delete m_impl;
-        }
-        
-        bool anyAttribute() const {return m_impl->anyAttribute;}
-        const IAttributeRule* lookup(const XMLCh* attrName, const XMLCh* attrNamespace=NULL) const;
-        const IAttributeRule* lookup(const char* alias) const;
-        Iterator<const IAttributeRule*> getAttributeRules() const;
-
-    protected:
-        pair<bool,DOMElement*> load();
-        XMLAAPImpl* m_impl;
-    };
-
-#if defined (_MSC_VER)
-    #pragma warning( pop )
-#endif
-
-    static const XMLCh Accept[]=        UNICODE_LITERAL_6(A,c,c,e,p,t);
-    static const XMLCh Alias[]=         UNICODE_LITERAL_5(A,l,i,a,s);
-    static const XMLCh AnyAttribute[]=  UNICODE_LITERAL_12(A,n,y,A,t,t,r,i,b,u,t,e);
-    static const XMLCh AnySite[]=       UNICODE_LITERAL_7(A,n,y,S,i,t,e);
-    static const XMLCh AnyValue[]=      UNICODE_LITERAL_8(A,n,y,V,a,l,u,e);
-    static const XMLCh _AttributeRule[]=UNICODE_LITERAL_13(A,t,t,r,i,b,u,t,e,R,u,l,e);
-    static const XMLCh CaseSensitive[]= UNICODE_LITERAL_13(C,a,s,e,S,e,n,s,i,t,i,v,e);
-    static const XMLCh Header[]=        UNICODE_LITERAL_6(H,e,a,d,e,r);
-    static const XMLCh Name[]=          UNICODE_LITERAL_4(N,a,m,e);
-    static const XMLCh Namespace[]=     UNICODE_LITERAL_9(N,a,m,e,s,p,a,c,e);
-    static const XMLCh Scoped[]=        UNICODE_LITERAL_6(S,c,o,p,e,d);
-    static const XMLCh _SiteRule[]=     UNICODE_LITERAL_8(S,i,t,e,R,u,l,e);
-    static const XMLCh Type[]=          UNICODE_LITERAL_4(T,y,p,e);
-    static const XMLCh Value[]=         UNICODE_LITERAL_5(V,a,l,u,e);
-
-    static const XMLCh _literal[]=      UNICODE_LITERAL_7(l,i,t,e,r,a,l);
-    static const XMLCh _regexp[]=       UNICODE_LITERAL_6(r,e,g,e,x,p);
-    static const XMLCh _xpath[]=        UNICODE_LITERAL_5(x,p,a,t,h);
-}
-
-IPlugIn* XMLAAPFactory(const DOMElement* e)
-{
-    return new XMLAAP(e);
-}
-
-pair<bool,DOMElement*> XMLAAP::load()
-{
-    // Load from source using base class.
-    pair<bool,DOMElement*> raw = ReloadableXMLFile::load();
-    
-    // If we own it, wrap it.
-    XercesJanitor<DOMDocument> docjanitor(raw.first ? raw.second->getOwnerDocument() : NULL);
-
-    XMLAAPImpl* impl = new XMLAAPImpl(raw.second);
-    
-    // If we held the document, transfer it to the impl. If we didn't, it's a no-op.
-    impl->setDocument(docjanitor.release());
-
-    delete m_impl;
-    m_impl = impl;
-
-    return make_pair(false,(DOMElement*)NULL);
-}
-
-XMLAAPImpl::XMLAAPImpl(const DOMElement* e) : anyAttribute(false), m_document(NULL)
-{
-#ifdef _DEBUG
-    xmltooling::NDC ndc("XMLAAPImpl");
-#endif
-    Category& log=Category::getInstance(XMLPROVIDERS_LOGCAT".AAP");
-
-    try {
-        // Check for AnyAttribute element.
-        if (XMLHelper::getFirstChildElement(e,AnyAttribute)) {
-            anyAttribute = true;
-            log.warn("<AnyAttribute> found, will short-circuit all attribute value and scope filtering");
-        }
-
-        // Loop over the AttributeRule elements.
-        e = XMLHelper::getFirstChildElement(e, _AttributeRule); 
-        while (e) {
-            AttributeRule* rule=new AttributeRule(e);
-#ifdef HAVE_GOOD_STL
-            xmltooling::xstring key=rule->getName();
-            key=key + chBang + chBang + (rule->getNamespace() ? rule->getNamespace() : shibspconstants::SHIB1_ATTRIBUTE_NAMESPACE_URI);
-#else
-            xmltooling::auto_ptr_char aname(rule->getName());
-            string key(aname.get());
-            key+="!!";
-            if (rule->getNamespace()) {
-                xmltooling::auto_ptr_char ans(rule->getNamespace());
-                key+=ans.get();
-            }
-            else {
-                key+="urn:mace:shibboleth:1.0:attributeNamespace:uri";
-            }
-#endif
-            m_attrMap[key]=rule;
-            m_attrs.push_back(rule);
-            if (rule->getAlias()) {
-                // user can only apply to REMOTE_USER
-                if (!strcmp(rule->getAlias(),"user")) {
-                    if (strcmp(rule->getHeader(),"REMOTE_USER"))
-                        log.error("<AttributeRule> cannot specify Alias of 'user', please use alternate value");
-                    else {
-                        m_aliasMap[rule->getAlias()]=rule;
-                    }
-                }
-                else {
-                    m_aliasMap[rule->getAlias()]=rule;
-                }
-            }
-            
-            e = XMLHelper::getNextSiblingElement(e, _AttributeRule);
-        }
-    }
-    catch (exception&) {
-#ifdef HAVE_GOOD_STL
-        for_each(m_attrMap.begin(),m_attrMap.end(),xmltooling::cleanup_pair<xmltooling::xstring,AttributeRule>());
-#else
-        for_each(m_attrMap.begin(),m_attrMap.end(),xmltooling::cleanup_pair<string,AttributeRule>());
-#endif
-        throw;
-    }
-}
-
-XMLAAPImpl::~XMLAAPImpl()
-{
-#ifdef HAVE_GOOD_STL
-    for_each(m_attrMap.begin(),m_attrMap.end(),xmltooling::cleanup_pair<xmltooling::xstring,AttributeRule>());
-#else
-    for_each(m_attrMap.begin(),m_attrMap.end(),xmltooling::cleanup_pair<string,AttributeRule>());
-#endif
-    if (m_document)
-        m_document->release();
-}
-
-XMLAAPImpl::AttributeRule::AttributeRule(const DOMElement* e) :
-    m_alias(e->hasAttributeNS(NULL,Alias) ? e->getAttributeNS(NULL,Alias) : NULL),
-    m_header(e->hasAttributeNS(NULL,Header) ? e->getAttributeNS(NULL,Header) : NULL),
-    m_scoped(false)
-    
-{
-    m_name=e->getAttributeNS(NULL,Name);
-    m_namespace=e->getAttributeNS(NULL,Namespace);
-    if (!m_namespace || !*m_namespace)
-        m_namespace=shibspconstants::SHIB1_ATTRIBUTE_NAMESPACE_URI;
-    
-    const XMLCh* caseSensitive=e->getAttributeNS(NULL,CaseSensitive);
-    m_caseSensitive=(!caseSensitive || !*caseSensitive || *caseSensitive==chDigit_1 || *caseSensitive==chLatin_t);
-    
-    const XMLCh* scoped=e->getAttributeNS(NULL,Scoped);
-    m_scoped=(scoped && (*scoped==chDigit_1 || *scoped==chLatin_t));
-    
-    // Check for an AnySite rule.
-    const DOMElement* anysite = XMLHelper::getFirstChildElement(e);
-    if (anysite && XMLString::equals(anysite->getLocalName(),AnySite)) {
-        // Process Scope elements.
-        const DOMElement* se = XMLHelper::getFirstChildElement(anysite,Scope::LOCAL_NAME);
-        while (se) {
-            m_scoped=true;
-            DOMNode* valnode=se->getFirstChild();
-            if (valnode && valnode->getNodeType()==DOMNode::TEXT_NODE) {
-                const XMLCh* accept=se->getAttributeNS(NULL,Accept);
-                if (!accept || !*accept || *accept==chDigit_1 || *accept==chLatin_t)
-                    m_anySiteRule.scopeAccepts.push_back(pair<value_type,const XMLCh*>(toValueType(se),valnode->getNodeValue()));
-                else
-                    m_anySiteRule.scopeDenials.push_back(pair<value_type,const XMLCh*>(toValueType(se),valnode->getNodeValue()));
-            }
-            
-            se = XMLHelper::getNextSiblingElement(se,Scope::LOCAL_NAME);
-        }
-
-        // Check for an AnyValue rule.
-        if (XMLHelper::getFirstChildElement(anysite,AnyValue)) {
-            m_anySiteRule.anyValue=true;
-        }
-        else {
-            // Process each Value element.
-            const DOMElement* ve = XMLHelper::getFirstChildElement(anysite,Value);
-            while (ve) {
-                DOMNode* valnode=ve->getFirstChild();
-                if (valnode && valnode->getNodeType()==DOMNode::TEXT_NODE) {
-                    const XMLCh* accept=ve->getAttributeNS(NULL,Accept);
-                    if (!accept || !*accept || *accept==chDigit_1 || *accept==chLatin_t)
-                        m_anySiteRule.valueAccepts.push_back(pair<value_type,const XMLCh*>(toValueType(ve),valnode->getNodeValue()));
-                    else
-                        m_anySiteRule.valueDenials.push_back(pair<value_type,const XMLCh*>(toValueType(ve),valnode->getNodeValue()));
-                }
-                
-                ve = XMLHelper::getNextSiblingElement(ve,Value);
-            }
-        }
-    }
-
-    // Loop over the SiteRule elements.
-    const DOMElement* sr = XMLHelper::getFirstChildElement(e,_SiteRule);
-    while (sr) {
-        const XMLCh* srulename=sr->getAttributeNS(NULL,Name);
-#ifdef HAVE_GOOD_STL
-        m_siteMap[srulename]=SiteRule();
-        SiteRule& srule=m_siteMap[srulename];
-#else
-        xmltooling::auto_ptr_char srulename2(srulename);
-        m_siteMap[srulename2.get()]=SiteRule();
-        SiteRule& srule=m_siteMap[srulename2.get()];
-#endif
-
-        // Process Scope elements.
-        const DOMElement* se = XMLHelper::getFirstChildElement(sr,Scope::LOCAL_NAME);
-        while (se) {
-            m_scoped=true;
-            DOMNode* valnode=se->getFirstChild();
-            if (valnode && valnode->getNodeType()==DOMNode::TEXT_NODE) {
-                const XMLCh* accept=se->getAttributeNS(NULL,Accept);
-                if (!accept || !*accept || *accept==chDigit_1 || *accept==chLatin_t)
-                    srule.scopeAccepts.push_back(pair<value_type,const XMLCh*>(toValueType(se),valnode->getNodeValue()));
-                else
-                    srule.scopeDenials.push_back(pair<value_type,const XMLCh*>(toValueType(se),valnode->getNodeValue()));
-            }
-            
-            se = XMLHelper::getNextSiblingElement(se,Scope::LOCAL_NAME);
-        }
-
-        // Check for an AnyValue rule.
-        if (XMLHelper::getFirstChildElement(sr,AnyValue)) {
-            srule.anyValue=true;
-        }
-        else
-        {
-            // Process each Value element.
-            const DOMElement* ve = XMLHelper::getFirstChildElement(sr,Value);
-            while (ve) {
-                DOMNode* valnode=ve->getFirstChild();
-                if (valnode && valnode->getNodeType()==DOMNode::TEXT_NODE) {
-                    const XMLCh* accept=ve->getAttributeNS(NULL,Accept);
-                    if (!accept || !*accept || *accept==chDigit_1 || *accept==chLatin_t)
-                        srule.valueAccepts.push_back(pair<value_type,const XMLCh*>(toValueType(ve),valnode->getNodeValue()));
-                    else
-                        srule.valueDenials.push_back(pair<value_type,const XMLCh*>(toValueType(ve),valnode->getNodeValue()));
-                }
-                
-                ve = XMLHelper::getNextSiblingElement(ve,Value);
-            }
-        }
-        
-        sr = XMLHelper::getNextSiblingElement(sr,_SiteRule);
-    }
-}
-
-XMLAAPImpl::AttributeRule::value_type XMLAAPImpl::AttributeRule::toValueType(const DOMElement* e)
-{
-    if (XMLString::equals(_literal,e->getAttributeNS(NULL,Type)))
-        return literal;
-    else if (XMLString::equals(_regexp,e->getAttributeNS(NULL,Type)))
-        return regexp;
-    else if (XMLString::equals(_xpath,e->getAttributeNS(NULL,Type)))
-        return xpath;
-    throw ConfigurationException("Found an invalid value or scope rule type.");
-}
-
-const IAttributeRule* XMLAAP::lookup(const XMLCh* attrName, const XMLCh* attrNamespace) const
-{
-#ifdef HAVE_GOOD_STL
-    xmltooling::xstring key=attrName;
-    key=key + chBang + chBang + (attrNamespace ? attrNamespace : shibspconstants::SHIB1_ATTRIBUTE_NAMESPACE_URI);
-#else
-    xmltooling::auto_ptr_char aname(attrName);
-    string key=aname.get();
-    key+="!!";
-    if (attrNamespace) {
-        xmltooling::auto_ptr_char ans(attrNamespace);
-        key+=ans.get();
-    }
-    else {
-        key+="urn:mace:shibboleth:1.0:attributeNamespace:uri";
-    }
-#endif
-    XMLAAPImpl::attrmap_t::const_iterator i=m_impl->m_attrMap.find(key);
-    return (i==m_impl->m_attrMap.end()) ? NULL : i->second;
-}
-
-const IAttributeRule* XMLAAP::lookup(const char* alias) const
-{
-    map<string,const IAttributeRule*>::const_iterator i=m_impl->m_aliasMap.find(alias);
-    return (i==m_impl->m_aliasMap.end()) ? NULL : i->second;
-}
-
-Iterator<const IAttributeRule*> XMLAAP::getAttributeRules() const
-{
-    return m_impl->m_attrs;
-}
-
-namespace {
-    bool match(const XMLCh* exp, const XMLCh* test)
-    {
-        try {
-            RegularExpression re(exp);
-            if (re.matches(test))
-                return true;
-        }
-        catch (XMLException& ex) {
-            xmltooling::auto_ptr_char tmp(ex.getMessage());
-            Category::getInstance(XMLPROVIDERS_LOGCAT".AAP").errorStream()
-                << "caught exception while parsing regular expression: " << tmp.get() << CategoryStream::ENDLINE;
-        }
-        return false;
-    }
-}
-
-bool XMLAAPImpl::AttributeRule::scopeCheck(
-    const DOMElement* e,
-    const RoleDescriptor* role,
-    const vector<const SiteRule*>& ruleStack
-    ) const
-{
-#ifdef _DEBUG
-    xmltooling::NDC ndc("scopeCheck");
-#endif
-    Category& log=Category::getInstance(XMLPROVIDERS_LOGCAT".AAP");
-
-    // Are we scoped?
-    const XMLCh* scope=e->getAttributeNS(NULL,Scope::LOCAL_NAME);
-    if (!scope || !*scope) {
-        // Are we allowed to be unscoped?
-        if (m_scoped && log.isWarnEnabled()) {
-                xmltooling::auto_ptr_char temp(m_name);
-                log.warn("attribute (%s) is scoped, no scope supplied, rejecting it",temp.get());
-        }
-        return !m_scoped;
-    }
-
-    // With the new algorithm, we evaluate each matching rule in sequence, separately.
-    for (vector<const SiteRule*>::const_iterator rule=ruleStack.begin(); rule!=ruleStack.end(); rule++) {
-
-        // Now run any denials.
-        vector<pair<value_type,const XMLCh*> >::const_iterator i;
-        for (i=(*rule)->scopeDenials.begin(); i!=(*rule)->scopeDenials.end(); i++) {
-            if ((i->first==literal && XMLString::equals(i->second,scope)) ||
-                (i->first==regexp && match(i->second,scope))) {
-                if (log.isWarnEnabled()) {
-                    xmltooling::auto_ptr_char temp(m_name);
-                    xmltooling::auto_ptr_char temp2(scope);
-                    log.warn("attribute (%s) scope (%s) denied by site rule, rejecting it",temp.get(),temp2.get());
-                }
-                return false;
-            }
-            else if (i->first==xpath)
-                log.warn("scope checking does not permit XPath rules");
-        }
-
-        // Now run any accepts.
-        for (i=(*rule)->scopeAccepts.begin(); i!=(*rule)->scopeAccepts.end(); i++) {
-            if ((i->first==literal && XMLString::equals(i->second,scope)) ||
-                (i->first==regexp && match(i->second,scope))) {
-                log.debug("matching site rule, scope match");
-                return true;
-            }
-            else if (i->first==xpath)
-                log.warn("scope checking does not permit XPath rules");
-        }
-    }
-
-    // If we still can't decide, defer to metadata.
-    if (role && role->getExtensions()) {
-        const vector<XMLObject*>& exts=const_cast<const Extensions*>(role->getExtensions())->getUnknownXMLObjects();
-        for (vector<XMLObject*>::const_iterator it=exts.begin(); it!=exts.end(); ++it) {
-            const Scope* s=dynamic_cast<const Scope*>(*it);
-            if (!s)
-                continue;
-            if ((s->Regexp() && match(s->getValue(),scope)) || XMLString::equals(s->getValue(),scope)) {
-                log.debug("scope match via site metadata");
-                return true;
-            }
-        }
-    }
-    
-    if (log.isWarnEnabled()) {
-        xmltooling::auto_ptr_char temp(m_name);
-        xmltooling::auto_ptr_char temp2(scope);
-        log.warn("attribute (%s) scope (%s) not accepted",temp.get(),temp2.get());
-    }
-    return false;
-}
-
-bool XMLAAPImpl::AttributeRule::accept(const DOMElement* e, const RoleDescriptor* role) const
-{
-#ifdef _DEBUG
-    xmltooling::NDC ndc("accept");
-#endif
-    Category& log=Category::getInstance(XMLPROVIDERS_LOGCAT".AAP");
-
-    const EntityDescriptor* source = role ? dynamic_cast<const EntityDescriptor*>(role->getParent()) : NULL;
-
-    if (log.isDebugEnabled()) {
-        xmltooling::auto_ptr_char temp(m_name);
-        xmltooling::auto_ptr_char temp2(source ? source->getEntityID() : NULL);
-        log.debug("evaluating value for attribute (%s) from site (%s)",temp.get(),temp2.get() ? temp2.get() : "<unspecified>");
-    }
-    
-    // This is a complete revamp. The "any" cases become a degenerate case, the "least-specific" matching rule.
-    // The first step is to build a list of matching rules, most-specific to least-specific.
-    
-    vector<const SiteRule*> ruleStack;
-    if (source) {
-        // Primary match is against entityID.
-#ifdef HAVE_GOOD_STL
-        const XMLCh* os=source->getEntityID();
-#else
-        auto_ptr_char pos(source->getEntityID());
-        const char* os=pos.get();
-#endif
-        sitemap_t::const_iterator srule=m_siteMap.find(os);
-        if (srule!=m_siteMap.end())
-            ruleStack.push_back(&srule->second);
-        
-        // Secondary matches are on groups.
-        const EntitiesDescriptor* group=dynamic_cast<const EntitiesDescriptor*>(source->getParent());
-        while (group) {
-            if (group->getName()) {
-#ifdef HAVE_GOOD_STL
-                os=group->getName();
-#else
-                auto_ptr_char gname(group->getName());
-                const char* os=gname.get();
-#endif
-                srule=m_siteMap.find(os);
-                if (srule!=m_siteMap.end())
-                    ruleStack.push_back(&srule->second);
-            }
-            group=dynamic_cast<const EntitiesDescriptor*>(group->getParent());
-        }
-    }
-    // Tertiary match is the AnySite rule.
-    ruleStack.push_back(&m_anySiteRule);
-
-    // Still don't support complex content models...
-    DOMNode* n=e->getFirstChild();
-    bool bSimple=(n && n->getNodeType()==DOMNode::TEXT_NODE);
-
-    // With the new algorithm, we evaluate each matching rule in sequence, separately.
-    for (vector<const SiteRule*>::const_iterator rule=ruleStack.begin(); rule!=ruleStack.end(); rule++) {
-
-        // Check for shortcut AnyValue blanket rule.
-        if ((*rule)->anyValue) {
-            log.debug("matching site rule, any value match");
-            return scopeCheck(e,role,ruleStack);
-        }
-
-        // Now run any denials.
-        vector<pair<value_type,const XMLCh*> >::const_iterator i;
-        for (i=(*rule)->valueDenials.begin(); bSimple && i!=(*rule)->valueDenials.end(); i++) {
-            switch (i->first) {
-                case literal:
-                    if ((m_caseSensitive && !XMLString::compareString(i->second,n->getNodeValue())) ||
-                        (!m_caseSensitive && !XMLString::compareIString(i->second,n->getNodeValue()))) {
-                        if (log.isWarnEnabled()) {
-                            xmltooling::auto_ptr_char temp(m_name);
-                            log.warn("attribute (%s) value explicitly denied by site rule, rejecting it",temp.get());
-                        }
-                        return false;
-                    }
-                    break;
-                
-                case regexp:
-                    if (match(i->second,n->getNodeValue())) {
-                        if (log.isWarnEnabled()) {
-                            xmltooling::auto_ptr_char temp(m_name);
-                            log.warn("attribute (%s) value explicitly denied by site rule, rejecting it",temp.get());
-                        }
-                        return false;
-                    }
-                    break;
-                
-                case xpath:
-                    log.warn("implementation does not support XPath value rules");
-                    break;
-            }
-        }
-
-        // Now run any accepts.
-        for (i=(*rule)->valueAccepts.begin(); bSimple && i!=(*rule)->valueAccepts.end(); i++) {
-            switch (i->first) {
-                case literal:
-                    if ((m_caseSensitive && !XMLString::compareString(i->second,n->getNodeValue())) ||
-                        (!m_caseSensitive && !XMLString::compareIString(i->second,n->getNodeValue()))) {
-                        log.debug("site rule, value match");
-                        return scopeCheck(e,role,ruleStack);
-                    }
-                    break;
-                
-                case regexp:
-                    if (match(i->second,n->getNodeValue())) {
-                        log.debug("site rule, value match");
-                        return scopeCheck(e,role,ruleStack);
-                    }
-                    break;
-                
-                case xpath:
-                    log.warn("implementation does not support XPath value rules");
-                    break;
-            }
-        }
-    }
-
-    if (log.isWarnEnabled()) {
-        xmltooling::auto_ptr_char temp(m_name);
-        xmltooling::auto_ptr_char temp2(n->getNodeValue());
-        log.warn("%sattribute (%s) value (%s) could not be validated by policy, rejecting it",
-                 (bSimple ? "" : "complex "),temp.get(),temp2.get());
-    }
-    return false;
-}
-
-void XMLAAPImpl::AttributeRule::apply(SAMLAttribute& attribute, const RoleDescriptor* role) const
-{
-    // Check each value.
-    DOMNodeList* vals=attribute.getValueElements();
-    int i2=0;
-    for (XMLSize_t i=0; vals && i < vals->getLength(); i++) {
-        if (!accept(static_cast<DOMElement*>(vals->item(i)),role))
-            attribute.removeValue(i2);
-        else
-            i2++;
-    }
-    
-    // Now see if we trashed it irrevocably.
-    attribute.checkValidity();
-}
diff --git a/xmlproviders/XMLProviders.cpp b/xmlproviders/XMLProviders.cpp
deleted file mode 100644 (file)
index f202027..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* XMLProviders.cpp - bootstraps the extension library
-
-   Scott Cantor
-   2/14/04
-
-   $History:$
-*/
-
-#ifdef WIN32
-# define XML_EXPORTS __declspec(dllexport)
-#else
-# define XML_EXPORTS
-#endif
-
-#include "internal.h"
-#include <shib-target/shib-target.h>
-#include <log4cpp/Category.hh>
-
-using namespace saml;
-using namespace shibboleth;
-using namespace std;
-
-// Metadata Factories
-
-PlugManager::Factory TargetedIDFactory;
-PlugManager::Factory XMLAAPFactory;
-
-extern "C" int XML_EXPORTS saml_extension_init(void*)
-{
-    // Register metadata factories (some are legacy aliases)
-    SAMLConfig& conf=SAMLConfig::getConfig();
-    conf.getPlugMgr().regFactory("edu.internet2.middleware.shibboleth.common.provider.TargetedIDFactory",&TargetedIDFactory);
-    conf.getPlugMgr().regFactory("edu.internet2.middleware.shibboleth.aap.provider.XMLAAP",&XMLAAPFactory);
-    conf.getPlugMgr().regFactory("edu.internet2.middleware.shibboleth.target.provider.XMLAAP",&XMLAAPFactory);
-
-    return 0;
-}
-
-extern "C" void XML_EXPORTS saml_extension_term()
-{
-    // Unregister metadata factories
-    SAMLConfig& conf=SAMLConfig::getConfig();
-    conf.getPlugMgr().unregFactory("edu.internet2.middleware.shibboleth.common.provider.TargetedIDFactory");
-    conf.getPlugMgr().unregFactory("edu.internet2.middleware.shibboleth.aap.provider.XMLAAP");
-    conf.getPlugMgr().unregFactory("edu.internet2.middleware.shibboleth.target.provider.XMLAAP");
-}
diff --git a/xmlproviders/internal.h b/xmlproviders/internal.h
deleted file mode 100644 (file)
index 2de8fa8..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Copyright 2001-2007 Internet2
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* internal.h
-
-   Scott Cantor
-   2/14/04
-
-   $History:$
-*/
-
-#ifndef __internal_h__
-#define __internal_h__
-
-#ifdef WIN32
-# define _CRT_NONSTDC_NO_DEPRECATE 1
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-// eventually we might be able to support autoconf via cygwin...
-#if defined (_MSC_VER) || defined(__BORLANDC__)
-# include "config_win32.h"
-#else
-# include "config.h"
-#endif
-
-#include <shib-target/shib-target.h>
-#include <shibsp/exceptions.h>
-#include <xmltooling/util/NDC.h>
-
-#define XMLPROVIDERS_LOGCAT "XMLProviders"
-
-#endif
diff --git a/xmlproviders/resource.h b/xmlproviders/resource.h
deleted file mode 100644 (file)
index 8b3ea69..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by xmlproviders.rc
-//
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        101
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1000
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/xmlproviders/xmlproviders.dsp b/xmlproviders/xmlproviders.dsp
deleted file mode 100644 (file)
index b8f1d50..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-# Microsoft Developer Studio Project File - Name="xmlproviders" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=xmlproviders - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "xmlproviders.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "xmlproviders.mak" CFG="xmlproviders - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "xmlproviders - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "xmlproviders - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "xmlproviders - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPROVIDERS_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I ".." /I "..\..\..\opensaml\c" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 libeay32.lib ssleay32.lib log4cpp.lib xerces-c_2.lib xsec_1_2.lib saml_5.lib /nologo /dll /machine:I386 /out:"Release/xmlproviders.so" /libpath:"..\..\..\opensaml\c\saml\Release" /libpath:"\openssl-0.9.7e\out32dll"
-
-!ELSEIF  "$(CFG)" == "xmlproviders - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 2
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLPROVIDERS_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I ".." /I "..\..\..\opensaml\c" /D "_WINDOWS" /D "_WINDLL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /FR /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 libeay32.lib ssleay32.lib log4cppD.lib xerces-c_2D.lib xsec_1_2D.lib saml_5D.lib /nologo /dll /debug /machine:I386 /out:"Debug/xmlproviders.so" /pdbtype:sept /libpath:"..\..\..\opensaml\c\saml\Debug" /libpath:"\openssl-0.9.7e\out32dll.dbg"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "xmlproviders - Win32 Release"
-# Name "xmlproviders - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\CredResolvers.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\internal.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\TargetedID.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XML.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMLAAP.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMLCredentials.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMLMetadata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMLProviders.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\xmlproviders.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMLTrust.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/xmlproviders/xmlproviders.rc b/xmlproviders/xmlproviders.rc
deleted file mode 100644 (file)
index 0a042f9..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,3,0,0
- PRODUCTVERSION 1,3,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "Comments", "\0"
-            VALUE "CompanyName", "Internet2\0"
-            VALUE "FileDescription", "Shibboleth Core Plugins\0"
-            VALUE "FileVersion", "1, 3, 0, 0\0"
-            VALUE "InternalName", "xmlproviders\0"
-            VALUE "LegalCopyright", "Copyright © 2005 Internet2\0"
-            VALUE "LegalTrademarks", "\0"
-            VALUE "OriginalFilename", "xmlproviders.so\0"
-            VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth 1.3\0"
-            VALUE "ProductVersion", "1, 3, 0, 0\0"
-            VALUE "SpecialBuild", "\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/xmlproviders/xmlproviders.vcproj b/xmlproviders/xmlproviders.vcproj
deleted file mode 100644 (file)
index 65a7383..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8.00"
-       Name="xmlproviders"
-       ProjectGUID="{68E46D06-6B91-4C59-A700-78DD4D4C420B}"
-       RootNamespace="xmlproviders"
-       Keyword="MFCProj"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Release/xmlproviders.tlb"
-                               HeaderFileName=""
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               AdditionalIncludeDirectories="..;&quot;..\..\cpp-opensaml1&quot;;&quot;..\..\cpp-opensaml2&quot;;&quot;..\..\cpp-xmltooling&quot;"
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
-                               StringPooling="true"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="true"
-                               RuntimeTypeInfo="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Release/xmlproviders.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="libeay32_0_9_8.lib ssleay32_0_9_8.lib log4cpp.lib xerces-c_2.lib xsec_1.lib saml_5.lib saml2.lib xmltooling1.lib"
-                               OutputFile="Release/xmlproviders.so"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="true"
-                               AdditionalLibraryDirectories="&quot;..\..\cpp-opensaml1\saml\Release&quot;;&quot;..\..\cpp-opensaml2\Release&quot;;&quot;..\..\cpp-xmltooling\Release&quot;"
-                               ProgramDatabaseFile=".\Release/xmlproviders.pdb"
-                               ImportLibrary=".\Release/xmlproviders.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="2"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Debug/xmlproviders.tlb"
-                               HeaderFileName=""
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..;&quot;..\..\cpp-opensaml1&quot;;&quot;..\..\cpp-opensaml2&quot;;&quot;..\..\cpp-xmltooling&quot;"
-                               PreprocessorDefinitions="_WINDOWS;WIN32;_DEBUG"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               RuntimeTypeInfo="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Debug/xmlproviders.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               BrowseInformation="1"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                               DebugInformationFormat="4"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="libeay32_0_9_8D.lib ssleay32_0_9_8D.lib log4cppD.lib xerces-c_2D.lib xsec_1D.lib saml_5D.lib saml2D.lib xmltooling1D.lib"
-                               OutputFile="Debug/xmlproviders.so"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="true"
-                               AdditionalLibraryDirectories="&quot;..\..\cpp-opensaml1\saml\Debug&quot;;&quot;..\..\cpp-opensaml2\Debug&quot;;&quot;..\..\cpp-xmltooling\Debug&quot;"
-                               GenerateDebugInformation="true"
-                               ImportLibrary=".\Debug/xmlproviders.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <File
-                       RelativePath="internal.h"
-                       >
-               </File>
-               <File
-                       RelativePath="resource.h"
-                       >
-               </File>
-               <File
-                       RelativePath="TargetedID.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath="XMLAAP.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath="XMLProviders.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath="xmlproviders.rc"
-                       >
-               </File>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>