[cpp-sp] 11/20: Imported Upstream version 2.4.3+dfsg
Scott Cantor
cantor.2 at osu.edu
Thu Dec 20 19:45:13 EST 2018
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to annotated tag debian/2.4.3+dfsg-1
in repository cpp-sp.
View the commit online:
http://git.shibboleth.net/view/?p=cpp-sp.git;a=commit;h=f2b5c8f49a2c9e350423e9f6fa379d076bb75911
commit f2b5c8f49a2c9e350423e9f6fa379d076bb75911
Author: Russ Allbery <rra at debian.org>
AuthorDate: Mon Jul 25 16:08:21 2011 -0700
Imported Upstream version 2.4.3+dfsg
---
Makefile.am | 20 +-
Makefile.in | 34 +-
Portfile | 81 ---
Portfile.in | 81 ---
Shibboleth.sln | 3 -
adfs/Makefile.in | 5 +-
adfs/adfs-lite.vcxproj | 2 -
adfs/adfs.cpp | 41 +-
adfs/adfs.rc | 14 +-
adfs/adfs.vcxproj | 2 -
adfs/resource.h | 20 +
apache/Makefile.in | 5 +-
apache/mod_apache.cpp | 59 +-
apache/mod_shib13.vcxproj | 2 -
apache/mod_shib20.vcxproj | 2 -
apache/mod_shib22.vcxproj | 2 -
apache/mod_shib_13.cpp | 28 +-
apache/mod_shib_13.rc | 14 +-
apache/mod_shib_20.cpp | 28 +-
apache/mod_shib_20.rc | 14 +-
apache/mod_shib_22.cpp | 28 +-
apache/mod_shib_22.rc | 14 +-
apache/resource.h | 20 +
config.h.in | 26 +-
config_win32.h | 28 +-
configs/Makefile.in | 3 +-
configs/example-metadata.xml | 107 ++--
configs/example-shibboleth2.xml | 540 +++++++++---------
configs/metagen.sh | 7 +-
configs/protocols.xml | 114 ++--
configs/shibd-redhat.in | 7 +-
configure | 169 ++++--
configure.ac | 89 ++-
doc/CREDITS.txt | 13 +-
doc/Makefile.am | 6 +-
doc/Makefile.in | 9 +-
doc/NOTICE.txt | 7 +-
doc/README.txt | 6 +-
doc/RELEASE.txt | 2 +-
fastcgi/Makefile.in | 5 +-
fastcgi/resource.h | 20 +
fastcgi/shibauthorizer.cpp | 26 +-
fastcgi/shibauthorizer.rc | 14 +-
fastcgi/shibauthorizer.vcxproj | 2 -
fastcgi/shibresponder.cpp | 26 +-
fastcgi/shibresponder.rc | 14 +-
fastcgi/shibresponder.vcxproj | 2 -
isapi_shib/directive_class.h | 233 --------
isapi_shib/directives.h | 45 --
isapi_shib/isapi_shib.cpp | 26 +-
isapi_shib/isapi_shib.rc | 14 +-
isapi_shib/isapi_shib.vcxproj | 2 -
isapi_shib/resource.h | 20 +
memcache-store/Makefile.in | 5 +-
memcache-store/memcache-store.cpp | 28 +-
memcache-store/memcache-store.rc | 14 +-
memcache-store/memcache-store.vcxproj | 14 +-
memcache-store/resource.h | 20 +
nsapi_shib/Makefile.in | 5 +-
nsapi_shib/nsapi_shib.cpp | 26 +-
nsapi_shib/nsapi_shib.rc | 14 +-
nsapi_shib/nsapi_shib.vcxproj | 2 -
nsapi_shib/resource.h | 20 +
odbc-store/Makefile.in | 5 +-
odbc-store/odbc-store.cpp | 30 +-
odbc-store/odbc-store.rc | 14 +-
odbc-store/odbc-store.vcxproj | 2 -
odbc-store/resource.h | 20 +
pkginfo | 11 -
pkginfo.in | 11 -
postinstall | 35 --
schemas/Makefile.in | 3 +-
schemas/shibboleth-2.0-native-sp-protocols.xsd | 118 ++--
selinux/Makefile.in | 3 +-
shibboleth.spec | 36 +-
shibboleth.spec.in | 34 +-
shibd/Makefile.in | 5 +-
shibd/resource.h | 20 +
shibd/shibd.cpp | 26 +-
shibd/shibd.rc | 14 +-
shibd/shibd.vcxproj | 2 -
shibd/shibd_win32.cpp | 28 +-
shibsp/AbstractSPRequest.cpp | 28 +-
shibsp/AbstractSPRequest.h | 28 +-
shibsp/AccessControl.h | 26 +-
shibsp/Application.cpp | 26 +-
shibsp/Application.h | 26 +-
shibsp/GSSRequest.h | 32 +-
shibsp/Makefile.am | 7 +-
shibsp/Makefile.in | 78 ++-
shibsp/RequestMapper.h | 28 +-
shibsp/SPConfig.cpp | 103 +++-
shibsp/SPConfig.h | 26 +-
shibsp/SPRequest.h | 26 +-
shibsp/ServiceProvider.cpp | 26 +-
shibsp/ServiceProvider.h | 29 +-
shibsp/SessionCache.h | 26 +-
shibsp/SessionCacheEx.h | 28 +-
shibsp/TransactionLog.h | 28 +-
shibsp/attribute/Attribute.cpp | 26 +-
shibsp/attribute/Attribute.h | 26 +-
shibsp/attribute/AttributeDecoder.h | 26 +-
shibsp/attribute/Base64AttributeDecoder.cpp | 26 +-
shibsp/attribute/DOMAttributeDecoder.cpp | 26 +-
shibsp/attribute/ExtensibleAttribute.cpp | 26 +-
shibsp/attribute/ExtensibleAttribute.h | 26 +-
shibsp/attribute/KeyInfoAttributeDecoder.cpp | 26 +-
shibsp/attribute/NameIDAttribute.cpp | 26 +-
shibsp/attribute/NameIDAttribute.h | 28 +-
shibsp/attribute/NameIDAttributeDecoder.cpp | 26 +-
.../attribute/NameIDFromScopedAttributeDecoder.cpp | 26 +-
shibsp/attribute/ScopedAttribute.cpp | 26 +-
shibsp/attribute/ScopedAttribute.h | 28 +-
shibsp/attribute/ScopedAttributeDecoder.cpp | 26 +-
shibsp/attribute/SimpleAttribute.cpp | 26 +-
shibsp/attribute/SimpleAttribute.h | 28 +-
shibsp/attribute/StringAttributeDecoder.cpp | 26 +-
shibsp/attribute/XMLAttribute.cpp | 26 +-
shibsp/attribute/XMLAttribute.h | 26 +-
shibsp/attribute/XMLAttributeDecoder.cpp | 26 +-
shibsp/attribute/filtering/AttributeFilter.h | 28 +-
shibsp/attribute/filtering/BasicFilteringContext.h | 28 +-
shibsp/attribute/filtering/FilterPolicyContext.h | 28 +-
shibsp/attribute/filtering/FilteringContext.h | 28 +-
shibsp/attribute/filtering/MatchFunctor.h | 28 +-
.../attribute/filtering/impl/AndMatchFunctor.cpp | 28 +-
.../attribute/filtering/impl/AnyMatchFunctor.cpp | 28 +-
.../attribute/filtering/impl/AttributeFilter.cpp | 28 +-
.../impl/AttributeIssuerInEntityGroupFunctor.cpp | 28 +-
.../filtering/impl/AttributeIssuerRegexFunctor.cpp | 28 +-
.../impl/AttributeIssuerStringFunctor.cpp | 28 +-
.../AttributeRequesterInEntityGroupFunctor.cpp | 28 +-
.../impl/AttributeRequesterRegexFunctor.cpp | 28 +-
.../impl/AttributeRequesterStringFunctor.cpp | 28 +-
.../AttributeScopeMatchesShibMDScopeFunctor.cpp | 28 +-
.../filtering/impl/AttributeScopeRegexFunctor.cpp | 30 +-
.../filtering/impl/AttributeScopeStringFunctor.cpp | 28 +-
.../filtering/impl/AttributeValueRegexFunctor.cpp | 28 +-
.../filtering/impl/AttributeValueStringFunctor.cpp | 32 +-
.../impl/AuthenticationMethodRegexFunctor.cpp | 28 +-
.../impl/AuthenticationMethodStringFunctor.cpp | 28 +-
.../filtering/impl/BasicFilteringContext.cpp | 28 +-
.../filtering/impl/ChainingAttributeFilter.cpp | 28 +-
.../filtering/impl/DummyAttributeFilter.cpp | 120 ++--
shibsp/attribute/filtering/impl/MatchFunctor.cpp | 28 +-
.../impl/NameIDQualifierStringFunctor.cpp | 342 +++++------
.../attribute/filtering/impl/NotMatchFunctor.cpp | 28 +-
.../impl/NumberOfAttributeValuesFunctor.cpp | 28 +-
shibsp/attribute/filtering/impl/OrMatchFunctor.cpp | 28 +-
.../filtering/impl/XMLAttributeFilter.cpp | 26 +-
shibsp/attribute/resolver/AttributeExtractor.h | 26 +-
shibsp/attribute/resolver/AttributeResolver.h | 26 +-
shibsp/attribute/resolver/ResolutionContext.h | 28 +-
.../resolver/impl/ChainingAttributeExtractor.cpp | 26 +-
.../resolver/impl/ChainingAttributeResolver.cpp | 26 +-
.../resolver/impl/DelegationAttributeExtractor.cpp | 26 +-
.../impl/KeyDescriptorAttributeExtractor.cpp | 26 +-
.../resolver/impl/QueryAttributeResolver.cpp | 26 +-
.../impl/SimpleAggregationAttributeResolver.cpp | 26 +-
.../resolver/impl/XMLAttributeExtractor.cpp | 28 +-
shibsp/base.h | 32 +-
shibsp/binding/ArtifactResolver.h | 28 +-
shibsp/binding/ProtocolProvider.h | 152 ++---
shibsp/binding/SOAPClient.h | 28 +-
shibsp/binding/impl/ArtifactResolver.cpp | 28 +-
shibsp/binding/impl/SOAPClient.cpp | 28 +-
shibsp/binding/impl/XMLProtocolProvider.cpp | 476 ++++++++--------
shibsp/config_pub.h | 27 +
shibsp/config_pub.h.in | 26 +
shibsp/config_pub_win32.h | 51 ++
shibsp/exceptions.h | 28 +-
shibsp/handler/AbstractHandler.h | 28 +-
shibsp/handler/AssertionConsumerService.h | 28 +-
shibsp/handler/Handler.h | 28 +-
shibsp/handler/LogoutHandler.h | 28 +-
shibsp/handler/LogoutInitiator.h | 28 +-
shibsp/handler/RemotedHandler.h | 28 +-
shibsp/handler/SessionInitiator.h | 28 +-
shibsp/handler/impl/AbstractHandler.cpp | 26 +-
shibsp/handler/impl/AssertionConsumerService.cpp | 26 +-
shibsp/handler/impl/AssertionLookup.cpp | 26 +-
shibsp/handler/impl/ChainingLogoutInitiator.cpp | 28 +-
shibsp/handler/impl/ChainingSessionInitiator.cpp | 28 +-
shibsp/handler/impl/CookieSessionInitiator.cpp | 28 +-
shibsp/handler/impl/DiscoveryFeed.cpp | 128 +++--
shibsp/handler/impl/FormSessionInitiator.cpp | 28 +-
shibsp/handler/impl/LocalLogoutInitiator.cpp | 28 +-
shibsp/handler/impl/LogoutHandler.cpp | 26 +-
shibsp/handler/impl/LogoutInitiator.cpp | 28 +-
shibsp/handler/impl/MetadataGenerator.cpp | 26 +-
shibsp/handler/impl/RemotedHandler.cpp | 42 +-
shibsp/handler/impl/SAML1Consumer.cpp | 47 +-
shibsp/handler/impl/SAML2ArtifactResolution.cpp | 28 +-
shibsp/handler/impl/SAML2Consumer.cpp | 41 +-
shibsp/handler/impl/SAML2Logout.cpp | 26 +-
shibsp/handler/impl/SAML2LogoutInitiator.cpp | 72 ++-
shibsp/handler/impl/SAML2NameIDMgmt.cpp | 26 +-
shibsp/handler/impl/SAML2SessionInitiator.cpp | 109 ++--
shibsp/handler/impl/SAMLDSSessionInitiator.cpp | 26 +-
shibsp/handler/impl/SessionHandler.cpp | 26 +-
shibsp/handler/impl/SessionInitiator.cpp | 28 +-
shibsp/handler/impl/Shib1SessionInitiator.cpp | 26 +-
shibsp/handler/impl/StatusHandler.cpp | 26 +-
shibsp/handler/impl/TransformSessionInitiator.cpp | 28 +-
shibsp/handler/impl/WAYFSessionInitiator.cpp | 28 +-
shibsp/impl/ChainingAccessControl.cpp | 26 +-
shibsp/impl/StorageServiceSessionCache.cpp | 26 +-
shibsp/impl/XMLAccessControl.cpp | 26 +-
shibsp/impl/XMLRequestMapper.cpp | 26 +-
shibsp/impl/XMLSecurityPolicyProvider.cpp | 628 +++++++++++----------
shibsp/impl/XMLServiceProvider.cpp | 30 +-
shibsp/internal.h | 28 +-
shibsp/lite/CommonDomainCookie.cpp | 26 +-
shibsp/lite/CommonDomainCookie.h | 28 +-
shibsp/lite/SAMLConstants.cpp | 26 +-
shibsp/lite/SAMLConstants.h | 26 +-
shibsp/metadata/DynamicMetadataProvider.cpp | 26 +-
shibsp/metadata/MetadataExt.h | 28 +-
shibsp/metadata/MetadataExtImpl.cpp | 28 +-
shibsp/metadata/MetadataExtSchemaValidators.cpp | 28 +-
shibsp/metadata/MetadataProviderCriteria.cpp | 26 +-
shibsp/metadata/MetadataProviderCriteria.h | 26 +-
shibsp/paths.h | 28 +-
shibsp/paths.h.in | 28 +-
shibsp/remoting/ListenerService.h | 26 +-
shibsp/remoting/ddf.h | 26 +-
shibsp/remoting/impl/ListenerService.cpp | 26 +-
shibsp/remoting/impl/SocketListener.cpp | 26 +-
shibsp/remoting/impl/SocketListener.h | 26 +-
shibsp/remoting/impl/TCPListener.cpp | 26 +-
shibsp/remoting/impl/UnixListener.cpp | 28 +-
shibsp/remoting/impl/ddf.cpp | 26 +-
shibsp/resource.h | 20 +
shibsp/security/PKIXTrustEngine.cpp | 28 +-
shibsp/security/PKIXTrustEngine.h | 28 +-
shibsp/security/SecurityPolicy.cpp | 26 +-
shibsp/security/SecurityPolicy.h | 26 +-
shibsp/security/SecurityPolicyProvider.h | 236 ++++----
shibsp/shibsp-lite.vcxproj | 4 +-
shibsp/shibsp-lite.vcxproj.filters | 4 +
shibsp/shibsp.rc | 14 +-
shibsp/shibsp.vcxproj | 4 +-
shibsp/shibsp.vcxproj.filters | 4 +
shibsp/util/CGIParser.cpp | 28 +-
shibsp/util/CGIParser.h | 28 +-
shibsp/util/DOMPropertySet.cpp | 28 +-
shibsp/util/DOMPropertySet.h | 28 +-
shibsp/util/PropertySet.h | 28 +-
shibsp/util/SPConstants.cpp | 28 +-
shibsp/util/SPConstants.h | 28 +-
shibsp/util/TemplateParameters.cpp | 28 +-
shibsp/util/TemplateParameters.h | 28 +-
shibsp/version.h | 28 +-
util/Makefile.in | 5 +-
util/mdquery.cpp | 28 +-
util/mdquery.vcxproj | 2 -
util/resolvertest.cpp | 28 +-
util/resolvertest.vcxproj | 2 -
258 files changed, 5133 insertions(+), 4338 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index ef1c791..d8f9d3e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,7 +9,20 @@ WANT_SUBDIRS = @WANT_SUBDIRS@
SUBDIRS = $(WANT_SUBDIRS)
-DIST_SUBDIRS = doc schemas configs shibsp shibd adfs util apache nsapi_shib fastcgi odbc-store memcache-store selinux
+DIST_SUBDIRS = \
+ doc \
+ schemas \
+ configs \
+ shibsp \
+ shibd \
+ adfs \
+ util \
+ apache \
+ nsapi_shib \
+ fastcgi \
+ odbc-store \
+ memcache-store \
+ selinux
if DX_COND_doc
all-local: doxygen-doc
@@ -21,12 +34,11 @@ dist-hook:
rm -rf `find $(distdir)/isapi_shib -name .svn`
rm -rf `find $(distdir)/doc/api -name .svn`
-GENFILES = @PACKAGE_NAME at .spec pkginfo Portfile
+GENFILES = @PACKAGE_NAME at .spec
EXTRA_DIST = $(DX_CONFIG) \
isapi_shib \
Shibboleth.sln \
config_win32.h \
$(GENFILES) \
- $(GENFILES:%=%.in) \
- postinstall
+ $(GENFILES:%=%.in)
diff --git a/Makefile.in b/Makefile.in
index f50dad1..5307805 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -64,9 +64,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/Portfile.in \
- $(srcdir)/config.h.in $(srcdir)/doxygen.am \
- $(srcdir)/pkginfo.in $(srcdir)/shibboleth.spec.in \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/doxygen.am $(srcdir)/shibboleth.spec.in \
$(top_srcdir)/configure build-aux/config.guess \
build-aux/config.sub build-aux/depcomp build-aux/install-sh \
build-aux/ltmain.sh build-aux/missing
@@ -82,8 +81,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = shibboleth.spec pkginfo Portfile
+CONFIG_HEADER = config.h $(top_builddir)/shibsp/config_pub.h
+CONFIG_CLEAN_FILES = shibboleth.spec
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
@@ -343,15 +342,28 @@ ACLOCAL_AMFLAGS = -I m4
MOSTLYCLEANFILES = $(DX_CLEANFILES)
SUBDIRS = $(WANT_SUBDIRS)
-DIST_SUBDIRS = doc schemas configs shibsp shibd adfs util apache nsapi_shib fastcgi odbc-store memcache-store selinux
-GENFILES = @PACKAGE_NAME at .spec pkginfo Portfile
+DIST_SUBDIRS = \
+ doc \
+ schemas \
+ configs \
+ shibsp \
+ shibd \
+ adfs \
+ util \
+ apache \
+ nsapi_shib \
+ fastcgi \
+ odbc-store \
+ memcache-store \
+ selinux
+
+GENFILES = @PACKAGE_NAME at .spec
EXTRA_DIST = $(DX_CONFIG) \
isapi_shib \
Shibboleth.sln \
config_win32.h \
$(GENFILES) \
- $(GENFILES:%=%.in) \
- postinstall
+ $(GENFILES:%=%.in)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -410,10 +422,6 @@ distclean-hdr:
-rm -f config.h stamp-h1
shibboleth.spec: $(top_builddir)/config.status $(srcdir)/shibboleth.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $@
-pkginfo: $(top_builddir)/config.status $(srcdir)/pkginfo.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-Portfile: $(top_builddir)/config.status $(srcdir)/Portfile.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
diff --git a/Portfile b/Portfile
deleted file mode 100644
index b19567b..0000000
--- a/Portfile
+++ /dev/null
@@ -1,81 +0,0 @@
-PortSystem 1.0
-
-name shibboleth
-version 2.4.2
-categories security www shibboleth
-maintainers scantor snc
-description Shibboleth Native Service Provider
-long_description Standards-based attribute-based Web SSO system
-homepage http://shibboleth.internet2.edu/
-master_sites http://shibboleth.internet2.edu/downloads/${name}/cppsp/${version}/
-distname ${name}-sp-${version}
-worksrcdir ${name}-${version}
-checksums sha1 @CHECKSUM@
-
-depends_lib port:opensaml \
- port:xmltooling \
- port:xercesc \
- port:xml-security-c \
- port:log4shib
-
-pre-fetch {
- set status 0
- if {[catch {exec ${prefix}/bin/curl --version | grep SSL} results]} {
- if {[lindex $::errorCode 0] eq "CHILDSTATUS"} {
- set status [lindex $::errorCode 2]
- } else {
- set status [lindex $::errorCode 3]
- }
- }
- if {${status} != 0} {
- return -code error "\n
- ${name} requires curl to be installed with SSL support.
- Please deactivate your current curl installation and
- install the proper version of curl:
- sudo port deactivate curl
- sudo port install curl +ssl\n"
- }
-}
-
-configure.args --with-xmltooling=${prefix} \
- --with-opensaml=${prefix} \
- --with-xerces=${prefix} \
- --with-xmlsec=${prefix} \
- --with-log4shib=${prefix}
-
-variant odbc {
- depends_lib-append port:unixODBC
- configure.args-append --enable-odbc
-}
-
-destroot.keepdirs ${destroot}${prefix}/var/log/${name} ${destroot}${prefix}/var/log/httpd ${destroot}${prefix}/var/run/${name}
-
-destroot.args NOKEYGEN=1
-
-post-destroot {
- eval file delete [glob ${destroot}${prefix}/etc/${name}/*.logger]
- eval file delete [glob ${destroot}${prefix}/etc/${name}/*.html]
- eval file delete [glob ${destroot}${prefix}/etc/${name}/*.xml]
- eval file delete [glob ${destroot}${prefix}/etc/${name}/shibd-*]
- eval file delete [glob ${destroot}${prefix}/lib/${name}/*.la]
-}
-
-post-activate {
- # Make sure initial conf files are present and set up correctly
- set confDir ${prefix}/etc/${name}
- foreach f [glob -tails -directory ${confDir} *.dist] {
- regexp {(.+)\.dist} $f ign destname
- if {![file exists ${confDir}/${destname}]} {
- file copy ${confDir}/${f} ${confDir}/${destname}
- }
- }
- system "cd ${prefix}/etc/${name} && ./keygen.sh -b"
-}
-
-startupitem.create yes
-startupitem.name shibd
-startupitem.executable ${prefix}/sbin/shibd -F -f -p ${prefix}/var/run/${name}/shibd.pid
-
-livecheck.check regex
-livecheck.url http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/latest/mac/ports/shibboleth/shibboleth/Portfile
-livecheck.regex "version *(\\d+\\.\\d+(\\.\\d+)?)"
diff --git a/Portfile.in b/Portfile.in
deleted file mode 100644
index 3adab00..0000000
--- a/Portfile.in
+++ /dev/null
@@ -1,81 +0,0 @@
-PortSystem 1.0
-
-name @PACKAGE@
-version @PACKAGE_VERSION@
-categories security www shibboleth
-maintainers scantor snc
-description Shibboleth Native Service Provider
-long_description Standards-based attribute-based Web SSO system
-homepage http://shibboleth.internet2.edu/
-master_sites http://shibboleth.internet2.edu/downloads/${name}/cppsp/${version}/
-distname ${name}-sp-${version}
-worksrcdir ${name}-${version}
-checksums sha1 @CHECKSUM@
-
-depends_lib port:opensaml \
- port:xmltooling \
- port:xercesc \
- port:xml-security-c \
- port:log4shib
-
-pre-fetch {
- set status 0
- if {[catch {exec ${prefix}/bin/curl --version | grep SSL} results]} {
- if {[lindex $::errorCode 0] eq "CHILDSTATUS"} {
- set status [lindex $::errorCode 2]
- } else {
- set status [lindex $::errorCode 3]
- }
- }
- if {${status} != 0} {
- return -code error "\n
- ${name} requires curl to be installed with SSL support.
- Please deactivate your current curl installation and
- install the proper version of curl:
- sudo port deactivate curl
- sudo port install curl +ssl\n"
- }
-}
-
-configure.args --with-xmltooling=${prefix} \
- --with-opensaml=${prefix} \
- --with-xerces=${prefix} \
- --with-xmlsec=${prefix} \
- --with-log4shib=${prefix}
-
-variant odbc {
- depends_lib-append port:unixODBC
- configure.args-append --enable-odbc
-}
-
-destroot.keepdirs ${destroot}${prefix}/var/log/${name} ${destroot}${prefix}/var/log/httpd ${destroot}${prefix}/var/run/${name}
-
-destroot.args NOKEYGEN=1
-
-post-destroot {
- eval file delete [glob ${destroot}${prefix}/etc/${name}/*.logger]
- eval file delete [glob ${destroot}${prefix}/etc/${name}/*.html]
- eval file delete [glob ${destroot}${prefix}/etc/${name}/*.xml]
- eval file delete [glob ${destroot}${prefix}/etc/${name}/shibd-*]
- eval file delete [glob ${destroot}${prefix}/lib/${name}/*.la]
-}
-
-post-activate {
- # Make sure initial conf files are present and set up correctly
- set confDir ${prefix}/etc/${name}
- foreach f [glob -tails -directory ${confDir} *.dist] {
- regexp {(.+)\.dist} $f ign destname
- if {![file exists ${confDir}/${destname}]} {
- file copy ${confDir}/${f} ${confDir}/${destname}
- }
- }
- system "cd ${prefix}/etc/${name} && ./keygen.sh -b"
-}
-
-startupitem.create yes
-startupitem.name shibd
-startupitem.executable ${prefix}/sbin/shibd -F -f -p ${prefix}/var/run/${name}/shibd.pid
-
-livecheck.check regex
-livecheck.url http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/latest/mac/ports/shibboleth/shibboleth/Portfile
-livecheck.regex "version *(\\d+\\.\\d+(\\.\\d+)?)"
diff --git a/Shibboleth.sln b/Shibboleth.sln
index 76fd0bb..376bd56 100644
--- a/Shibboleth.sln
+++ b/Shibboleth.sln
@@ -79,9 +79,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{31B171C1-E
doxygen.cfg = doxygen.cfg
m4\doxygen.m4 = m4\doxygen.m4
Makefile.am = Makefile.am
- pkginfo.in = pkginfo.in
- Portfile.in = Portfile.in
- postinstall = postinstall
shibboleth.spec.in = shibboleth.spec.in
EndProjectSection
EndProject
diff --git a/adfs/Makefile.in b/adfs/Makefile.in
index 8dbb326..6323abe 100644
--- a/adfs/Makefile.in
+++ b/adfs/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -86,7 +87,7 @@ adfs_la_OBJECTS = $(am_adfs_la_OBJECTS)
adfs_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
$(adfs_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/adfs/adfs-lite.vcxproj b/adfs/adfs-lite.vcxproj
index 1faf6e3..ad750e3 100644
--- a/adfs/adfs-lite.vcxproj
+++ b/adfs/adfs-lite.vcxproj
@@ -94,7 +94,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;SHIBSP_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
@@ -122,7 +121,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;SHIBSP_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
diff --git a/adfs/adfs.cpp b/adfs/adfs.cpp
index 156cdb1..c49ec99 100644
--- a/adfs/adfs.cpp
+++ b/adfs/adfs.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -654,9 +658,18 @@ void ADFSConsumer::implementProtocol(
pair<bool,unsigned int> authnskew = sessionProps ? sessionProps->getUnsignedInt("maxTimeSinceAuthn") : pair<bool,unsigned int>(false,0);
const saml1::AuthenticationStatement* ssoStatement=saml1token->getAuthenticationStatements().front();
- if (authnskew.first && authnskew.second &&
- ssoStatement->getAuthenticationInstant() && (now - ssoStatement->getAuthenticationInstantEpoch() > authnskew.second))
- throw FatalProfileException("The gap between now and the time you logged into your identity provider exceeds the limit.");
+ if (ssoStatement->getAuthenticationInstant()) {
+ if (ssoStatement->getAuthenticationInstantEpoch() - XMLToolingConfig::getConfig().clock_skew_secs > now) {
+ throw FatalProfileException("The login time at your identity provider was future-dated.");
+ }
+ else if (authnskew.first && authnskew.second && ssoStatement->getAuthenticationInstantEpoch() <= now &&
+ (now - ssoStatement->getAuthenticationInstantEpoch() > authnskew.second)) {
+ throw FatalProfileException("The gap between now and the time you logged into your identity provider exceeds the allowed limit.");
+ }
+ }
+ else if (authnskew.first && authnskew.second) {
+ throw FatalProfileException("Your identity provider did not supply a time of login, violating local policy.");
+ }
// Address checking.
saml1::SubjectLocality* locality = ssoStatement->getSubjectLocality();
diff --git a/adfs/adfs.rc b/adfs/adfs.rc
index 18346fa..5620d5a 100644
--- a/adfs/adfs.rc
+++ b/adfs/adfs.rc
@@ -54,8 +54,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -71,15 +71,15 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth ADFSv1 Plugin\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
#ifdef SHIBSP_LITE
VALUE "InternalName", "adfs-lite\0"
#else
VALUE "InternalName", "adfs\0"
#endif
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
#ifdef SHIBSP_LITE
VALUE "OriginalFilename", "adfs-lite.so\0"
@@ -87,8 +87,8 @@ BEGIN
VALUE "OriginalFilename", "adfs.so\0"
#endif
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/adfs/adfs.vcxproj b/adfs/adfs.vcxproj
index 52d2a52..1835f42 100644
--- a/adfs/adfs.vcxproj
+++ b/adfs/adfs.vcxproj
@@ -94,7 +94,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-opensaml;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
@@ -122,7 +121,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-opensaml;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
diff --git a/adfs/resource.h b/adfs/resource.h
index 3ba1cce..213fc9a 100644
--- a/adfs/resource.h
+++ b/adfs/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by adfs.rc
diff --git a/apache/Makefile.in b/apache/Makefile.in
index ed9be1a..1492b25 100644
--- a/apache/Makefile.in
+++ b/apache/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -107,7 +108,7 @@ mod_shib_22_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(mod_shib_22_la_CXXFLAGS) $(CXXFLAGS) \
$(mod_shib_22_la_LDFLAGS) $(LDFLAGS) -o $@
@BUILD_AP22_TRUE at am_mod_shib_22_la_rpath = -rpath $(modshib22dir)
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/apache/mod_apache.cpp b/apache/mod_apache.cpp
index 7aa50de..8f04472 100644
--- a/apache/mod_apache.cpp
+++ b/apache/mod_apache.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -78,6 +82,7 @@
#include <sstream>
#include <stdexcept>
+#include <cstddef>
#ifdef HAVE_UNISTD_H
#include <unistd.h> // for getpid()
#endif
@@ -168,6 +173,7 @@ struct shib_dir_config
int bExportAssertion; // export SAML assertion to the environment?
int bUseEnvVars; // use environment?
int bUseHeaders; // use headers?
+ int bExpireRedirects; // expire redirects?
};
// creates per-directory config structure
@@ -188,6 +194,7 @@ extern "C" void* create_shib_dir_config (SH_AP_POOL* p, char* d)
dc->bExportAssertion = -1;
dc->bUseEnvVars = -1;
dc->bUseHeaders = -1;
+ dc->bExpireRedirects = -1;
return dc;
}
@@ -252,6 +259,7 @@ extern "C" void* merge_shib_dir_config (SH_AP_POOL* p, void* base, void* sub)
dc->bAuthoritative=((child->bAuthoritative==-1) ? parent->bAuthoritative : child->bAuthoritative);
dc->bUseEnvVars=((child->bUseEnvVars==-1) ? parent->bUseEnvVars : child->bUseEnvVars);
dc->bUseHeaders=((child->bUseHeaders==-1) ? parent->bUseHeaders : child->bUseHeaders);
+ dc->bExpireRedirects=((child->bExpireRedirects==-1) ? parent->bExpireRedirects : child->bExpireRedirects);
return dc;
}
@@ -311,7 +319,7 @@ extern "C" const char* shib_table_set(cmd_parms* parms, shib_dir_config* dc, con
class ShibTargetApache : public AbstractSPRequest
-#if defined(HAVE_GSSAPI) && !defined(SHIB_APACHE_13)
+#if defined(SHIBSP_HAVE_GSSAPI) && !defined(SHIB_APACHE_13)
, public GSSRequest
#endif
{
@@ -356,6 +364,9 @@ public:
const char* getScheme() const {
return m_sc->szScheme ? m_sc->szScheme : ap_http_method(m_req);
}
+ bool isSecure() const {
+ return HTTPRequest::isSecure();
+ }
const char* getHostname() const {
return ap_get_server_name(m_req);
}
@@ -451,6 +462,12 @@ public:
#endif
return m_body.c_str();
}
+ const char* getParameter(const char* name) const {
+ return AbstractSPRequest::getParameter(name);
+ }
+ vector<const char*>::size_type getParameters(const char* name, vector<const char*>& values) const {
+ return AbstractSPRequest::getParameters(name, values);
+ }
void clearHeader(const char* rawname, const char* cginame) {
if (m_dc->bUseHeaders == 1) {
// ap_log_rerror(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(m_req), "shib_clear_header: hdr\n");
@@ -573,6 +590,10 @@ public:
long sendRedirect(const char* url) {
HTTPResponse::sendRedirect(url);
ap_table_set(m_req->headers_out, "Location", url);
+ if (m_dc->bExpireRedirects != 0) {
+ ap_table_set(m_req->err_headers_out, "Expires", "Wed, 01 Jan 1997 12:00:00 GMT");
+ ap_table_set(m_req->err_headers_out, "Cache-Control", "private,no-store,no-cache,max-age=0");
+ }
return REDIRECT;
}
const vector<string>& getClientCertificates() const {
@@ -591,7 +612,7 @@ public:
}
long returnDecline(void) { return DECLINED; }
long returnOK(void) { return OK; }
-#if defined(HAVE_GSSAPI) && !defined(SHIB_APACHE_13)
+#if defined(SHIBSP_HAVE_GSSAPI) && !defined(SHIB_APACHE_13)
gss_ctx_id_t getGSSContext() const {
gss_ctx_id_t ctx = GSS_C_NO_CONTEXT;
apr_pool_userdata_get((void**)&ctx, g_szGSSContextKey, m_req->pool);
@@ -919,7 +940,7 @@ void ApacheRequestMapper::getAll(map<string,const char*>& properties) const
properties["exportAssertion"] = (sta->m_dc->bExportAssertion==1) ? "true" : "false";
if (sta->m_dc->tSettings)
- ap_table_do(_rm_get_all_table_walk, &properties, sta->m_dc->tSettings, nullptr);
+ ap_table_do(_rm_get_all_table_walk, &properties, sta->m_dc->tSettings, NULL);
}
const PropertySet* ApacheRequestMapper::getPropertySet(const char* name, const char* ns) const
@@ -1456,7 +1477,7 @@ static apr_status_t do_output_filter(ap_filter_t *f, apr_bucket_brigade *in)
ap_log_rerror(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(r),"shib_out_filter: merging %d headers", apr_table_elts(rc->hdr_out)->nelts);
// can't use overlap call because it will collapse Set-Cookie headers
//apr_table_overlap(r->headers_out, rc->hdr_out, APR_OVERLAP_TABLES_MERGE);
- apr_table_do(_table_add,r->headers_out, rc->hdr_out,nullptr);
+ apr_table_do(_table_add,r->headers_out, rc->hdr_out,NULL);
}
/* remove ourselves from the filter chain */
@@ -1475,7 +1496,7 @@ static apr_status_t do_error_filter(ap_filter_t *f, apr_bucket_brigade *in)
ap_log_rerror(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(r),"shib_err_filter: merging %d headers", apr_table_elts(rc->hdr_out)->nelts);
// can't use overlap call because it will collapse Set-Cookie headers
//apr_table_overlap(r->err_headers_out, rc->hdr_out, APR_OVERLAP_TABLES_MERGE);
- apr_table_do(_table_add,r->err_headers_out, rc->hdr_out,nullptr);
+ apr_table_do(_table_add,r->err_headers_out, rc->hdr_out,NULL);
}
/* remove ourselves from the filter chain */
@@ -1547,6 +1568,9 @@ static command_rec shire_cmds[] = {
{"ShibUseHeaders", (config_fn_t)ap_set_flag_slot,
(void *) XtOffsetOf (shib_dir_config, bUseHeaders),
OR_AUTHCFG, FLAG, "Export attributes using custom HTTP headers"},
+ {"ShibExpireRedirects", (config_fn_t)ap_set_flag_slot,
+ (void *) XtOffsetOf (shib_dir_config, bExpireRedirects),
+ OR_AUTHCFG, FLAG, "Expire SP-generated redirects"},
{nullptr}
};
@@ -1666,6 +1690,9 @@ static command_rec shib_cmds[] = {
AP_INIT_FLAG("ShibUseHeaders", (config_fn_t)ap_set_flag_slot,
(void *) offsetof (shib_dir_config, bUseHeaders),
OR_AUTHCFG, "Export attributes using custom HTTP headers"),
+ AP_INIT_FLAG("ShibExpireRedirects", (config_fn_t)ap_set_flag_slot,
+ (void *) offsetof (shib_dir_config, bExpireRedirects),
+ OR_AUTHCFG, "Expire SP-generated redirects"),
{nullptr}
};
diff --git a/apache/mod_shib13.vcxproj b/apache/mod_shib13.vcxproj
index 04216b3..93f5453 100644
--- a/apache/mod_shib13.vcxproj
+++ b/apache/mod_shib13.vcxproj
@@ -175,7 +175,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -208,7 +207,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/apache/mod_shib20.vcxproj b/apache/mod_shib20.vcxproj
index da56a12..9fef160 100644
--- a/apache/mod_shib20.vcxproj
+++ b/apache/mod_shib20.vcxproj
@@ -178,7 +178,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -212,7 +211,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/apache/mod_shib22.vcxproj b/apache/mod_shib22.vcxproj
index 4ffb6fd..225f037 100644
--- a/apache/mod_shib22.vcxproj
+++ b/apache/mod_shib22.vcxproj
@@ -176,7 +176,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..;\Apache2.2.14\include;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<BrowseInformation>true</BrowseInformation>
@@ -212,7 +211,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..;\httpd-2.2-x64\include;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<BrowseInformation>true</BrowseInformation>
diff --git a/apache/mod_shib_13.cpp b/apache/mod_shib_13.cpp
index 0497568..3be0704 100644
--- a/apache/mod_shib_13.cpp
+++ b/apache/mod_shib_13.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * UCAID licenses this file to you 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
*
- * 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.
+ * 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.
*/
/* mod_shib_13.cpp -- a wrapper around the apache module code to
diff --git a/apache/mod_shib_13.rc b/apache/mod_shib_13.rc
index ea88567..30aa7e6 100644
--- a/apache/mod_shib_13.rc
+++ b/apache/mod_shib_13.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth Apache 1.3 Module\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "mod_shib_13\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "mod_shib_13.so\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/apache/mod_shib_20.cpp b/apache/mod_shib_20.cpp
index 47e8999..eae5824 100644
--- a/apache/mod_shib_20.cpp
+++ b/apache/mod_shib_20.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * UCAID licenses this file to you 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
*
- * 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.
+ * 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.
*/
/* mod_shib_20.cpp -- a wrapper around the apache module code to
diff --git a/apache/mod_shib_20.rc b/apache/mod_shib_20.rc
index 831823b..277bf91 100644
--- a/apache/mod_shib_20.rc
+++ b/apache/mod_shib_20.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth Apache 2.0 Module\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "mod_shib_20\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "mod_shib_20.so\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/apache/mod_shib_22.cpp b/apache/mod_shib_22.cpp
index 478351a..a25d402 100644
--- a/apache/mod_shib_22.cpp
+++ b/apache/mod_shib_22.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * UCAID licenses this file to you 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
*
- * 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.
+ * 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.
*/
/* mod_shib_22.cpp -- a wrapper around the apache module code to
diff --git a/apache/mod_shib_22.rc b/apache/mod_shib_22.rc
index af878e4..3c942d3 100644
--- a/apache/mod_shib_22.rc
+++ b/apache/mod_shib_22.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth Apache 2.2 Module\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "mod_shib_22\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "mod_shib_22.so\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/apache/resource.h b/apache/resource.h
index 547174f..1c3c68d 100644
--- a/apache/resource.h
+++ b/apache/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by mod_shib_20.rc
diff --git a/config.h.in b/config.h.in
index 0311c42..f7534ad 100644
--- a/config.h.in
+++ b/config.h.in
@@ -16,8 +16,8 @@
/* Define to 1 if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R
-/* if you have the gssapi libraries */
-#undef HAVE_GSSAPI
+/* Define to 1 if GSS-API composite name import is available. */
+#undef HAVE_GSSAPI_COMPOSITE_NAME
/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
@@ -28,14 +28,8 @@
/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
#undef HAVE_GSSAPI_GSSAPI_KRB5_H
-/* if you have the GNU gssapi libraries */
-#undef HAVE_GSSGNU
-
-/* if you have the Heimdal gssapi libraries */
-#undef HAVE_GSSHEIMDAL
-
-/* if you have the MIT gssapi libraries */
-#undef HAVE_GSSMIT
+/* Define to 1 if GSS-API naming extensions are available. */
+#undef HAVE_GSSAPI_NAMINGEXTS
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -130,6 +124,18 @@
your system. */
#undef PTHREAD_CREATE_JOINABLE
+/* if you have the gssapi libraries */
+#undef SHIBSP_HAVE_GSSAPI
+
+/* if you have the GNU gssapi libraries */
+#undef SHIBSP_HAVE_GSSGNU
+
+/* if you have the Heimdal gssapi libraries */
+#undef SHIBSP_HAVE_GSSHEIMDAL
+
+/* if you have the MIT gssapi libraries */
+#undef SHIBSP_HAVE_GSSMIT
+
/* Define to 1 if log4cpp library is used. */
#undef SHIBSP_LOG4CPP
diff --git a/config_win32.h b/config_win32.h
index 71b5711..04569d8 100644
--- a/config_win32.h
+++ b/config_win32.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
/* config.h. Generated by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
@@ -106,19 +126,19 @@
#define PACKAGE "shibboleth"
/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "https://bugs.internet2.edu/"
+#define PACKAGE_BUGREPORT "https://issues.shibboleth.net/"
/* Define to the full name of this package. */
#define PACKAGE_NAME "shibboleth"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "shibboleth 2.4.2"
+#define PACKAGE_STRING "shibboleth 2.4.3"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "shibboleth"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.4.2"
+#define PACKAGE_VERSION "2.4.3"
/* Define to the necessary symbol if this constant uses a non-standard name on
your system. */
@@ -131,7 +151,7 @@
/* #undef TM_IN_SYS_TIME */
/* Version number of package */
-#define VERSION "2.4.2"
+#define VERSION "2.4.3"
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
diff --git a/configs/Makefile.in b/configs/Makefile.in
index 261ae33..fa961a5 100644
--- a/configs/Makefile.in
+++ b/configs/Makefile.in
@@ -44,7 +44,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
diff --git a/configs/example-metadata.xml b/configs/example-metadata.xml
index be7bf43..1b99d15 100644
--- a/configs/example-metadata.xml
+++ b/configs/example-metadata.xml
@@ -14,8 +14,11 @@ metadata to you properly.
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
- xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:metadata saml-schema-metadata-2.0.xsd urn:mace:shibboleth:metadata:1.0 shibboleth-metadata-1.0.xsd http://www.w3.org/2000/09/xmldsig# xmldsig-core-schema.xsd"
- validUntil="2010-01-01T00:00:00Z"
+ xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:metadata saml-schema-metadata-2.0.xsd
+ urn:mace:shibboleth:metadata:1.0 shibboleth-metadata-1.0.xsd
+ urn:oasis:names:tc:SAML:metadata:ui sstc-saml-metadata-ui-v1.0.xsd
+ http://www.w3.org/2000/09/xmldsig# xmldsig-core-schema.xsd"
+ validUntil="2020-01-01T00:00:00Z"
entityID="https://idp.example.org/shibboleth">
<!--
The entityID above looks like a location, but it's actually just a name.
@@ -29,49 +32,35 @@ metadata to you properly.
like this even if you don't actually register the server in DNS using it.
The URL does not have to resolve into anything to use it as a name, although
it is useful if it does in fact point to your metadata. The key point is
- for the name you choose to be stable, which is why including hostnames is
+ for the name you choose to be stable, which is why using hostnames is
generally bad, since they tend to change.
-->
<!-- A Shibboleth 1.x and SAML 2.0 IdP contains this element with protocol support as shown. -->
<IDPSSODescriptor protocolSupportEnumeration="urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
<Extensions>
- <!-- This is a Shibboleth extension to express attribute scope rules. -->
+ <!-- This is a Shibboleth extension to express permissible attribute scope(s). -->
<shibmd:Scope>example.org</shibmd:Scope>
+
+ <!--
+ This is a recent OASIS-defined extension for user-interface material related to the IdP.
+ See http://wiki.oasis-open.org/security/SAML2MetadataUI for more details.
+ -->
+ <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
+ <mdui:DisplayName xml:lang="en">Identities 'R' Us</mdui:DisplayName>
+ <mdui:InformationURL xml:lang="en">https://idp.example.org/info/</mdui:InformationURL>
+ <mdui:Logo height="60" width="80" xml:lang="en">https://example.org/images/logo.png</mdui:Logo>
+ <mdui:Logo height="16" width="16" xml:lang="en">https://example.org/images/favico.png</mdui:Logo>
+ </mdui:UIInfo>
</Extensions>
<!--
One or more KeyDescriptors tell your SP how the IdP will authenticate itself. A single
- descriptor can be used for both signing and for server-TLS if its use attribute
- is set to "signing". You can place an X.509 certificate directly in this element
- to specify the public key to use. This only reflects the public half of the keypair
- used by the IdP. A different key, or the same key, can be specified for enabling
- the SP to encrypt XML it sends to the IdP.
+ descriptor can be used for both signing and for server-TLS. You can place an X.509
+ certificate directly in this element to specify the public key to use. This only
+ reflects the public half of the keypair used by the IdP.
-->
- <KeyDescriptor use="signing">
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>
- MIICkjCCAfugAwIBAgIJAK7VCxPsh8yrMA0GCSqGSIb3DQEBBAUAMDsxCzAJBgNV
- BAYTAlVTMRIwEAYDVQQKEwlJbnRlcm5ldDIxGDAWBgNVBAMTD2lkcC5leGFtcGxl
- Lm9yZzAeFw0wNTA2MjAxNTUwNDFaFw0zMjExMDUxNTUwNDFaMDsxCzAJBgNVBAYT
- AlVTMRIwEAYDVQQKEwlJbnRlcm5ldDIxGDAWBgNVBAMTD2lkcC5leGFtcGxlLm9y
- ZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2VnUvWYrNhtRUqIxAuFmV8YP
- Jhr+OMKJpc/RaEs2C8mk5N5qO+ysClg2cVfkws3O4Lc15AiNdQ0s3ZijYwJK2EEg
- 4vmoTl2RrjP1b3PK2h+VbUuYny9enHwDL+Z4bjP/8nmIKlhUSq4DTGXbwdQiWjCd
- lQXvDtvHRwX/TaqtHbcCAwEAAaOBnTCBmjAdBgNVHQ4EFgQUlmI7WqzIDJzcfAyU
- v2kmk3p9sbAwawYDVR0jBGQwYoAUlmI7WqzIDJzcfAyUv2kmk3p9sbChP6Q9MDsx
- CzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJbnRlcm5ldDIxGDAWBgNVBAMTD2lkcC5l
- eGFtcGxlLm9yZ4IJAK7VCxPsh8yrMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEE
- BQADgYEAsatF5gh1ZBF1QuXxchKp2BKVOsK+23y+FqhuOuVi/PTMf+Li84Ih25Al
- Jyy3OKc0oprM6tCJaiSooy32KTW6a1xhPm2MwuXzD33SPoKItue/ndp8Bhx/PO9U
- w14fpgtAk2x8xD7cpHsZ073JHxEcjEetD8PTtrFdNu6GwIrv6Sk=
- </ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </KeyDescriptor>
-
- <KeyDescriptor use="encryption">
+ <KeyDescriptor>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
@@ -100,10 +89,11 @@ metadata to you properly.
Location="https://idp.example.org:8443/shibboleth/profile/saml1/soap/ArtifactResolution"/>
<!-- This tells the SP where/how to resolve SAML 2.0 artifacts into SAML messages. -->
- <ArtifactResolutionService index="1"
+ <ArtifactResolutionService index="2"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
Location="https://idp.example.org:8443/shibboleth/profile/saml2/soap/ArtifactResolution"/>
+ <!-- This is informational and communicates what kinds of SAML Subjects the IdP supports. -->
<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
@@ -116,15 +106,15 @@ metadata to you properly.
Location="https://idp.example.org/shibboleth/profile/saml2/POST/SSO"/>
</IDPSSODescriptor>
- <!-- Most Shibboleth IdPs also support SAML attribute queries, so this role is also included. -->
+ <!-- Most Shibboleth IdPs also support SAML 1.x attribute queries, so this role is also included. -->
<AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
<Extensions>
- <!-- This is a Shibboleth extension to express attribute scope rules. -->
+ <!-- This is a Shibboleth extension to express permissible attribute scope(s). -->
<shibmd:Scope>example.org</shibmd:Scope>
</Extensions>
<!-- The certificate has to be repeated here (or a different one specified if necessary). -->
- <KeyDescriptor use="signing">
+ <KeyDescriptor>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
@@ -147,41 +137,28 @@ metadata to you properly.
</ds:KeyInfo>
</KeyDescriptor>
- <KeyDescriptor use="encryption">
- <ds:KeyInfo>
- <ds:X509Data>
- <ds:X509Certificate>
- MIICkjCCAfugAwIBAgIJAK7VCxPsh8yrMA0GCSqGSIb3DQEBBAUAMDsxCzAJBgNV
- BAYTAlVTMRIwEAYDVQQKEwlJbnRlcm5ldDIxGDAWBgNVBAMTD2lkcC5leGFtcGxl
- Lm9yZzAeFw0wNTA2MjAxNTUwNDFaFw0zMjExMDUxNTUwNDFaMDsxCzAJBgNVBAYT
- AlVTMRIwEAYDVQQKEwlJbnRlcm5ldDIxGDAWBgNVBAMTD2lkcC5leGFtcGxlLm9y
- ZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2VnUvWYrNhtRUqIxAuFmV8YP
- Jhr+OMKJpc/RaEs2C8mk5N5qO+ysClg2cVfkws3O4Lc15AiNdQ0s3ZijYwJK2EEg
- 4vmoTl2RrjP1b3PK2h+VbUuYny9enHwDL+Z4bjP/8nmIKlhUSq4DTGXbwdQiWjCd
- lQXvDtvHRwX/TaqtHbcCAwEAAaOBnTCBmjAdBgNVHQ4EFgQUlmI7WqzIDJzcfAyU
- v2kmk3p9sbAwawYDVR0jBGQwYoAUlmI7WqzIDJzcfAyUv2kmk3p9sbChP6Q9MDsx
- CzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJbnRlcm5ldDIxGDAWBgNVBAMTD2lkcC5l
- eGFtcGxlLm9yZ4IJAK7VCxPsh8yrMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEE
- BQADgYEAsatF5gh1ZBF1QuXxchKp2BKVOsK+23y+FqhuOuVi/PTMf+Li84Ih25Al
- Jyy3OKc0oprM6tCJaiSooy32KTW6a1xhPm2MwuXzD33SPoKItue/ndp8Bhx/PO9U
- w14fpgtAk2x8xD7cpHsZ073JHxEcjEetD8PTtrFdNu6GwIrv6Sk=
- </ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </KeyDescriptor>
-
- <!-- This tells the SP how and where to send queries. -->
+ <!--
+ This tells the SP how and where to send queries when SAML 1.x is used.
+ The SAML 2.0 version is normally left out because attributes are pushed
+ and encrypted during SSO rather than pulled after.
+ -->
<AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
Location="https://idp.example.org:8443/shibboleth/profiles/saml1/soap/AttributeQuery"/>
+ <!--
<AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
Location="https://idp.example.org:8443/shibboleth/profiles/saml2/soap/AttributeQuery"/>
-
- <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
- <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ -->
+
+ <!-- This is informational and communicates what kinds of SAML Subjects the IdP supports. -->
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
</AttributeAuthorityDescriptor>
- <!-- This is just information about the entity in human terms. -->
+ <!--
+ This is just information about the entity in human terms.
+ For user interface needs, see the new <mdui:UIInfo> extension.
+ -->
<Organization>
<OrganizationName xml:lang="en">Example Identity Provider</OrganizationName>
<OrganizationDisplayName xml:lang="en">Identities 'R' Us</OrganizationDisplayName>
diff --git a/configs/example-shibboleth2.xml b/configs/example-shibboleth2.xml
index 8ab846d..87066d4 100644
--- a/configs/example-shibboleth2.xml
+++ b/configs/example-shibboleth2.xml
@@ -1,270 +1,270 @@
-<SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config"
- xmlns:conf="urn:mace:shibboleth:2.0:native:sp:config"
- xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
- xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
- xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
- logger="syslog.logger" clockSkew="180">
-
- <!-- The OutOfProcess section contains properties affecting the shibd daemon. -->
- <OutOfProcess logger="shibd.logger">
- <!--
- <Extensions>
- <Library path="odbc-store.so" fatal="true"/>
- </Extensions>
- -->
- </OutOfProcess>
-
- <!--
- The InProcess section contains settings affecting web server modules.
- Required for IIS, but can be removed when using other web servers.
- -->
- <InProcess logger="native.logger">
- <ISAPI normalizeRequest="true" safeHeaderNames="true">
- <!--
- Maps IIS Instance ID values to the host scheme/name/port. The name is
- required so that the proper <Host> in the request map above is found without
- having to cover every possible DNS/IP combination the user might enter.
- -->
- <Site id="1" name="sp.example.org"/>
- <!--
- When the port and scheme are omitted, the HTTP request's port and scheme are used.
- If these are wrong because of virtualization, they can be explicitly set here to
- ensure proper redirect generation.
- -->
- <!--
- <Site id="42" name="virtual.example.org" scheme="https" port="443"/>
- -->
- </ISAPI>
- </InProcess>
-
- <!-- Only one listener can be defined, to connect in-process modules to shibd. -->
- <UnixListener address="shibd.sock"/>
- <!-- <TCPListener address="127.0.0.1" port="1600" acl="127.0.0.1"/> -->
-
- <!-- This set of components stores sessions and other persistent data in daemon memory. -->
- <StorageService type="Memory" id="mem" cleanupInterval="900"/>
- <SessionCache type="StorageService" StorageService="mem" cacheAssertions="false"
- cacheAllowance="900" inprocTimeout="900" cleanupInterval="900"/>
- <ReplayCache StorageService="mem"/>
- <ArtifactMap artifactTTL="180"/>
-
- <!-- This set of components stores sessions and other persistent data in an ODBC database. -->
- <!--
- <StorageService type="ODBC" id="db" cleanupInterval="900">
- <ConnectionString>
- DRIVER=drivername;SERVER=dbserver;UID=shibboleth;PWD=password;DATABASE=shibboleth;APP=Shibboleth
- </ConnectionString>
- </StorageService>
- <SessionCache type="StorageService" StorageService="db" cacheAssertions="false"
- cacheTimeout="3600" inprocTimeout="900" cleanupInterval="900"/>
- <ReplayCache StorageService="db"/>
- <ArtifactMap StorageService="db" artifactTTL="180"/>
- -->
-
- <!--
- To customize behavior for specific resources on Apache, and to link vhosts or
- resources to ApplicationOverride settings below, use web server options/commands.
- See https://spaces.internet2.edu/display/SHIB2/NativeSPConfigurationElements for help.
-
- For examples with the RequestMap XML syntax instead, see the example-shibboleth2.xml
- file, and the https://spaces.internet2.edu/display/SHIB2/NativeSPRequestMapHowTo topic.
- -->
- <RequestMapper type="Native">
- <RequestMap>
- <!--
- The example requires a session for documents in /secure on the containing host with http and
- https on the default ports. Note that the name and port in the <Host> elements MUST match
- Apache's ServerName and Port directives or the IIS Site name in the <ISAPI> element above.
- -->
- <Host name="sp.example.org">
- <Path name="secure" authType="shibboleth" requireSession="true"/>
- </Host>
- <!-- Example of a second vhost mapped to a different applicationId. -->
- <!--
- <Host name="admin.example.org" applicationId="admin" authType="shibboleth" requireSession="true"/>
- -->
- </RequestMap>
- </RequestMapper>
-
- <!--
- The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined.
- Resource requests are mapped by the RequestMapper to an applicationId that
- points into to this section (or to the defaults here).
- -->
- <ApplicationDefaults entityID="https://sp.example.org/shibboleth"
- REMOTE_USER="eppn persistent-id targeted-id"
- signing="false" encryption="false">
-
- <!--
- Controls session lifetimes, address checks, cookie handling, and the protocol handlers.
- You MUST supply an effectively unique handlerURL value for each of your applications.
- The value defaults to /Shibboleth.sso, and should be a relative path, with the SP computing
- a relative value based on the virtual host. Using handlerSSL="true", the default, will force
- the protocol to be https. You should also add a cookieProps setting of "; path=/; secure"
- in that case. Note that while we default checkAddress to "false", this has a negative
- impact on the security of the SP. Stealing cookies/sessions is much easier with this disabled.
- -->
- <Sessions lifetime="28800" timeout="3600" checkAddress="false"
- handlerURL="/Shibboleth.sso" handlerSSL="false" relayState="ss:mem"
- exportLocation="http://localhost/Shibboleth.sso/GetAssertion" exportACL="127.0.0.1"
- idpHistory="false" idpHistoryDays="7">
-
- <!--
- The "stripped down" files use the shorthand syntax for configuring handlers.
- This uses the old "every handler specified directly" syntax. You can replace
- or supplement the new syntax following these examples.
- -->
-
- <!--
- SessionInitiators handle session requests and relay them to a Discovery page,
- or to an IdP if possible. Automatic session setup will use the default or first
- element (or requireSessionWith can specify a specific id to use).
- -->
-
- <!-- Default directs to a specific IdP (favoring SAML 2 over Shib 1). -->
- <SessionInitiator type="Chaining" Location="/Login" isDefault="true" id="Login"
- entityID="https://idp.example.org/shibboleth">
-
- <SessionInitiator type="SAML2" template="bindingTemplate.html"/>
- <SessionInitiator type="Shib1"/>
- <!--
- To allow for >1 IdP, remove entityID property from Chaining element and add
- *either* of the SAMLDS or WAYF handlers below:
-
- <SessionInitiator type="SAMLDS" URL="https://ds.example.org/DS/WAYF"/>
- <SessionInitiator type="WAYF" URL="https://wayf.example.org/WAYF"/>
- -->
- </SessionInitiator>
-
- <!--
- md:AssertionConsumerService locations handle specific SSO protocol bindings,
- such as SAML 2.0 POST or SAML 1.1 Artifact. The isDefault and index attributes
- are used when sessions are initiated to determine how to tell the IdP where and
- how to return the response.
- -->
- <md:AssertionConsumerService Location="/SAML2/POST" index="1"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
- <md:AssertionConsumerService Location="/SAML2/POST-SimpleSign" index="2"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"/>
- <md:AssertionConsumerService Location="/SAML2/Artifact" index="3"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"/>
- <md:AssertionConsumerService Location="/SAML2/ECP" index="4"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS"/>
- <md:AssertionConsumerService Location="/SAML/POST" index="5"
- Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post"/>
- <md:AssertionConsumerService Location="/SAML/Artifact" index="6"
- Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01"/>
-
- <!-- LogoutInitiators enable SP-initiated local or global/single logout of sessions. -->
- <LogoutInitiator type="Chaining" Location="/Logout">
- <LogoutInitiator type="SAML2" template="bindingTemplate.html"/>
- <LogoutInitiator type="Local"/>
- </LogoutInitiator>
-
- <!-- md:SingleLogoutService locations handle single logout (SLO) protocol messages. -->
- <md:SingleLogoutService Location="/SLO/SOAP"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"/>
- <md:SingleLogoutService Location="/SLO/Redirect" conf:template="bindingTemplate.html"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
- <md:SingleLogoutService Location="/SLO/POST" conf:template="bindingTemplate.html"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
- <md:SingleLogoutService Location="/SLO/Artifact" conf:template="bindingTemplate.html"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"/>
-
- <!-- md:ManageNameIDService locations handle NameID management (NIM) protocol messages. -->
- <md:ManageNameIDService Location="/NIM/SOAP"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"/>
- <md:ManageNameIDService Location="/NIM/Redirect" conf:template="bindingTemplate.html"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
- <md:ManageNameIDService Location="/NIM/POST" conf:template="bindingTemplate.html"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
- <md:ManageNameIDService Location="/NIM/Artifact" conf:template="bindingTemplate.html"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"/>
-
- <!--
- md:ArtifactResolutionService locations resolve artifacts issued when using the
- SAML 2.0 HTTP-Artifact binding on outgoing messages, generally uses SOAP.
- -->
- <md:ArtifactResolutionService Location="/Artifact/SOAP" index="1"
- Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"/>
-
- <!-- Extension service that generates "approximate" metadata based on SP configuration. -->
- <Handler type="MetadataGenerator" Location="/Metadata" signing="false"/>
-
- <!-- Status reporting service. -->
- <Handler type="Status" Location="/Status" acl="127.0.0.1"/>
-
- <!-- Session diagnostic service. -->
- <Handler type="Session" Location="/Session" showAttributeValues="false"/>
-
- <!-- JSON feed of discovery information. -->
- <Handler type="DiscoveryFeed" Location="/DiscoFeed"/>
- </Sessions>
-
- <!--
- Allows overriding of error template information/filenames. You can
- also add attributes with values that can be plugged into the templates.
- -->
- <Errors supportContact="root at localhost"
- logoLocation="/shibboleth-sp/logo.jpg"
- styleSheet="/shibboleth-sp/main.css"/>
-
- <!--
- Uncomment and modify to tweak settings for specific IdPs or groups. Settings here
- generally match those allowed by the <ApplicationDefaults> element.
- -->
- <!--
- <RelyingParty Name="SpecialFederation" keyName="SpecialKey"/>
- -->
-
- <!-- Example of remotely supplied batch of signed metadata. -->
- <!--
- <MetadataProvider type="XML" uri="http://federation.org/federation-metadata.xml"
- backingFilePath="federation-metadata.xml" reloadInterval="7200">
- <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
- <MetadataFilter type="Signature" certificate="fedsigner.pem"/>
- </MetadataProvider>
- -->
-
- <!-- Example of locally maintained metadata. -->
- <!--
- <MetadataProvider type="XML" file="partner-metadata.xml"/>
- -->
-
- <!-- TrustEngines run in order to evaluate peer keys and certificates. -->
- <TrustEngine type="ExplicitKey"/>
- <TrustEngine type="PKIX"/>
-
- <!-- Map to extract attributes from SAML assertions. -->
- <AttributeExtractor type="XML" validate="true" path="attribute-map.xml"/>
-
- <!-- Use a SAML query if no attributes are supplied during SSO. -->
- <AttributeResolver type="Query" subjectMatch="true"/>
-
- <!-- Default filtering policy for recognized attributes, lets other data pass. -->
- <AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/>
-
- <!-- Simple file-based resolver for using a single keypair. -->
- <CredentialResolver type="File" key="sp-key.pem" certificate="sp-cert.pem"/>
-
- <!--
- The default settings can be overridden by creating ApplicationOverride elements (see
- the https://spaces.internet2.edu/display/SHIB2/NativeSPApplicationOverride topic).
- Resource requests are mapped by web server commands, or the RequestMapper, to an
- applicationId setting.
-
- Example of a second application (for a second vhost) that has a different entityID.
- Resources on the vhost would map to an applicationId of "admin":
- -->
- <!--
- <ApplicationOverride id="admin" entityID="https://admin.example.org/shibboleth"/>
- -->
- </ApplicationDefaults>
-
- <!-- Policies that determine how to process and authenticate runtime messages. -->
- <SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/>
-
- <!-- Low-level configuration about protocols and bindings available for use. -->
- <ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/>
-
-</SPConfig>
+<SPConfig xmlns="urn:mace:shibboleth:2.0:native:sp:config"
+ xmlns:conf="urn:mace:shibboleth:2.0:native:sp:config"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
+ xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
+ logger="syslog.logger" clockSkew="180">
+
+ <!-- The OutOfProcess section contains properties affecting the shibd daemon. -->
+ <OutOfProcess logger="shibd.logger">
+ <!--
+ <Extensions>
+ <Library path="odbc-store.so" fatal="true"/>
+ </Extensions>
+ -->
+ </OutOfProcess>
+
+ <!--
+ The InProcess section contains settings affecting web server modules.
+ Required for IIS, but can be removed when using other web servers.
+ -->
+ <InProcess logger="native.logger">
+ <ISAPI normalizeRequest="true" safeHeaderNames="true">
+ <!--
+ Maps IIS Instance ID values to the host scheme/name/port. The name is
+ required so that the proper <Host> in the request map above is found without
+ having to cover every possible DNS/IP combination the user might enter.
+ -->
+ <Site id="1" name="sp.example.org"/>
+ <!--
+ When the port and scheme are omitted, the HTTP request's port and scheme are used.
+ If these are wrong because of virtualization, they can be explicitly set here to
+ ensure proper redirect generation.
+ -->
+ <!--
+ <Site id="42" name="virtual.example.org" scheme="https" port="443"/>
+ -->
+ </ISAPI>
+ </InProcess>
+
+ <!-- Only one listener can be defined, to connect in-process modules to shibd. -->
+ <UnixListener address="shibd.sock"/>
+ <!-- <TCPListener address="127.0.0.1" port="1600" acl="127.0.0.1"/> -->
+
+ <!-- This set of components stores sessions and other persistent data in daemon memory. -->
+ <StorageService type="Memory" id="mem" cleanupInterval="900"/>
+ <SessionCache type="StorageService" StorageService="mem" cacheAssertions="false"
+ cacheAllowance="900" inprocTimeout="900" cleanupInterval="900"/>
+ <ReplayCache StorageService="mem"/>
+ <ArtifactMap artifactTTL="180"/>
+
+ <!-- This set of components stores sessions and other persistent data in an ODBC database. -->
+ <!--
+ <StorageService type="ODBC" id="db" cleanupInterval="900">
+ <ConnectionString>
+ DRIVER=drivername;SERVER=dbserver;UID=shibboleth;PWD=password;DATABASE=shibboleth;APP=Shibboleth
+ </ConnectionString>
+ </StorageService>
+ <SessionCache type="StorageService" StorageService="db" cacheAssertions="false"
+ cacheTimeout="3600" inprocTimeout="900" cleanupInterval="900"/>
+ <ReplayCache StorageService="db"/>
+ <ArtifactMap StorageService="db" artifactTTL="180"/>
+ -->
+
+ <!--
+ To customize behavior for specific resources on Apache, and to link vhosts or
+ resources to ApplicationOverride settings below, use web server options/commands.
+ See https://spaces.internet2.edu/display/SHIB2/NativeSPConfigurationElements for help.
+
+ For examples with the RequestMap XML syntax instead, see the example-shibboleth2.xml
+ file, and the https://spaces.internet2.edu/display/SHIB2/NativeSPRequestMapHowTo topic.
+ -->
+ <RequestMapper type="Native">
+ <RequestMap>
+ <!--
+ The example requires a session for documents in /secure on the containing host with http and
+ https on the default ports. Note that the name and port in the <Host> elements MUST match
+ Apache's ServerName and Port directives or the IIS Site name in the <ISAPI> element above.
+ -->
+ <Host name="sp.example.org">
+ <Path name="secure" authType="shibboleth" requireSession="true"/>
+ </Host>
+ <!-- Example of a second vhost mapped to a different applicationId. -->
+ <!--
+ <Host name="admin.example.org" applicationId="admin" authType="shibboleth" requireSession="true"/>
+ -->
+ </RequestMap>
+ </RequestMapper>
+
+ <!--
+ The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined.
+ Resource requests are mapped by the RequestMapper to an applicationId that
+ points into to this section (or to the defaults here).
+ -->
+ <ApplicationDefaults entityID="https://sp.example.org/shibboleth"
+ REMOTE_USER="eppn persistent-id targeted-id"
+ signing="false" encryption="false">
+
+ <!--
+ Controls session lifetimes, address checks, cookie handling, and the protocol handlers.
+ You MUST supply an effectively unique handlerURL value for each of your applications.
+ The value defaults to /Shibboleth.sso, and should be a relative path, with the SP computing
+ a relative value based on the virtual host. Using handlerSSL="true", the default, will force
+ the protocol to be https. You should also add a cookieProps setting of "; path=/; secure"
+ in that case. Note that while we default checkAddress to "false", this has a negative
+ impact on the security of the SP. Stealing cookies/sessions is much easier with this disabled.
+ -->
+ <Sessions lifetime="28800" timeout="3600" checkAddress="false"
+ handlerURL="/Shibboleth.sso" handlerSSL="false" relayState="ss:mem"
+ exportLocation="http://localhost/Shibboleth.sso/GetAssertion" exportACL="127.0.0.1"
+ idpHistory="false" idpHistoryDays="7">
+
+ <!--
+ The "stripped down" files use the shorthand syntax for configuring handlers.
+ This uses the old "every handler specified directly" syntax. You can replace
+ or supplement the new syntax following these examples.
+ -->
+
+ <!--
+ SessionInitiators handle session requests and relay them to a Discovery page,
+ or to an IdP if possible. Automatic session setup will use the default or first
+ element (or requireSessionWith can specify a specific id to use).
+ -->
+
+ <!-- Default directs to a specific IdP (favoring SAML 2 over Shib 1). -->
+ <SessionInitiator type="Chaining" Location="/Login" isDefault="true" id="Login"
+ entityID="https://idp.example.org/shibboleth">
+
+ <SessionInitiator type="SAML2" template="bindingTemplate.html"/>
+ <SessionInitiator type="Shib1"/>
+ <!--
+ To allow for >1 IdP, remove entityID property from Chaining element and add
+ *either* of the SAMLDS or WAYF handlers below:
+
+ <SessionInitiator type="SAMLDS" URL="https://ds.example.org/DS/WAYF"/>
+ <SessionInitiator type="WAYF" URL="https://wayf.example.org/WAYF"/>
+ -->
+ </SessionInitiator>
+
+ <!--
+ md:AssertionConsumerService locations handle specific SSO protocol bindings,
+ such as SAML 2.0 POST or SAML 1.1 Artifact. The isDefault and index attributes
+ are used when sessions are initiated to determine how to tell the IdP where and
+ how to return the response.
+ -->
+ <md:AssertionConsumerService Location="/SAML2/POST" index="1"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
+ <md:AssertionConsumerService Location="/SAML2/POST-SimpleSign" index="2"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"/>
+ <md:AssertionConsumerService Location="/SAML2/Artifact" index="3"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"/>
+ <md:AssertionConsumerService Location="/SAML2/ECP" index="4"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS"/>
+ <md:AssertionConsumerService Location="/SAML/POST" index="5"
+ Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post"/>
+ <md:AssertionConsumerService Location="/SAML/Artifact" index="6"
+ Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01"/>
+
+ <!-- LogoutInitiators enable SP-initiated local or global/single logout of sessions. -->
+ <LogoutInitiator type="Chaining" Location="/Logout">
+ <LogoutInitiator type="SAML2" template="bindingTemplate.html"/>
+ <LogoutInitiator type="Local"/>
+ </LogoutInitiator>
+
+ <!-- md:SingleLogoutService locations handle single logout (SLO) protocol messages. -->
+ <md:SingleLogoutService Location="/SLO/SOAP"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"/>
+ <md:SingleLogoutService Location="/SLO/Redirect" conf:template="bindingTemplate.html"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
+ <md:SingleLogoutService Location="/SLO/POST" conf:template="bindingTemplate.html"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
+ <md:SingleLogoutService Location="/SLO/Artifact" conf:template="bindingTemplate.html"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"/>
+
+ <!-- md:ManageNameIDService locations handle NameID management (NIM) protocol messages. -->
+ <md:ManageNameIDService Location="/NIM/SOAP"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"/>
+ <md:ManageNameIDService Location="/NIM/Redirect" conf:template="bindingTemplate.html"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
+ <md:ManageNameIDService Location="/NIM/POST" conf:template="bindingTemplate.html"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
+ <md:ManageNameIDService Location="/NIM/Artifact" conf:template="bindingTemplate.html"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"/>
+
+ <!--
+ md:ArtifactResolutionService locations resolve artifacts issued when using the
+ SAML 2.0 HTTP-Artifact binding on outgoing messages, generally uses SOAP.
+ -->
+ <md:ArtifactResolutionService Location="/Artifact/SOAP" index="1"
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"/>
+
+ <!-- Extension service that generates "approximate" metadata based on SP configuration. -->
+ <Handler type="MetadataGenerator" Location="/Metadata" signing="false"/>
+
+ <!-- Status reporting service. -->
+ <Handler type="Status" Location="/Status" acl="127.0.0.1"/>
+
+ <!-- Session diagnostic service. -->
+ <Handler type="Session" Location="/Session" showAttributeValues="false"/>
+
+ <!-- JSON feed of discovery information. -->
+ <Handler type="DiscoveryFeed" Location="/DiscoFeed"/>
+ </Sessions>
+
+ <!--
+ Allows overriding of error template information/filenames. You can
+ also add attributes with values that can be plugged into the templates.
+ -->
+ <Errors supportContact="root at localhost"
+ logoLocation="/shibboleth-sp/logo.jpg"
+ styleSheet="/shibboleth-sp/main.css"/>
+
+ <!--
+ Uncomment and modify to tweak settings for specific IdPs or groups. Settings here
+ generally match those allowed by the <ApplicationDefaults> element.
+ -->
+ <!--
+ <RelyingParty Name="SpecialFederation" keyName="SpecialKey"/>
+ -->
+
+ <!-- Example of remotely supplied batch of signed metadata. -->
+ <!--
+ <MetadataProvider type="XML" uri="http://federation.org/federation-metadata.xml"
+ backingFilePath="federation-metadata.xml" reloadInterval="7200">
+ <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
+ <MetadataFilter type="Signature" certificate="fedsigner.pem"/>
+ </MetadataProvider>
+ -->
+
+ <!-- Example of locally maintained metadata. -->
+ <!--
+ <MetadataProvider type="XML" file="partner-metadata.xml"/>
+ -->
+
+ <!-- TrustEngines run in order to evaluate peer keys and certificates. -->
+ <TrustEngine type="ExplicitKey"/>
+ <TrustEngine type="PKIX"/>
+
+ <!-- Map to extract attributes from SAML assertions. -->
+ <AttributeExtractor type="XML" validate="true" path="attribute-map.xml"/>
+
+ <!-- Use a SAML query if no attributes are supplied during SSO. -->
+ <AttributeResolver type="Query" subjectMatch="true"/>
+
+ <!-- Default filtering policy for recognized attributes, lets other data pass. -->
+ <AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/>
+
+ <!-- Simple file-based resolver for using a single keypair. -->
+ <CredentialResolver type="File" key="sp-key.pem" certificate="sp-cert.pem"/>
+
+ <!--
+ The default settings can be overridden by creating ApplicationOverride elements (see
+ the https://spaces.internet2.edu/display/SHIB2/NativeSPApplicationOverride topic).
+ Resource requests are mapped by web server commands, or the RequestMapper, to an
+ applicationId setting.
+
+ Example of a second application (for a second vhost) that has a different entityID.
+ Resources on the vhost would map to an applicationId of "admin":
+ -->
+ <!--
+ <ApplicationOverride id="admin" entityID="https://admin.example.org/shibboleth"/>
+ -->
+ </ApplicationDefaults>
+
+ <!-- Policies that determine how to process and authenticate runtime messages. -->
+ <SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/>
+
+ <!-- Low-level configuration about protocols and bindings available for use. -->
+ <ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/>
+
+</SPConfig>
diff --git a/configs/metagen.sh b/configs/metagen.sh
index e460240..84090c1 100755
--- a/configs/metagen.sh
+++ b/configs/metagen.sh
@@ -124,11 +124,6 @@ if [ $SAML1 -eq 1 ] ; then
fi
fi
-if [ $SAML2 -eq 1 ] ; then
- ACS[${#ACS[*]}]=$SAML20PAOS
- ACSLOC[${#ACSLOC[*]}]="SAML2/ECP"
-fi
-
if [ $DECLS -eq 1 ] ; then
DECLS="xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" "
if [ $DS -eq 1 ] ; then
@@ -162,7 +157,7 @@ done
for h in ${NAKEDHOSTS[@]}
do
cat << EOF
- <disco:DiscoveryResponse xmlns="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="http://$h/Shibboleth.sso/DS" index="$count"/>
+ <disco:DiscoveryResponse Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="http://$h/Shibboleth.sso/DS" index="$count"/>
EOF
let "count++"
done
diff --git a/configs/protocols.xml b/configs/protocols.xml
index 8a0164a..648bcbc 100644
--- a/configs/protocols.xml
+++ b/configs/protocols.xml
@@ -1,57 +1,57 @@
-<Protocols xmlns="urn:mace:shibboleth:2.0:native:sp:protocols">
-
- <!-- SAML 2.0 -->
- <Protocol id="SAML2">
- <Service id="SSO">
- <Initiator id="SAML2" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" path="/SAML2/POST" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" path="/SAML2/POST-SimpleSign" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" path="/SAML2/Artifact" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" path="/SAML2/ECP" />
- </Service>
- <Service id="Logout">
- <Initiator id="SAML2" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" path="/SLO/SOAP" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" path="/SLO/Redirect" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" path="/SLO/POST" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" path="/SLO/Artifact" />
- </Service>
- <Service id="NameIDMgmt">
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" path="/NIM/SOAP" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" path="/NIM/Redirect" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" path="/NIM/POST" />
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" path="/NIM/Artifact" />
- </Service>
- <Service id="ArtifactResolution">
- <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" path="/Artifact/SOAP" />
- </Service>
- </Protocol>
-
- <!-- SAML 1.1 and SAML 1.0 -->
- <Protocol id="SAML1">
- <Service id="SSO">
- <Initiator id="Shib1" />
- <Binding id="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" path="/SAML/POST" />
- <Binding id="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" path="/SAML/Artifact" />
- </Service>
- </Protocol>
-
- <!-- ADFSv1 / WS-Federation -->
- <Protocol id="ADFS">
- <Service id="SSO">
- <Initiator id="ADFS" />
- <Binding id="http://schemas.xmlsoap.org/ws/2003/07/secext" path="/ADFS" />
- </Service>
- <Service id="Logout">
- <Initiator id="ADFS" />
- </Service>
- </Protocol>
-
- <!-- Local Logout -->
- <Protocol id="Local">
- <Service id="Logout">
- <Initiator id="Local" />
- </Service>
- </Protocol>
-
-</Protocols>
+<Protocols xmlns="urn:mace:shibboleth:2.0:native:sp:protocols">
+
+ <!-- SAML 2.0 -->
+ <Protocol id="SAML2">
+ <Service id="SSO">
+ <Initiator id="SAML2" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" path="/SAML2/POST" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" path="/SAML2/POST-SimpleSign" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" path="/SAML2/Artifact" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" path="/SAML2/ECP" />
+ </Service>
+ <Service id="Logout">
+ <Initiator id="SAML2" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" path="/SLO/SOAP" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" path="/SLO/Redirect" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" path="/SLO/POST" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" path="/SLO/Artifact" />
+ </Service>
+ <Service id="NameIDMgmt">
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" path="/NIM/SOAP" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" path="/NIM/Redirect" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" path="/NIM/POST" />
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" path="/NIM/Artifact" />
+ </Service>
+ <Service id="ArtifactResolution">
+ <Binding id="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" path="/Artifact/SOAP" />
+ </Service>
+ </Protocol>
+
+ <!-- SAML 1.1 and SAML 1.0 -->
+ <Protocol id="SAML1">
+ <Service id="SSO">
+ <Initiator id="Shib1" />
+ <Binding id="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" path="/SAML/POST" />
+ <Binding id="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" path="/SAML/Artifact" />
+ </Service>
+ </Protocol>
+
+ <!-- ADFSv1 / WS-Federation -->
+ <Protocol id="ADFS">
+ <Service id="SSO">
+ <Initiator id="ADFS" />
+ <Binding id="http://schemas.xmlsoap.org/ws/2003/07/secext" path="/ADFS" />
+ </Service>
+ <Service id="Logout">
+ <Initiator id="ADFS" />
+ </Service>
+ </Protocol>
+
+ <!-- Local Logout -->
+ <Protocol id="Local">
+ <Service id="Logout">
+ <Initiator id="Local" />
+ </Service>
+ </Protocol>
+
+</Protocols>
diff --git a/configs/shibd-redhat.in b/configs/shibd-redhat.in
index 04dc659..d3c0205 100644
--- a/configs/shibd-redhat.in
+++ b/configs/shibd-redhat.in
@@ -34,10 +34,11 @@ start() {
fi
fi
fi
-
+
+#_RHEL6_ export LD_LIBRARY_PATH=/opt/shibboleth/lib:$LD_LIBRARY_PATH
export SHIBD_PID=$pidfile
- touch $pidfile
- chown $SHIBD_USER:$SHIBD_USER $pidfile
+ touch $pidfile
+ chown $SHIBD_USER:$SHIBD_USER $pidfile
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
/sbin/restorecon $pidfile
fi
diff --git a/configure b/configure
index e4345cf..bc181b1 100755
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for shibboleth 2.4.2.
+# Generated by GNU Autoconf 2.68 for shibboleth 2.4.3.
#
-# Report bugs to <https://bugs.internet2.edu/>.
+# Report bugs to <https://issues.shibboleth.net/>.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -247,7 +247,7 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf at gnu.org and
-$0: https://bugs.internet2.edu/ about your system,
+$0: https://issues.shibboleth.net/ about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
@@ -570,9 +570,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='shibboleth'
PACKAGE_TARNAME='shibboleth'
-PACKAGE_VERSION='2.4.2'
-PACKAGE_STRING='shibboleth 2.4.2'
-PACKAGE_BUGREPORT='https://bugs.internet2.edu/'
+PACKAGE_VERSION='2.4.3'
+PACKAGE_STRING='shibboleth 2.4.3'
+PACKAGE_BUGREPORT='https://issues.shibboleth.net/'
PACKAGE_URL=''
ac_unique_file="shibsp"
@@ -846,7 +846,6 @@ enable_doxygen_html
enable_doxygen_ps
enable_doxygen_pdf
enable_debug
-with_gnu_ld
with_openssl
with_log4shib
with_log4cpp
@@ -883,15 +882,9 @@ LDFLAGS
LIBS
CPPFLAGS
CPP
-CPPFLAGS
DOXYGEN_PAPER_SIZE
-CC
-LDFLAGS
-LIBS
-CPPFLAGS
CXX
CXXFLAGS
-LIBS
CCC
CXXCPP'
@@ -1436,7 +1429,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures shibboleth 2.4.2 to adapt to many kinds of systems.
+\`configure' configures shibboleth 2.4.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1506,7 +1499,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of shibboleth 2.4.2:";;
+ short | recursive ) echo "Configuration of shibboleth 2.4.3:";;
esac
cat <<\_ACEOF
@@ -1588,7 +1581,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <https://bugs.internet2.edu/>.
+Report bugs to <https://issues.shibboleth.net/>.
_ACEOF
ac_status=$?
fi
@@ -1651,7 +1644,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-shibboleth configure 2.4.2
+shibboleth configure 2.4.3
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2217,9 +2210,9 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------ ##
-## Report this to https://bugs.internet2.edu/ ##
-## ------------------------------------------ ##"
+( $as_echo "## --------------------------------------------- ##
+## Report this to https://issues.shibboleth.net/ ##
+## --------------------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
@@ -2308,9 +2301,9 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------ ##
-## Report this to https://bugs.internet2.edu/ ##
-## ------------------------------------------ ##"
+( $as_echo "## --------------------------------------------- ##
+## Report this to https://issues.shibboleth.net/ ##
+## --------------------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
@@ -2363,7 +2356,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by shibboleth $as_me 2.4.2, which was
+It was created by shibboleth $as_me 2.4.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3180,7 +3173,7 @@ fi
# Define the identity of the package.
PACKAGE='shibboleth'
- VERSION='2.4.2'
+ VERSION='2.4.3'
cat >>confdefs.h <<_ACEOF
@@ -13673,9 +13666,9 @@ else
GCC_CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
fi
-ac_config_headers="$ac_config_headers config.h"
+ac_config_headers="$ac_config_headers config.h shibsp/config_pub.h"
-ac_config_files="$ac_config_files shibboleth.spec pkginfo Portfile"
+ac_config_files="$ac_config_files shibboleth.spec"
ac_ext=c
@@ -20540,7 +20533,7 @@ $as_echo "yes" >&6; }
if test "x$ac_cv_header_gss_h" = xyes; then :
-$as_echo "#define HAVE_GSSGNU 1" >>confdefs.h
+$as_echo "#define SHIBSP_HAVE_GSSGNU 1" >>confdefs.h
gnu_gss=yes
@@ -20586,7 +20579,7 @@ done
if test "x$ac_cv_header_gssapi_h" = xyes; then :
-$as_echo "#define HAVE_GSSHEIMDAL 1" >>confdefs.h
+$as_echo "#define SHIBSP_HAVE_GSSHEIMDAL 1" >>confdefs.h
else
@@ -20601,7 +20594,7 @@ fi
else
-$as_echo "#define HAVE_GSSMIT 1" >>confdefs.h
+$as_echo "#define SHIBSP_HAVE_GSSMIT 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE" >&5
$as_echo_n "checking if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE... " >&6; }
@@ -20655,33 +20648,100 @@ $as_echo "no" >&6; }
fi
if test x"$want_gss" = xyes; then
-$as_echo "#define HAVE_GSSAPI 1" >>confdefs.h
+$as_echo "#define SHIBSP_HAVE_GSSAPI 1" >>confdefs.h
if test -n "$gnu_gss"; then
LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
LIBS="$LIBS -lgss"
- elif test -z "$GSSAPI_LIB_DIR"; then
- case $host in
- *-*-darwin*)
- LIBS="$LIBS -lgssapi_krb5 -lresolv"
- ;;
- *)
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
- gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
- LIBS="$LIBS $gss_libs"
- elif test "$GSSAPI_ROOT" != "yes"; then
- LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
- LIBS="$LIBS -lgssapi"
- else
- LIBS="$LIBS -lgssapi"
- fi
- ;;
- esac
else
- LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
- LIBS="$LIBS -lgssapi"
+ if test -z "$GSSAPI_LIB_DIR"; then
+ GSSAPI_LIB_DIR="$GSSAPI_ROOT/lib$libsuff"
+ fi
+ if test "$GSSAPI_ROOT" != "yes"; then
+ LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
+ fi
+ if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
+ gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
+ else
+ if test "x$not_mit" = "x1"; then
+ gss_libs="-lgssapi"
+ else
+ gss_libs="-lgssapi_krb5"
+ fi
+ fi
+ LIBS="$LIBS $gss_libs"
fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GSS-API naming extensions are available" >&5
+$as_echo_n "checking whether GSS-API naming extensions are available... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef SHIBSP_HAVE_GSSGNU
+# include <gss.h>
+#elif defined SHIBSP_HAVE_GSSMIT
+# include <gssapi/gssapi.h>
+# include <gssapi/gssapi_ext.h>
+#else
+# include <gssapi.h>
+#endif
+int
+main ()
+{
+gss_get_name_attribute(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_GSSAPI_NAMINGEXTS 1" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GSS-API composite name import is available" >&5
+$as_echo_n "checking whether GSS-API composite name import is available... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef SHIBSP_HAVE_GSSGNU
+# include <gss.h>
+#elif defined SHIBSP_HAVE_GSSMIT
+# include <gssapi/gssapi.h>
+# include <gssapi/gssapi_ext.h>
+#else
+# include <gssapi.h>
+#endif
+int
+main ()
+{
+
+ OM_uint32 minor;
+ gss_name_t srcname;
+ gss_buffer_desc importbuf;
+ gss_import_name(&minor, &importbuf, GSS_C_NT_EXPORT_NAME_COMPOSITE, &srcname);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_GSSAPI_COMPOSITE_NAME 1" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
else
CPPFLAGS="$save_CPPFLAGS"
fi
@@ -21381,7 +21441,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by shibboleth $as_me 2.4.2, which was
+This file was extended by shibboleth $as_me 2.4.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21441,13 +21501,13 @@ $config_headers
Configuration commands:
$config_commands
-Report bugs to <https://bugs.internet2.edu/>."
+Report bugs to <https://issues.shibboleth.net/>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-shibboleth config.status 2.4.2
+shibboleth config.status 2.4.3
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
@@ -21956,9 +22016,8 @@ do
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "shibsp/config_pub.h") CONFIG_HEADERS="$CONFIG_HEADERS shibsp/config_pub.h" ;;
"shibboleth.spec") CONFIG_FILES="$CONFIG_FILES shibboleth.spec" ;;
- "pkginfo") CONFIG_FILES="$CONFIG_FILES pkginfo" ;;
- "Portfile") CONFIG_FILES="$CONFIG_FILES Portfile" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"schemas/Makefile") CONFIG_FILES="$CONFIG_FILES schemas/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 318fca0..84232f2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.50])
-AC_INIT([shibboleth],[2.4.2],[https://bugs.internet2.edu/],[shibboleth])
+AC_INIT([shibboleth],[2.4.3],[https://issues.shibboleth.net/],[shibboleth])
AC_CONFIG_SRCDIR(shibsp)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_MACRO_DIR(m4)
@@ -31,8 +31,8 @@ else
GCC_CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
fi
-AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_FILES([shibboleth.spec pkginfo Portfile])
+AC_CONFIG_HEADERS([config.h shibsp/config_pub.h])
+AC_CONFIG_FILES([shibboleth.spec])
AC_PROG_CC([gcc gcc3 cc])
AC_PROG_CXX([g++ g++3 c++ CC])
@@ -996,7 +996,7 @@ if test x"$want_gss" = xyes; then
AC_CHECK_HEADER(gss.h,
[
dnl found in the given dirs
- AC_DEFINE([HAVE_GSSGNU],[1],[if you have the GNU gssapi libraries])
+ AC_DEFINE([SHIBSP_HAVE_GSSGNU],[1],[if you have the GNU gssapi libraries])
gnu_gss=yes
],
[
@@ -1017,7 +1017,7 @@ AC_INCLUDES_DEFAULT
AC_CHECK_HEADER([gssapi.h],
[
dnl found
- AC_DEFINE([HAVE_GSSHEIMDAL],[1],[if you have the Heimdal gssapi libraries])
+ AC_DEFINE([SHIBSP_HAVE_GSSHEIMDAL],[1],[if you have the Heimdal gssapi libraries])
],
[
dnl no header found, disabling GSS
@@ -1027,7 +1027,7 @@ AC_INCLUDES_DEFAULT
)
else
dnl MIT found
- AC_DEFINE([HAVE_GSSMIT],[1],[if you have the MIT gssapi libraries])
+ AC_DEFINE([SHIBSP_HAVE_GSSMIT],[1],[if you have the MIT gssapi libraries])
dnl check if we have a really old MIT kerberos (<= 1.2)
AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
AC_COMPILE_IFELSE([
@@ -1055,34 +1055,67 @@ else
AC_MSG_RESULT(no)
fi
if test x"$want_gss" = xyes; then
- AC_DEFINE([HAVE_GSSAPI],[1],[if you have the gssapi libraries])
+ AC_DEFINE([SHIBSP_HAVE_GSSAPI],[1],[if you have the gssapi libraries])
if test -n "$gnu_gss"; then
LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
LIBS="$LIBS -lgss"
- elif test -z "$GSSAPI_LIB_DIR"; then
- case $host in
- *-*-darwin*)
- LIBS="$LIBS -lgssapi_krb5 -lresolv"
- ;;
- *)
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
- dnl krb5-config doesn't have --libs-only-L or similar, put everything
- dnl into LIBS
- gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
- LIBS="$LIBS $gss_libs"
- elif test "$GSSAPI_ROOT" != "yes"; then
- LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
- LIBS="$LIBS -lgssapi"
- else
- LIBS="$LIBS -lgssapi"
- fi
- ;;
- esac
else
- LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
- LIBS="$LIBS -lgssapi"
+ if test -z "$GSSAPI_LIB_DIR"; then
+ GSSAPI_LIB_DIR="$GSSAPI_ROOT/lib$libsuff"
+ fi
+ if test "$GSSAPI_ROOT" != "yes"; then
+ LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
+ fi
+ if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
+ dnl krb5-config doesn't have --libs-only-L or similar, put everything
+ dnl into LIBS
+ gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
+ else
+ if test "x$not_mit" = "x1"; then
+ gss_libs="-lgssapi"
+ else
+ gss_libs="-lgssapi_krb5"
+ fi
+ fi
+ LIBS="$LIBS $gss_libs"
fi
+
+ AC_MSG_CHECKING([whether GSS-API naming extensions are available])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+#ifdef SHIBSP_HAVE_GSSGNU
+# include <gss.h>
+#elif defined SHIBSP_HAVE_GSSMIT
+# include <gssapi/gssapi.h>
+# include <gssapi/gssapi_ext.h>
+#else
+# include <gssapi.h>
+#endif]],
+ [[gss_get_name_attribute(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);]])],
+ [AC_MSG_RESULT([yes])AC_DEFINE([HAVE_GSSAPI_NAMINGEXTS],[1],[Define to 1 if GSS-API naming extensions are available.])],
+ [AC_MSG_RESULT([no])])
+
+ AC_MSG_CHECKING([whether GSS-API composite name import is available])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+#ifdef SHIBSP_HAVE_GSSGNU
+# include <gss.h>
+#elif defined SHIBSP_HAVE_GSSMIT
+# include <gssapi/gssapi.h>
+# include <gssapi/gssapi_ext.h>
+#else
+# include <gssapi.h>
+#endif]],
+ [[
+ OM_uint32 minor;
+ gss_name_t srcname;
+ gss_buffer_desc importbuf;
+ gss_import_name(&minor, &importbuf, GSS_C_NT_EXPORT_NAME_COMPOSITE, &srcname);
+ ]])],
+ [AC_MSG_RESULT([yes])AC_DEFINE([HAVE_GSSAPI_COMPOSITE_NAME],[1],[Define to 1 if GSS-API composite name import is available.])],
+ [AC_MSG_RESULT([no])])
+
else
CPPFLAGS="$save_CPPFLAGS"
fi
diff --git a/doc/CREDITS.txt b/doc/CREDITS.txt
index 7bdd4ec..3acafb4 100644
--- a/doc/CREDITS.txt
+++ b/doc/CREDITS.txt
@@ -25,16 +25,15 @@ Shibboleth Implementation Team
wassa at memphis.edu
Chad LaJoie
- Georgetown University
- lajoie at georgetown.edu
+ Itumi, LLC.
+ lajoie at itumi.biz
Derek Morr
Penn State University
dvm105 at psu.edu
Will Norris
- USC
- wnorris at usc.edu
+ will at willnorris.com
Brent Putman
Georgetown University
@@ -85,7 +84,7 @@ Thanks to:
Vishal Goenka (SunGard SCT) for contributing some useful resolver plugins
- Ian Young for donating XSLT scripts for converting metadata across
- Shibboleth versions
+ Ian Young for donating XSLT scripts for converting metadata across
+ Shibboleth versions
- Kaspar Brand for assisting in the development of CRL-related functionality
\ No newline at end of file
+ Kaspar Brand for assisting in the development of CRL-related functionality
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 03f93ee..3a0692b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -3,8 +3,10 @@ AUTOMAKE_OPTIONS = foreign
pkgdocdir = $(datadir)/doc/@PACKAGE at -@PACKAGE_VERSION@
install-data-hook:
- cp -r api $(DESTDIR)$(pkgdocdir)
- rm -rf `find $(DESTDIR)$(pkgdocdir)/api -name .svn`
+ if test -d api ; then \
+ cp -r api $(DESTDIR)$(pkgdocdir); \
+ rm -rf `find $(DESTDIR)$(pkgdocdir)/api -name .svn`; \
+ fi;
docfiles = \
CREDITS.txt \
diff --git a/doc/Makefile.in b/doc/Makefile.in
index c131142..f0aeada 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
@@ -479,8 +480,10 @@ uninstall-am: uninstall-pkgdocDATA
install-data-hook:
- cp -r api $(DESTDIR)$(pkgdocdir)
- rm -rf `find $(DESTDIR)$(pkgdocdir)/api -name .svn`
+ if test -d api ; then \
+ cp -r api $(DESTDIR)$(pkgdocdir); \
+ rm -rf `find $(DESTDIR)$(pkgdocdir)/api -name .svn`; \
+ fi;
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/doc/NOTICE.txt b/doc/NOTICE.txt
index 1ff0bd2..0481820 100644
--- a/doc/NOTICE.txt
+++ b/doc/NOTICE.txt
@@ -10,7 +10,8 @@ for use in the OpenSSL Toolkit. (http://www.openssl.org/).
This project uses libraries covered by the Lesser GNU Public License.
Source code for these libraries is available on request.
-This project includes software developed by the National Research Council
-of Canada.
+This product includes software developed, copyrighted, and contributed by:
-This project includes software developed by the Danish CLARIN Consortium.
+The Ohio State University
+The National Research Council of Canada
+The Danish CLARIN Consortium
diff --git a/doc/README.txt b/doc/README.txt
index 1c88f88..1ed2b03 100644
--- a/doc/README.txt
+++ b/doc/README.txt
@@ -13,11 +13,11 @@ Shibboleth is divided into identity and service provider components, with the
IdP in Java and the SP in C and C++.
Source and binary distributions are available from
-http://shibboleth.internet2.edu/downloads/
+http://www.shibboleth.net/downloads/
SVN is available for anonymous access, as described at the Shibboleth
-site. Mailing lists and a bug database (https://bugs.internet2.edu/) are also
-available. Not all of the lists are open, but a general support list is
+site. Mailing lists and a bug database (https://issues.shibboleth.net/) are
+also available. Not all of the lists are open, but a general support list is
available and is open.
For basic information on building from source, installing binaries, and deploying
diff --git a/doc/RELEASE.txt b/doc/RELEASE.txt
index e96525f..ecca1d8 100644
--- a/doc/RELEASE.txt
+++ b/doc/RELEASE.txt
@@ -3,7 +3,7 @@ Release Notes
Shibboleth Native SP
Fix/enhancement lists:
-https://bugs.internet2.edu/jira/secure/ReleaseNote.jspa?projectId=10011
+https://wiki.shibboleth.net/confluence/display/DEV/SPRoadmap
NOTE: The shibboleth2.xml configuration format in this release
is fully compatible with the 2.x releases, but there are significant
diff --git a/fastcgi/Makefile.in b/fastcgi/Makefile.in
index 117ec5e..dca3faa 100644
--- a/fastcgi/Makefile.in
+++ b/fastcgi/Makefile.in
@@ -47,7 +47,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(fastcgidir)"
@@ -74,7 +75,7 @@ shibresponder_OBJECTS = $(am_shibresponder_OBJECTS)
shibresponder_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(shibresponder_CXXFLAGS) \
$(CXXFLAGS) $(shibresponder_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/fastcgi/resource.h b/fastcgi/resource.h
index f3772c1..7473232 100644
--- a/fastcgi/resource.h
+++ b/fastcgi/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by isapi_shib.rc
diff --git a/fastcgi/shibauthorizer.cpp b/fastcgi/shibauthorizer.cpp
index b905ab5..a0f5e7c 100644
--- a/fastcgi/shibauthorizer.cpp
+++ b/fastcgi/shibauthorizer.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/* shibauthorizer.cpp - Shibboleth FastCGI Authorizer
diff --git a/fastcgi/shibauthorizer.rc b/fastcgi/shibauthorizer.rc
index e19ccd4..b252d7f 100644
--- a/fastcgi/shibauthorizer.rc
+++ b/fastcgi/shibauthorizer.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth FastCGI Authorizer\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "shibauthorizer\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "shibauthorizer.exe\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/fastcgi/shibauthorizer.vcxproj b/fastcgi/shibauthorizer.vcxproj
index b895715..85dbad5 100644
--- a/fastcgi/shibauthorizer.vcxproj
+++ b/fastcgi/shibauthorizer.vcxproj
@@ -151,7 +151,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
@@ -181,7 +180,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
diff --git a/fastcgi/shibresponder.cpp b/fastcgi/shibresponder.cpp
index 8cedbfd..2709187 100644
--- a/fastcgi/shibresponder.cpp
+++ b/fastcgi/shibresponder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/* shibresponder.cpp - Shibboleth FastCGI Responder/Handler
diff --git a/fastcgi/shibresponder.rc b/fastcgi/shibresponder.rc
index cdc6c4e..a11da7c 100644
--- a/fastcgi/shibresponder.rc
+++ b/fastcgi/shibresponder.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth FastCGI Responder\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "shibresponder\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "shibresponder.exe\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/fastcgi/shibresponder.vcxproj b/fastcgi/shibresponder.vcxproj
index 9b0e589..d9547df 100644
--- a/fastcgi/shibresponder.vcxproj
+++ b/fastcgi/shibresponder.vcxproj
@@ -152,7 +152,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
@@ -182,7 +181,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
diff --git a/isapi_shib/directive_class.h b/isapi_shib/directive_class.h
deleted file mode 100644
index 88313f9..0000000
--- a/isapi_shib/directive_class.h
+++ /dev/null
@@ -1,233 +0,0 @@
-#include <string>
-#include <tchar.h>
-#define STR_PENDING_DELETION "(Pending Removal)"
-
-using namespace std;
-
-class Directive
-{
-public:
-
- Directive() {
- }
-
- ~Directive() {
- }
-
- Directive(unsigned int which_directive) {
- Init_Directive(which_directive);
- }
-
- string name;
- unsigned short type;
- string value;
- string new_value;
- string defined_in;
- string description;
- string bound_val[NUM_BOUND_VAL];
- string MachineName;
- unsigned int d_index;
-
- bool Set_Path(string new_path)
- {
- if (new_path.length() && new_path.at(0) == '/') {
- path = new_path;
- } else {
- path = "/";
- path += new_path;
- }
- Get_Value();
- return true;
- }
-
- bool WriteValue(string RegPath)
- {
- if (type == D_BOUND_INT || type == D_FREE_INT) {
- return WriteRegInt(RegPath.c_str(), name.c_str(), new_value.c_str());
- } else {
- return WriteRegString(RegPath.c_str(), name.c_str(), new_value.c_str());
- }
- }
-
- void Directive::Init_Directive(unsigned int w) {
-
- if (w >= NUM_DIRECTIVES) {
- return;
- }
- d_index = w;
- name = directives[w].name;
- type = directives[w].type;
- value = directives[w].value;
- defined_in = directives[w].defined_in;
- description = directives[w].description;
- for (int i=0;i<NUM_BOUND_VAL;i++) {
- bound_val[i] = directives[w].bound_val[i];
- }
- }
-
- void DeleteValue()
- {
- new_value = STR_PENDING_DELETION;
- }
-
- bool Directive::DeleteRegVal(string Key)
- {
- HKEY hKey;
-
- if ((hKey=OpenKey(Key.c_str(),KEY_ALL_ACCESS))) {
- if (RegDeleteValue(hKey,name.c_str()) == ERROR_SUCCESS) {
- return true;
- }
- }
- return false;
- }
-
-private:
-
- string path;
-
- HKEY Directive::OpenKey(LPCTSTR szKey, REGSAM samDesired) {
-
- HKEY hKey,rhKey;
- _TCHAR localname[MAX_PATH];
- DWORD lsize = MAX_PATH;
-
- //Support for Remote Registries
- GetComputerName(localname,&lsize);
- if (!_tcsicmp(localname,MachineName.c_str())) {
- rhKey = HKEY_LOCAL_MACHINE;
- }else {
- if (RegConnectRegistry(MachineName.c_str(),HKEY_LOCAL_MACHINE, &rhKey) != ERROR_SUCCESS) {
- //MessageBox(hwndDlg,L"Error opening remote registry. Values displayed may not be accurate.",L"Error",MB_ICONERROR);
- }
- }
-
- if (samDesired == KEY_READ) {
- // Open existing key.
- if( RegOpenKeyEx(rhKey,
- szKey,
- 0,
- samDesired,
- &hKey) != ERROR_SUCCESS)
- {
- return NULL ;
- }
-
- } else {
- // Create and open key and subkey.
- if( RegCreateKeyEx(rhKey,
- szKey,
- 0, NULL, REG_OPTION_NON_VOLATILE,
- samDesired, NULL,
- &hKey, NULL) != ERROR_SUCCESS)
- {
- return NULL ;
- }
- }
-
- return hKey;
-
- }
-
- void Directive::ReadValAsString(string key, LPCTSTR defined_in_val) {
- HKEY hKey;
- char RegBuff[MAX_REG_BUFF];
- long debug;
- DWORD dwRead=MAX_REG_BUFF*sizeof(char);
-
- if (hKey = OpenKey(key.c_str(),KEY_READ)) {
- if ((debug = RegQueryValueEx (hKey,name.c_str(), NULL, NULL, (LPBYTE)RegBuff, &dwRead)) == ERROR_SUCCESS) {
- if (type == D_FREE_INT || type == D_BOUND_INT) {
- char tmpw[22];
- value = itoa(*(DWORD *)RegBuff,tmpw,10);
- } else {
- value = RegBuff;
- }
- defined_in = defined_in_val;
- }
- RegCloseKey (hKey);
- }
- }
-
- bool Directive::WriteRegInt(const _TCHAR* szKey,
- const _TCHAR* szValueName,
- const _TCHAR* szValue)
- {
- HKEY hKey;
- DWORD value;
-
- if (!(hKey=OpenKey(szKey,KEY_ALL_ACCESS)))
- return FALSE;
-
- // Set the Value.
- if (szValue != NULL)
- {
- value = _ttoi(szValue);
- RegSetValueEx(hKey, szValueName, 0, REG_DWORD,
- (BYTE *)&value,
- sizeof(DWORD)) ;
- }
-
- RegCloseKey(hKey) ;
- return TRUE ;
- }
-
-
- bool Directive::WriteRegString(const _TCHAR* szKey,
- const _TCHAR* szValueName,
- const _TCHAR* szValue)
- {
- HKEY hKey;
-
- if (!(hKey=OpenKey(szKey,KEY_ALL_ACCESS)))
- return FALSE;
-
- // Set the Value.
- if (szValue != NULL)
- {
- RegSetValueEx(hKey, szValueName, 0, REG_SZ,
- (BYTE *)szValue,
- ((DWORD)_tcslen(szValue)+1)*sizeof(_TCHAR)) ;
- }
-
- RegCloseKey(hKey);
- return TRUE ;
- }
-
- void Directive::Get_Value() {
-
- string key, node, defined_in_val;
- size_t pos = 0;
- size_t opos = 0;
- char done = 0;
-
- value = directives[d_index].value;
- defined_in = directives[d_index].defined_in;
-
- key = SHIB_DEFAULT_WEB_KEY;
-
- do {
-
- pos = path.find('/',opos); // while we still have a '/' left to deal with
-
- if (pos != string::npos) {
- node = path.substr(opos,pos-opos);
- }
- else {
- node = path.substr(opos);
- done = 1;
- }
- if (defined_in_val[defined_in_val.length()-1] != '/') {
- defined_in_val += "/";
- key += "\\";
- }
-
- defined_in_val += node;
- key += node;
-
- ReadValAsString(key,defined_in_val.c_str());
- opos = pos+1;
-
- } while (!done);
- }
-};
diff --git a/isapi_shib/directives.h b/isapi_shib/directives.h
deleted file mode 100644
index bf787d9..0000000
--- a/isapi_shib/directives.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#define SHIB_REG_KEY "Software\\Internet2\\Shibboleth"
-#define SHIB_DEFAULT_WEB_KEY "Software\\Internet 2\\Shibboleth\\Webs\\default"
-#define D_FREE_STRING 0
-#define D_FREE_INT 1
-#define D_BOUND_INT 2
-#define D_BOUND_STRING 3
-#define MAX_REG_BUFF 4096 // Using a fixed size saves a registy lookup and malloc
-#define MAX_DIRECTIVE_STRING 256 // Set to lagest size of default strings below
-
-#define NUM_DIRECTIVES 2 // Set to number of directives below
-#define NUM_BOUND_VAL 2 // Set to maximum number of bound values
-
-struct directives_t {
- char name[MAX_DIRECTIVE_STRING];
- unsigned short type;
- char value[MAX_DIRECTIVE_STRING];
- char description[MAX_DIRECTIVE_STRING];
- char defined_in[MAX_DIRECTIVE_STRING];
- char bound_val[NUM_BOUND_VAL][MAX_DIRECTIVE_STRING];
-};
-
-const directives_t directives[] = {
- {
-# define DIRECTIVE_AUTHTYPE 0 // defines make code more readable than enum
- "AuthType", // name
- D_FREE_STRING, // type
- "None", // default value. Case insensitive.
- "Use Shibboleth to enable Shibboleth. Any other value disables Shibboleth.\nIf no value specified," \
- " the MustContain string will be searched for in the target URL.", // description
- "(Program Default)", // default value for defined_in
- "", // possible bound value
- "" // possible bound value
- },
- {
-# define DIRECTIVE_SSL_ONLY 1 // Example only, not implemented in filter
- "ShibSSLOnly",
- D_BOUND_STRING,
- "Off",
- "Controls whether Shibboleth will reject non-SSL requests for resources from clients.",
- "(Program Default)",
- "On",
- "Off"
-
- }
-};
\ No newline at end of file
diff --git a/isapi_shib/isapi_shib.cpp b/isapi_shib/isapi_shib.cpp
index 014f34c..cbc3c0e 100644
--- a/isapi_shib/isapi_shib.cpp
+++ b/isapi_shib/isapi_shib.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/isapi_shib/isapi_shib.rc b/isapi_shib/isapi_shib.rc
index 786879d..7195b9b 100644
--- a/isapi_shib/isapi_shib.rc
+++ b/isapi_shib/isapi_shib.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth ISAPI Filter / Extension\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "isapi_shib\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "isapi_shib.dll\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/isapi_shib/isapi_shib.vcxproj b/isapi_shib/isapi_shib.vcxproj
index 1735415..e14538c 100644
--- a/isapi_shib/isapi_shib.vcxproj
+++ b/isapi_shib/isapi_shib.vcxproj
@@ -171,7 +171,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -205,7 +204,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/isapi_shib/resource.h b/isapi_shib/resource.h
index f3772c1..7473232 100644
--- a/isapi_shib/resource.h
+++ b/isapi_shib/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by isapi_shib.rc
diff --git a/memcache-store/Makefile.in b/memcache-store/Makefile.in
index c5df54a..43ea383 100644
--- a/memcache-store/Makefile.in
+++ b/memcache-store/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -79,7 +80,7 @@ memcache_store_la_OBJECTS = $(am_memcache_store_la_OBJECTS)
memcache_store_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(memcache_store_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/memcache-store/memcache-store.cpp b/memcache-store/memcache-store.cpp
index 7222503..dc91999 100644
--- a/memcache-store/memcache-store.cpp
+++ b/memcache-store/memcache-store.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/memcache-store/memcache-store.rc b/memcache-store/memcache-store.rc
index 7319285..b752992 100644
--- a/memcache-store/memcache-store.rc
+++ b/memcache-store/memcache-store.rc
@@ -53,8 +53,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -69,14 +69,14 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth Memcache Storage Service Plugin\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "memcache-store\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "OriginalFilename", "memcache-store.so\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/memcache-store/memcache-store.vcxproj b/memcache-store/memcache-store.vcxproj
index a643992..6879b11 100644
--- a/memcache-store/memcache-store.vcxproj
+++ b/memcache-store/memcache-store.vcxproj
@@ -92,9 +92,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;..\..\..\libmemcached;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;..\..\..\cvs\libmemcached;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
@@ -105,7 +104,7 @@
</ResourceCompile>
<Link>
<AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xmltooling1D.lib;memcached.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Configuration);..\..\..\libmemcached\visualc\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Configuration);..\..\..\cvs\libmemcached\visualc\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<DataExecutionPrevention>
@@ -118,9 +117,8 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\cpp-xmltooling;..\..\..\libmemcached\visualc\toolset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\cpp-xmltooling;..\..\..\cvs\libmemcached\visualc\toolset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
@@ -140,13 +138,13 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;..\..\..\libmemcached;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;..\..\..\cvs\libmemcached;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
</ClCompile>
<Link>
<AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xmltooling1.lib;memcached.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Configuration);..\..\..\libmemcached\visualc\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Configuration);..\..\..\cvs\libmemcached\visualc\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -160,7 +158,7 @@
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\cpp-xmltooling;..\..\..\libmemcached\visualc\toolset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\cpp-xmltooling;..\..\..\cvs\libmemcached\visualc\toolset;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
</ClCompile>
diff --git a/memcache-store/resource.h b/memcache-store/resource.h
index bd4e56a..ccedb46 100644
--- a/memcache-store/resource.h
+++ b/memcache-store/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by memcache-store.rc
diff --git a/nsapi_shib/Makefile.in b/nsapi_shib/Makefile.in
index 24d90b2..686c23c 100644
--- a/nsapi_shib/Makefile.in
+++ b/nsapi_shib/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -82,7 +83,7 @@ nsapi_shib_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nsapi_shib_la_CXXFLAGS) \
$(CXXFLAGS) $(nsapi_shib_la_LDFLAGS) $(LDFLAGS) -o $@
@BUILD_NSAPI_TRUE at am_nsapi_shib_la_rpath = -rpath $(nsapi_shibdir)
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/nsapi_shib/nsapi_shib.cpp b/nsapi_shib/nsapi_shib.cpp
index 2c67868..21795da 100644
--- a/nsapi_shib/nsapi_shib.cpp
+++ b/nsapi_shib/nsapi_shib.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/nsapi_shib/nsapi_shib.rc b/nsapi_shib/nsapi_shib.rc
index 22cc7a7..f160892 100644
--- a/nsapi_shib/nsapi_shib.rc
+++ b/nsapi_shib/nsapi_shib.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth NSAPI Extension\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "nsapi_shib\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "nsapi_shib.dll\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/nsapi_shib/nsapi_shib.vcxproj b/nsapi_shib/nsapi_shib.vcxproj
index ca90349..6f03f7f 100644
--- a/nsapi_shib/nsapi_shib.vcxproj
+++ b/nsapi_shib/nsapi_shib.vcxproj
@@ -170,7 +170,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -203,7 +202,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/nsapi_shib/resource.h b/nsapi_shib/resource.h
index 70749e6..bc921e9 100644
--- a/nsapi_shib/resource.h
+++ b/nsapi_shib/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by nsapi_shib.rc
diff --git a/odbc-store/Makefile.in b/odbc-store/Makefile.in
index e4046dd..5e27df4 100644
--- a/odbc-store/Makefile.in
+++ b/odbc-store/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -79,7 +80,7 @@ odbc_store_la_OBJECTS = $(am_odbc_store_la_OBJECTS)
odbc_store_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(odbc_store_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/odbc-store/odbc-store.cpp b/odbc-store/odbc-store.cpp
index 0e9c089..d84400c 100644
--- a/odbc-store/odbc-store.cpp
+++ b/odbc-store/odbc-store.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -532,7 +536,7 @@ int ODBCStorageService::readRow(
if (pexpiration)
q << ",expires";
if (pvalue)
- q << ",CASE version WHEN " << version << " THEN nullptr ELSE value END";
+ q << ",CASE version WHEN " << version << " THEN null ELSE value END";
q << " FROM " << table << " WHERE context='" << scontext << "' AND id='" << skey << "' AND expires > " << timebuf;
freeSafeSQL(scontext, context);
freeSafeSQL(skey, key);
diff --git a/odbc-store/odbc-store.rc b/odbc-store/odbc-store.rc
index e12a849..9469704 100644
--- a/odbc-store/odbc-store.rc
+++ b/odbc-store/odbc-store.rc
@@ -53,8 +53,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -69,14 +69,14 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth ODBC Storage Service Plugin\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "odbc-store\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "OriginalFilename", "odbc-store.so\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/odbc-store/odbc-store.vcxproj b/odbc-store/odbc-store.vcxproj
index 1c8a1c3..ada852a 100644
--- a/odbc-store/odbc-store.vcxproj
+++ b/odbc-store/odbc-store.vcxproj
@@ -94,7 +94,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
@@ -120,7 +119,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
diff --git a/odbc-store/resource.h b/odbc-store/resource.h
index 625d6ee..3190f4a 100644
--- a/odbc-store/resource.h
+++ b/odbc-store/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by odbc-store.rc
diff --git a/pkginfo b/pkginfo
deleted file mode 100644
index b69a808..0000000
--- a/pkginfo
+++ /dev/null
@@ -1,11 +0,0 @@
-PKG=SHIBsp
-VERSION=2.4.2
-BASEDIR=/
-NAME=shibboleth-sp
-CATEGORY=application,security
-DESC=Shibboleth Service Provider
-VENDOR=Internet2
-HOTLINE=https://bugs.internet2.edu/
-CLASSES=none
-PSTAMP=sunra.internet2.edu 2008-03-17
-EMAIL=cantor.2 at osu.edu
diff --git a/pkginfo.in b/pkginfo.in
deleted file mode 100644
index 9df027f..0000000
--- a/pkginfo.in
+++ /dev/null
@@ -1,11 +0,0 @@
-PKG=SHIBsp
-VERSION=@PACKAGE_VERSION@
-BASEDIR=/
-NAME=shibboleth-sp
-CATEGORY=application,security
-DESC=Shibboleth Service Provider
-VENDOR=Internet2
-HOTLINE=https://bugs.internet2.edu/
-CLASSES=none
-PSTAMP=sunra.internet2.edu 2008-03-17
-EMAIL=cantor.2 at osu.edu
diff --git a/postinstall b/postinstall
deleted file mode 100644
index a4d5110..0000000
--- a/postinstall
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-cd /opt/shibboleth-sp/etc/shibboleth
-
-CONFIGFILES=" \
- native.logger \
- shibd.logger \
- syslog.logger \
- console.logger \
- accessError.html \
- sessionError.html \
- metadataError.html \
- sslError.html \
- bindingTemplate.html \
- discoveryTemplate.html \
- localLogout.html \
- globalLogout.html \
- partialLogout.html \
- attribute-map.xml \
- attribute-policy.xml \
- example-metadata.xml \
- shibboleth2.xml"
-
-for f in $CONFIGFILES; do
- if test ! -f $f; then
- cp $f.dist $f
- fi;
- done
-
-PATH=$PATH:/usr/local/bin
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
-export PATH LD_LIBRARY_PATH
-sh ./keygen.sh -b
-
-exit 0
diff --git a/schemas/Makefile.in b/schemas/Makefile.in
index 9a3e1db..d7160f6 100644
--- a/schemas/Makefile.in
+++ b/schemas/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
diff --git a/schemas/shibboleth-2.0-native-sp-protocols.xsd b/schemas/shibboleth-2.0-native-sp-protocols.xsd
index e613e32..63ae444 100644
--- a/schemas/shibboleth-2.0-native-sp-protocols.xsd
+++ b/schemas/shibboleth-2.0-native-sp-protocols.xsd
@@ -1,59 +1,59 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-<schema targetNamespace="urn:mace:shibboleth:2.0:native:sp:protocols"
- xmlns:prot="urn:mace:shibboleth:2.0:native:sp:protocols"
- xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
- xmlns="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified"
- elementFormDefault="qualified"
- blockDefault="substitution"
- version="2.4">
-
- <annotation>
- <documentation>
- Schema for specifying protocols, services, and bindings, and defaults for the locations of handlers.
- First appearing in Shibboleth 2.4 release.
- </documentation>
- </annotation>
-
- <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd" />
-
- <simpleType name="string">
- <restriction base="string">
- <minLength value="1"/>
- </restriction>
- </simpleType>
-
- <element name="Protocols">
- <complexType>
- <sequence>
- <element name="Protocol" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="Service" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="Initiator" minOccurs="0">
- <complexType>
- <attribute name="id" type="prot:string" use="required" />
- </complexType>
- </element>
- <element name="Binding" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <attribute name="id" type="prot:string" use="required" />
- <attribute name="path" type="prot:string" use="required" />
- </complexType>
- </element>
- </sequence>
- <attribute name="id" type="prot:string" use="required" />
- </complexType>
- </element>
- </sequence>
- <attribute name="id" type="prot:string" use="required" />
- </complexType>
- </element>
- <element ref="ds:Signature" minOccurs="0"/>
- </sequence>
- </complexType>
- </element>
-
-</schema>
+<?xml version="1.0" encoding="US-ASCII"?>
+<schema targetNamespace="urn:mace:shibboleth:2.0:native:sp:protocols"
+ xmlns:prot="urn:mace:shibboleth:2.0:native:sp:protocols"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ attributeFormDefault="unqualified"
+ elementFormDefault="qualified"
+ blockDefault="substitution"
+ version="2.4">
+
+ <annotation>
+ <documentation>
+ Schema for specifying protocols, services, and bindings, and defaults for the locations of handlers.
+ First appearing in Shibboleth 2.4 release.
+ </documentation>
+ </annotation>
+
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd" />
+
+ <simpleType name="string">
+ <restriction base="string">
+ <minLength value="1"/>
+ </restriction>
+ </simpleType>
+
+ <element name="Protocols">
+ <complexType>
+ <sequence>
+ <element name="Protocol" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="Service" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="Initiator" minOccurs="0">
+ <complexType>
+ <attribute name="id" type="prot:string" use="required" />
+ </complexType>
+ </element>
+ <element name="Binding" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <attribute name="id" type="prot:string" use="required" />
+ <attribute name="path" type="prot:string" use="required" />
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="id" type="prot:string" use="required" />
+ </complexType>
+ </element>
+ </sequence>
+ <attribute name="id" type="prot:string" use="required" />
+ </complexType>
+ </element>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ </element>
+
+</schema>
diff --git a/selinux/Makefile.in b/selinux/Makefile.in
index 526074e..9481011 100644
--- a/selinux/Makefile.in
+++ b/selinux/Makefile.in
@@ -45,7 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
diff --git a/shibboleth.spec b/shibboleth.spec
index 443870e..e740239 100644
--- a/shibboleth.spec
+++ b/shibboleth.spec
@@ -1,14 +1,15 @@
Name: shibboleth
-Version: 2.4.2
+Version: 2.4.3
Release: 1
-Summary: Open source system for attribute-based Web SSO
+Summary: Open source system for attribute-based Web SSO
Group: Productivity/Networking/Security
-Vendor: Internet2
+Vendor: Internet2
License: Apache 2.0
URL: http://shibboleth.internet2.edu/
-Source: %{name}-sp-%{version}.tar.gz
+Source: %{name}-sp-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
-PreReq: openssl, xmltooling-schemas, opensaml-schemas
+Requires: openssl
+PreReq: xmltooling-schemas, opensaml-schemas
%if 0%{?suse_version} > 1030 && 0%{?suse_version} < 1130
PreReq: %{insserv_prereq}
BuildRequires: libXerces-c-devel >= 2.8.0
@@ -20,6 +21,10 @@ BuildRequires: libxmltooling-devel >= 1.4
BuildRequires: libsaml-devel >= 2.4
%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
%{!?_with_log4cpp:BuildRequires: liblog4shib-devel}
+%if 0%{?rhel} >= 6
+Requires: libcurl-openssl >= 7.21.7
+BuildRequires: chrpath
+%endif
BuildRequires: gcc-c++, zlib-devel
%{!?_without_doxygen:BuildRequires: doxygen}
%{!?_without_odbc:BuildRequires:unixODBC-devel}
@@ -82,6 +87,15 @@ This package includes files needed for development with Shibboleth.
%{__sed} -i "s/\/var\/log\/httpd/\/var\/log\/apache2/g" \
$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/native.logger
%endif
+%if 0%{?rhel} >= 6
+ %{__sed} -i "s/#_RHEL6_//g" \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/shibd-redhat
+ %{__sed} -i "s/\/opt\/shibboleth\/lib/\/opt\/shibboleth\/%{_lib}/g" \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/shibd-redhat
+ chrpath -d $RPM_BUILD_ROOT%{_sbindir}/shibd
+ chrpath -d $RPM_BUILD_ROOT%{_bindir}/mdquery
+ chrpath -d $RPM_BUILD_ROOT%{_bindir}/resolvertest
+%endif
# Plug the SP into the built-in Apache on a recognized system.
touch rpm.filelist
@@ -201,7 +215,7 @@ cd /
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/*
%exclude %{_libdir}/%{name}/*.la
-%dir %{_localstatedir}/log/%{name}
+%attr(0750,root,root) %dir %{_localstatedir}/log/%{name}
%dir %{_localstatedir}/run/%{name}
%dir %{_datadir}/xml/%{name}
%{_datadir}/xml/%{name}/*
@@ -218,8 +232,8 @@ cd /
%{_sysconfdir}/%{name}/*.dist
%{_sysconfdir}/%{name}/apache*.config
%{_sysconfdir}/%{name}/shibd-*
-%attr(755, root, root) %{_sysconfdir}/%{name}/keygen.sh
-%attr(755, root, root) %{_sysconfdir}/%{name}/metagen.sh
+%attr(0755,root,root) %{_sysconfdir}/%{name}/keygen.sh
+%attr(0755,root,root) %{_sysconfdir}/%{name}/metagen.sh
%{_sysconfdir}/%{name}/*.xsl
%doc %{pkgdocdir}
%exclude %{pkgdocdir}/api
@@ -232,6 +246,12 @@ cd /
%doc %{pkgdocdir}/api
%changelog
+* Sun Jun 26 2011 Scott Cantor <cantor.2 at osu.edu> - 2.4.3-1
+- Log files shouldn't be world readable.
+- Explicit requirement for libcurl-openssl on RHEL6
+- Uncomment LD_LIBRARY_PATH in init script for RHEL6
+- Remove rpath from binaries for RHEL6
+
* Fri Dec 25 2009 Scott Cantor <cantor.2 at osu.edu> - 2.4-1
- Update dependencies.
diff --git a/shibboleth.spec.in b/shibboleth.spec.in
index 5888fbb..2c359d1 100644
--- a/shibboleth.spec.in
+++ b/shibboleth.spec.in
@@ -1,14 +1,15 @@
Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@
Release: 1
-Summary: Open source system for attribute-based Web SSO
+Summary: Open source system for attribute-based Web SSO
Group: Productivity/Networking/Security
-Vendor: Internet2
+Vendor: Internet2
License: Apache 2.0
URL: http://shibboleth.internet2.edu/
-Source: %{name}-sp-%{version}.tar.gz
+Source: %{name}-sp-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
-PreReq: openssl, xmltooling-schemas, opensaml-schemas
+Requires: openssl
+PreReq: xmltooling-schemas, opensaml-schemas
%if 0%{?suse_version} > 1030 && 0%{?suse_version} < 1130
PreReq: %{insserv_prereq}
BuildRequires: libXerces-c-devel >= 2.8.0
@@ -20,6 +21,10 @@ BuildRequires: libxmltooling-devel >= 1.4
BuildRequires: libsaml-devel >= 2.4
%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
%{!?_with_log4cpp:BuildRequires: liblog4shib-devel}
+%if 0%{?rhel} >= 6
+Requires: libcurl-openssl >= 7.21.7
+BuildRequires: chrpath
+%endif
BuildRequires: gcc-c++, zlib-devel
%{!?_without_doxygen:BuildRequires: doxygen}
%{!?_without_odbc:BuildRequires:unixODBC-devel}
@@ -82,6 +87,15 @@ This package includes files needed for development with Shibboleth.
%{__sed} -i "s/\/var\/log\/httpd/\/var\/log\/apache2/g" \
$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/native.logger
%endif
+%if 0%{?rhel} >= 6
+ %{__sed} -i "s/#_RHEL6_//g" \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/shibd-redhat
+ %{__sed} -i "s/\/opt\/shibboleth\/lib/\/opt\/shibboleth\/%{_lib}/g" \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/shibd-redhat
+ chrpath -d $RPM_BUILD_ROOT%{_sbindir}/shibd
+ chrpath -d $RPM_BUILD_ROOT%{_bindir}/mdquery
+ chrpath -d $RPM_BUILD_ROOT%{_bindir}/resolvertest
+%endif
# Plug the SP into the built-in Apache on a recognized system.
touch rpm.filelist
@@ -201,7 +215,7 @@ cd /
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/*
%exclude %{_libdir}/%{name}/*.la
-%dir %{_localstatedir}/log/%{name}
+%attr(0750,root,root) %dir %{_localstatedir}/log/%{name}
%dir %{_localstatedir}/run/%{name}
%dir %{_datadir}/xml/%{name}
%{_datadir}/xml/%{name}/*
@@ -218,8 +232,8 @@ cd /
%{_sysconfdir}/%{name}/*.dist
%{_sysconfdir}/%{name}/apache*.config
%{_sysconfdir}/%{name}/shibd-*
-%attr(755, root, root) %{_sysconfdir}/%{name}/keygen.sh
-%attr(755, root, root) %{_sysconfdir}/%{name}/metagen.sh
+%attr(0755,root,root) %{_sysconfdir}/%{name}/keygen.sh
+%attr(0755,root,root) %{_sysconfdir}/%{name}/metagen.sh
%{_sysconfdir}/%{name}/*.xsl
%doc %{pkgdocdir}
%exclude %{pkgdocdir}/api
@@ -232,6 +246,12 @@ cd /
%doc %{pkgdocdir}/api
%changelog
+* Sun Jun 26 2011 Scott Cantor <cantor.2 at osu.edu> - 2.4.3-1
+- Log files shouldn't be world readable.
+- Explicit requirement for libcurl-openssl on RHEL6
+- Uncomment LD_LIBRARY_PATH in init script for RHEL6
+- Remove rpath from binaries for RHEL6
+
* Fri Dec 25 2009 Scott Cantor <cantor.2 at osu.edu> - 2.4-1
- Update dependencies.
diff --git a/shibd/Makefile.in b/shibd/Makefile.in
index dcffb24..0a18f28 100644
--- a/shibd/Makefile.in
+++ b/shibd/Makefile.in
@@ -46,7 +46,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(sbindir)"
@@ -56,7 +57,7 @@ shibd_OBJECTS = $(am_shibd_OBJECTS)
am__DEPENDENCIES_1 =
shibd_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(top_builddir)/shibsp/libshibsp.la
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/shibd/resource.h b/shibd/resource.h
index fd2d1fe..b5e1399 100644
--- a/shibd/resource.h
+++ b/shibd/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by shibd.rc
diff --git a/shibd/shibd.cpp b/shibd/shibd.cpp
index 054aa45..2261e2b 100644
--- a/shibd/shibd.cpp
+++ b/shibd/shibd.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/*
diff --git a/shibd/shibd.rc b/shibd/shibd.rc
index 6e51922..5cdde14 100644
--- a/shibd/shibd.rc
+++ b/shibd/shibd.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 2,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,16 +45,16 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
VALUE "FileDescription", "Shibboleth Daemon Service\0"
- VALUE "FileVersion", "2, 4, 2, 0\0"
+ VALUE "FileVersion", "2, 4, 3, 0\0"
VALUE "InternalName", "shibd\0"
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "shibd.exe\0"
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/shibd/shibd.vcxproj b/shibd/shibd.vcxproj
index d655822..d701c9c 100644
--- a/shibd/shibd.vcxproj
+++ b/shibd/shibd.vcxproj
@@ -155,7 +155,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -185,7 +184,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/shibd/shibd_win32.cpp b/shibd/shibd_win32.cpp
index 96315d1..ecf1f8b 100644
--- a/shibd/shibd_win32.cpp
+++ b/shibd/shibd_win32.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/*
diff --git a/shibsp/AbstractSPRequest.cpp b/shibsp/AbstractSPRequest.cpp
index 7a0d863..57f941a 100644
--- a/shibsp/AbstractSPRequest.cpp
+++ b/shibsp/AbstractSPRequest.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -51,7 +55,7 @@ void SPRequest::setAuthType(const char* authtype)
{
}
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
GSSRequest::GSSRequest()
{
}
diff --git a/shibsp/AbstractSPRequest.h b/shibsp/AbstractSPRequest.h
index 6d497bd..ce55e12 100644
--- a/shibsp/AbstractSPRequest.h
+++ b/shibsp/AbstractSPRequest.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/AccessControl.h b/shibsp/AccessControl.h
index c94e969..be1472b 100644
--- a/shibsp/AccessControl.h
+++ b/shibsp/AccessControl.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/Application.cpp b/shibsp/Application.cpp
index d962cf1..111f2d0 100644
--- a/shibsp/Application.cpp
+++ b/shibsp/Application.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/Application.h b/shibsp/Application.h
index 9b120ff..f1d70f3 100644
--- a/shibsp/Application.h
+++ b/shibsp/Application.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/GSSRequest.h b/shibsp/GSSRequest.h
index cb1c56f..a140f0b 100644
--- a/shibsp/GSSRequest.h
+++ b/shibsp/GSSRequest.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -20,15 +24,15 @@
* Interface to a GSS-authenticated request.
*/
-#if !defined(__shibsp_gssreq_h__) && defined(HAVE_GSSAPI)
+#if !defined(__shibsp_gssreq_h__) && defined(SHIBSP_HAVE_GSSAPI)
#define __shibsp_gssreq_h__
#include <shibsp/base.h>
#include <xmltooling/io/GenericRequest.h>
-#ifdef HAVE_GSSGNU
+#ifdef SHIBSP_HAVE_GSSGNU
# include <gss.h>
-#elif defined HAVE_GSSMIT
+#elif defined SHIBSP_HAVE_GSSMIT
# include <gssapi/gssapi.h>
# include <gssapi/gssapi_generic.h>
#else
diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
index 4bd9dbe..36af47a 100644
--- a/shibsp/Makefile.am
+++ b/shibsp/Makefile.am
@@ -29,6 +29,7 @@ libshibspinclude_HEADERS = \
AccessControl.h \
Application.h \
base.h \
+ config_pub.h \
exceptions.h \
paths.h \
GSSRequest.h \
@@ -217,9 +218,9 @@ libshibsp_la_SOURCES = \
# this is different from the project version
# http://sources.redhat.com/autobook/autobook/autobook_91.html
-libshibsp_la_LDFLAGS = -version-info 5:2:0
+libshibsp_la_LDFLAGS = -version-info 5:3:0
libshibsp_la_LIBADD = $(XMLSEC_LIBS)
-libshibsp_lite_la_LDFLAGS = -version-info 5:2:0
+libshibsp_lite_la_LDFLAGS = -version-info 5:3:0
libshibsp_lite_la_LIBADD = $(LITE_LIBS)
libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE
@@ -253,6 +254,8 @@ EXTRA_DIST = \
shibsp-lite.vcxproj \
shibsp.vcxproj.filters \
shibsp-lite.vcxproj.filters \
+ config_pub.h.in \
+ config_pub_win32.h\
paths.h.in \
resource.h \
shibsp.rc
diff --git a/shibsp/Makefile.in b/shibsp/Makefile.in
index c6a457a..5cb8367 100644
--- a/shibsp/Makefile.in
+++ b/shibsp/Makefile.in
@@ -42,7 +42,7 @@ DIST_COMMON = $(attrfiltinclude_HEADERS) $(attrinclude_HEADERS) \
$(liteinclude_HEADERS) $(mdinclude_HEADERS) $(noinst_HEADERS) \
$(reminclude_HEADERS) $(secinclude_HEADERS) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(utilinclude_HEADERS)
+ $(srcdir)/config_pub.h.in $(utilinclude_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/acx_pthread.m4 $(top_srcdir)/m4/doxygen.m4 \
@@ -52,7 +52,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -418,6 +418,7 @@ libshibspinclude_HEADERS = \
AccessControl.h \
Application.h \
base.h \
+ config_pub.h \
exceptions.h \
paths.h \
GSSRequest.h \
@@ -607,9 +608,9 @@ libshibsp_la_SOURCES = \
# this is different from the project version
# http://sources.redhat.com/autobook/autobook/autobook_91.html
-libshibsp_la_LDFLAGS = -version-info 5:2:0
+libshibsp_la_LDFLAGS = -version-info 5:3:0
libshibsp_la_LIBADD = $(XMLSEC_LIBS)
-libshibsp_lite_la_LDFLAGS = -version-info 5:2:0
+libshibsp_lite_la_LDFLAGS = -version-info 5:3:0
libshibsp_lite_la_LIBADD = $(LITE_LIBS)
libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE
pkgsysconfdir = $(sysconfdir)/@PACKAGE_NAME@
@@ -622,12 +623,14 @@ EXTRA_DIST = \
shibsp-lite.vcxproj \
shibsp.vcxproj.filters \
shibsp-lite.vcxproj.filters \
+ config_pub.h.in \
+ config_pub_win32.h\
paths.h.in \
resource.h \
shibsp.rc
BUILT_SOURCES = paths.h
-all: $(BUILT_SOURCES)
+all: $(BUILT_SOURCES) config_pub.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
@@ -662,6 +665,23 @@ $(top_srcdir)/configure: $(am__configure_deps)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+
+config_pub.h: stamp-h2
+ @if test ! -f $@; then \
+ rm -f stamp-h2; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h2; \
+ else :; fi
+
+stamp-h2: $(srcdir)/config_pub.h.in $(top_builddir)/config.status
+ @rm -f stamp-h2
+ cd $(top_builddir) && $(SHELL) ./config.status shibsp/config_pub.h
+$(srcdir)/config_pub.h.in: $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h2
+ touch $@
+
+distclean-hdr:
+ -rm -f config_pub.h stamp-h2
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@@ -2174,11 +2194,11 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
mkid -fID $$unique
tags: TAGS
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+TAGS: $(HEADERS) $(SOURCES) config_pub.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) config_pub.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -2196,9 +2216,9 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
fi; \
fi
ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+CTAGS: $(HEADERS) $(SOURCES) config_pub.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) config_pub.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -2249,7 +2269,7 @@ distdir: $(DISTFILES)
check-am: all-am
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+all-am: Makefile $(LTLIBRARIES) $(HEADERS) config_pub.h
installdirs:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(attrfiltincludedir)" "$(DESTDIR)$(attrincludedir)" "$(DESTDIR)$(attrresincludedir)" "$(DESTDIR)$(bindincludedir)" "$(DESTDIR)$(handincludedir)" "$(DESTDIR)$(libshibspincludedir)" "$(DESTDIR)$(liteincludedir)" "$(DESTDIR)$(mdincludedir)" "$(DESTDIR)$(remincludedir)" "$(DESTDIR)$(secincludedir)" "$(DESTDIR)$(utilincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -2290,7 +2310,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+ distclean-hdr distclean-tags
dvi: dvi-am
@@ -2368,24 +2388,24 @@ uninstall-am: uninstall-attrfiltincludeHEADERS \
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-attrfiltincludeHEADERS \
- install-attrincludeHEADERS install-attrresincludeHEADERS \
- install-bindincludeHEADERS install-data install-data-am \
- install-dvi install-dvi-am install-exec install-exec-am \
- install-exec-hook install-handincludeHEADERS install-html \
- install-html-am install-info install-info-am \
- install-libLTLIBRARIES install-libshibspincludeHEADERS \
- install-liteincludeHEADERS install-man \
- install-mdincludeHEADERS install-pdf install-pdf-am install-ps \
- install-ps-am install-remincludeHEADERS \
- install-secincludeHEADERS install-strip \
- install-utilincludeHEADERS installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-attrfiltincludeHEADERS \
+ distclean-compile distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am \
+ install-attrfiltincludeHEADERS install-attrincludeHEADERS \
+ install-attrresincludeHEADERS install-bindincludeHEADERS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-exec-hook \
+ install-handincludeHEADERS install-html install-html-am \
+ install-info install-info-am install-libLTLIBRARIES \
+ install-libshibspincludeHEADERS install-liteincludeHEADERS \
+ install-man install-mdincludeHEADERS install-pdf \
+ install-pdf-am install-ps install-ps-am \
+ install-remincludeHEADERS install-secincludeHEADERS \
+ install-strip install-utilincludeHEADERS installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-attrfiltincludeHEADERS \
uninstall-attrincludeHEADERS uninstall-attrresincludeHEADERS \
uninstall-bindincludeHEADERS uninstall-handincludeHEADERS \
uninstall-libLTLIBRARIES uninstall-libshibspincludeHEADERS \
diff --git a/shibsp/RequestMapper.h b/shibsp/RequestMapper.h
index 12971e2..86513f6 100644
--- a/shibsp/RequestMapper.h
+++ b/shibsp/RequestMapper.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/SPConfig.cpp b/shibsp/SPConfig.cpp
index 097704c..a00edc8 100644
--- a/shibsp/SPConfig.cpp
+++ b/shibsp/SPConfig.cpp
@@ -1,18 +1,21 @@
-
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -96,7 +99,21 @@ DECL_XMLTOOLING_EXCEPTION_FACTORY(MetadataException,opensaml::saml2md);
#endif
namespace shibsp {
- SPConfig g_config;
+ class SHIBSP_DLLLOCAL SPInternalConfig : public SPConfig
+ {
+ public:
+ SPInternalConfig();
+ ~SPInternalConfig();
+
+ bool init(const char* catalog_path=nullptr, const char* inst_prefix=nullptr);
+ void term();
+
+ private:
+ int m_initCount;
+ Mutex* m_lock;
+ };
+
+ SPInternalConfig g_config;
}
SPConfig& SPConfig::getConfig()
@@ -156,9 +173,6 @@ const MessageDecoder::ArtifactResolver* SPConfig::getArtifactResolver() const
bool SPConfig::init(const char* catalog_path, const char* inst_prefix)
{
-#ifdef _DEBUG
- NDC ndc("init");
-#endif
if (!inst_prefix)
inst_prefix = getenv("SHIBSP_PREFIX");
if (!inst_prefix)
@@ -311,9 +325,6 @@ bool SPConfig::init(const char* catalog_path, const char* inst_prefix)
void SPConfig::term()
{
-#ifdef _DEBUG
- NDC ndc("term");
-#endif
Category& log=Category::getInstance(SHIBSP_LOGCAT".Config");
log.info("%s library shutting down", PACKAGE_STRING);
@@ -425,6 +436,60 @@ bool SPConfig::instantiate(const char* config, bool rethrow)
return false;
}
+SPInternalConfig::SPInternalConfig() : m_initCount(0), m_lock(Mutex::create())
+{
+}
+
+SPInternalConfig::~SPInternalConfig()
+{
+ delete m_lock;
+}
+
+bool SPInternalConfig::init(const char* catalog_path, const char* inst_prefix)
+{
+#ifdef _DEBUG
+ xmltooling::NDC ndc("init");
+#endif
+
+ Lock initLock(m_lock);
+
+ if (m_initCount == INT_MAX) {
+ Category::getInstance(SHIBSP_LOGCAT".Config").crit("library initialized too many times");
+ return false;
+ }
+
+ if (m_initCount >= 1) {
+ ++m_initCount;
+ return true;
+ }
+
+ if (!SPConfig::init(catalog_path, inst_prefix)) {
+ return false;
+ }
+
+ ++m_initCount;
+ return true;
+}
+
+void SPInternalConfig::term()
+{
+#ifdef _DEBUG
+ xmltooling::NDC ndc("term");
+#endif
+
+ Lock initLock(m_lock);
+ if (m_initCount == 0) {
+ Category::getInstance(SHIBSP_LOGCAT".Config").crit("term without corresponding init");
+ return;
+ }
+ else if (--m_initCount > 0) {
+ return;
+ }
+
+ SPConfig::term();
+}
+
+
TransactionLog::TransactionLog() : log(logging::Category::getInstance(SHIBSP_TX_LOGCAT)), m_lock(Mutex::create())
{
}
diff --git a/shibsp/SPConfig.h b/shibsp/SPConfig.h
index 73a70a1..f7119f5 100644
--- a/shibsp/SPConfig.h
+++ b/shibsp/SPConfig.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/SPRequest.h b/shibsp/SPRequest.h
index af95123..7187be8 100644
--- a/shibsp/SPRequest.h
+++ b/shibsp/SPRequest.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/ServiceProvider.cpp b/shibsp/ServiceProvider.cpp
index 8c5131d..70194b5 100644
--- a/shibsp/ServiceProvider.cpp
+++ b/shibsp/ServiceProvider.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/ServiceProvider.h b/shibsp/ServiceProvider.h
index bd76b8c..fe924fa 100644
--- a/shibsp/ServiceProvider.h
+++ b/shibsp/ServiceProvider.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -26,6 +30,7 @@
#include <shibsp/util/PropertySet.h>
#include <set>
+#include <vector>
#include <xmltooling/Lockable.h>
namespace xmltooling {
diff --git a/shibsp/SessionCache.h b/shibsp/SessionCache.h
index 932f9de..b00d427 100644
--- a/shibsp/SessionCache.h
+++ b/shibsp/SessionCache.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/SessionCacheEx.h b/shibsp/SessionCacheEx.h
index 7ad21a0..682e54c 100644
--- a/shibsp/SessionCacheEx.h
+++ b/shibsp/SessionCacheEx.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/TransactionLog.h b/shibsp/TransactionLog.h
index 96461c7..0fc1bf5 100644
--- a/shibsp/TransactionLog.h
+++ b/shibsp/TransactionLog.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/Attribute.cpp b/shibsp/attribute/Attribute.cpp
index 89f69bf..a97037a 100644
--- a/shibsp/attribute/Attribute.cpp
+++ b/shibsp/attribute/Attribute.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/Attribute.h b/shibsp/attribute/Attribute.h
index 6b2f012..346c646 100644
--- a/shibsp/attribute/Attribute.h
+++ b/shibsp/attribute/Attribute.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/AttributeDecoder.h b/shibsp/attribute/AttributeDecoder.h
index 03b7485..4315316 100644
--- a/shibsp/attribute/AttributeDecoder.h
+++ b/shibsp/attribute/AttributeDecoder.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/Base64AttributeDecoder.cpp b/shibsp/attribute/Base64AttributeDecoder.cpp
index 6f1edd7..6a66582 100644
--- a/shibsp/attribute/Base64AttributeDecoder.cpp
+++ b/shibsp/attribute/Base64AttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2010 The Danish CLARIN Consortium
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/DOMAttributeDecoder.cpp b/shibsp/attribute/DOMAttributeDecoder.cpp
index 7c75c5c..5238164 100644
--- a/shibsp/attribute/DOMAttributeDecoder.cpp
+++ b/shibsp/attribute/DOMAttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/ExtensibleAttribute.cpp b/shibsp/attribute/ExtensibleAttribute.cpp
index ad04d98..4923475 100644
--- a/shibsp/attribute/ExtensibleAttribute.cpp
+++ b/shibsp/attribute/ExtensibleAttribute.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/ExtensibleAttribute.h b/shibsp/attribute/ExtensibleAttribute.h
index 1543288..716cac0 100644
--- a/shibsp/attribute/ExtensibleAttribute.h
+++ b/shibsp/attribute/ExtensibleAttribute.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/KeyInfoAttributeDecoder.cpp b/shibsp/attribute/KeyInfoAttributeDecoder.cpp
index 96957be..662fd00 100644
--- a/shibsp/attribute/KeyInfoAttributeDecoder.cpp
+++ b/shibsp/attribute/KeyInfoAttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/NameIDAttribute.cpp b/shibsp/attribute/NameIDAttribute.cpp
index 978f78d..9cc59db 100644
--- a/shibsp/attribute/NameIDAttribute.cpp
+++ b/shibsp/attribute/NameIDAttribute.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/NameIDAttribute.h b/shibsp/attribute/NameIDAttribute.h
index 8a0aa99..176c9e7 100644
--- a/shibsp/attribute/NameIDAttribute.h
+++ b/shibsp/attribute/NameIDAttribute.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/NameIDAttributeDecoder.cpp b/shibsp/attribute/NameIDAttributeDecoder.cpp
index 71cce1b..d220e6a 100644
--- a/shibsp/attribute/NameIDAttributeDecoder.cpp
+++ b/shibsp/attribute/NameIDAttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/NameIDFromScopedAttributeDecoder.cpp b/shibsp/attribute/NameIDFromScopedAttributeDecoder.cpp
index 39de049..2607acc 100644
--- a/shibsp/attribute/NameIDFromScopedAttributeDecoder.cpp
+++ b/shibsp/attribute/NameIDFromScopedAttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/ScopedAttribute.cpp b/shibsp/attribute/ScopedAttribute.cpp
index 567d8cf..f151c13 100644
--- a/shibsp/attribute/ScopedAttribute.cpp
+++ b/shibsp/attribute/ScopedAttribute.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/ScopedAttribute.h b/shibsp/attribute/ScopedAttribute.h
index 808d6f3..8e2e853 100644
--- a/shibsp/attribute/ScopedAttribute.h
+++ b/shibsp/attribute/ScopedAttribute.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/ScopedAttributeDecoder.cpp b/shibsp/attribute/ScopedAttributeDecoder.cpp
index 42ffd25..7e4526c 100644
--- a/shibsp/attribute/ScopedAttributeDecoder.cpp
+++ b/shibsp/attribute/ScopedAttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/SimpleAttribute.cpp b/shibsp/attribute/SimpleAttribute.cpp
index 1a5c394..ac29fb1 100644
--- a/shibsp/attribute/SimpleAttribute.cpp
+++ b/shibsp/attribute/SimpleAttribute.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/SimpleAttribute.h b/shibsp/attribute/SimpleAttribute.h
index 8402159..55770c0 100644
--- a/shibsp/attribute/SimpleAttribute.h
+++ b/shibsp/attribute/SimpleAttribute.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/StringAttributeDecoder.cpp b/shibsp/attribute/StringAttributeDecoder.cpp
index 2abb399..1fc5d22 100644
--- a/shibsp/attribute/StringAttributeDecoder.cpp
+++ b/shibsp/attribute/StringAttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/XMLAttribute.cpp b/shibsp/attribute/XMLAttribute.cpp
index 79db4f2..fc4f863 100644
--- a/shibsp/attribute/XMLAttribute.cpp
+++ b/shibsp/attribute/XMLAttribute.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/XMLAttribute.h b/shibsp/attribute/XMLAttribute.h
index 8f9f0a1..928db4b 100644
--- a/shibsp/attribute/XMLAttribute.h
+++ b/shibsp/attribute/XMLAttribute.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/XMLAttributeDecoder.cpp b/shibsp/attribute/XMLAttributeDecoder.cpp
index 8c192c5..c6c23bf 100644
--- a/shibsp/attribute/XMLAttributeDecoder.cpp
+++ b/shibsp/attribute/XMLAttributeDecoder.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/AttributeFilter.h b/shibsp/attribute/filtering/AttributeFilter.h
index 635c758..f98e345 100644
--- a/shibsp/attribute/filtering/AttributeFilter.h
+++ b/shibsp/attribute/filtering/AttributeFilter.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/BasicFilteringContext.h b/shibsp/attribute/filtering/BasicFilteringContext.h
index 1136f34..b9589a6 100644
--- a/shibsp/attribute/filtering/BasicFilteringContext.h
+++ b/shibsp/attribute/filtering/BasicFilteringContext.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/FilterPolicyContext.h b/shibsp/attribute/filtering/FilterPolicyContext.h
index f658643..6e6735c 100644
--- a/shibsp/attribute/filtering/FilterPolicyContext.h
+++ b/shibsp/attribute/filtering/FilterPolicyContext.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/FilteringContext.h b/shibsp/attribute/filtering/FilteringContext.h
index 012c1a6..40232a4 100644
--- a/shibsp/attribute/filtering/FilteringContext.h
+++ b/shibsp/attribute/filtering/FilteringContext.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/MatchFunctor.h b/shibsp/attribute/filtering/MatchFunctor.h
index 1fd976e..79dcdfc 100644
--- a/shibsp/attribute/filtering/MatchFunctor.h
+++ b/shibsp/attribute/filtering/MatchFunctor.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AndMatchFunctor.cpp b/shibsp/attribute/filtering/impl/AndMatchFunctor.cpp
index d9587d2..e2c31a3 100644
--- a/shibsp/attribute/filtering/impl/AndMatchFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AndMatchFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AnyMatchFunctor.cpp b/shibsp/attribute/filtering/impl/AnyMatchFunctor.cpp
index 55bbd14..209b3de 100644
--- a/shibsp/attribute/filtering/impl/AnyMatchFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AnyMatchFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeFilter.cpp b/shibsp/attribute/filtering/impl/AttributeFilter.cpp
index a1fcf0f..726c16c 100644
--- a/shibsp/attribute/filtering/impl/AttributeFilter.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeFilter.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeIssuerInEntityGroupFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeIssuerInEntityGroupFunctor.cpp
index c85fcf6..f0554fa 100644
--- a/shibsp/attribute/filtering/impl/AttributeIssuerInEntityGroupFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeIssuerInEntityGroupFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeIssuerRegexFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeIssuerRegexFunctor.cpp
index f66a289..729ba30 100644
--- a/shibsp/attribute/filtering/impl/AttributeIssuerRegexFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeIssuerRegexFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeIssuerStringFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeIssuerStringFunctor.cpp
index a3a2b26..39b3648 100644
--- a/shibsp/attribute/filtering/impl/AttributeIssuerStringFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeIssuerStringFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeRequesterInEntityGroupFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeRequesterInEntityGroupFunctor.cpp
index e03c12a..7e19bd6 100644
--- a/shibsp/attribute/filtering/impl/AttributeRequesterInEntityGroupFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeRequesterInEntityGroupFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeRequesterRegexFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeRequesterRegexFunctor.cpp
index 4ba1a9a..0272489 100644
--- a/shibsp/attribute/filtering/impl/AttributeRequesterRegexFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeRequesterRegexFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeRequesterStringFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeRequesterStringFunctor.cpp
index 486b3ac..51a1e6b 100644
--- a/shibsp/attribute/filtering/impl/AttributeRequesterStringFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeRequesterStringFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeScopeMatchesShibMDScopeFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeScopeMatchesShibMDScopeFunctor.cpp
index 96bf8dc..3556832 100644
--- a/shibsp/attribute/filtering/impl/AttributeScopeMatchesShibMDScopeFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeScopeMatchesShibMDScopeFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeScopeRegexFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeScopeRegexFunctor.cpp
index f27e848..ef1423e 100644
--- a/shibsp/attribute/filtering/impl/AttributeScopeRegexFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeScopeRegexFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -53,7 +57,7 @@ namespace shibsp {
bool matches(const Attribute& attribute, size_t index) const;
public:
- AttributeScopeRegexFunctor(const DOMElement* e) : m_regex(nullptr), m_attributeID(XMLHelper::getAttrString(e, nullptr, attributeID)) {
+ AttributeScopeRegexFunctor(const DOMElement* e) : m_attributeID(XMLHelper::getAttrString(e, nullptr, attributeID)), m_regex(nullptr) {
const XMLCh* r = e ? e->getAttributeNS(nullptr,regex) : nullptr;
if (!r || !*r)
throw ConfigurationException("AttributeScopeRegex MatchFunctor requires non-empty regex attribute.");
diff --git a/shibsp/attribute/filtering/impl/AttributeScopeStringFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeScopeStringFunctor.cpp
index e27eb5a..132fd83 100644
--- a/shibsp/attribute/filtering/impl/AttributeScopeStringFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeScopeStringFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeValueRegexFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeValueRegexFunctor.cpp
index 1a20986..6982717 100644
--- a/shibsp/attribute/filtering/impl/AttributeValueRegexFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeValueRegexFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AttributeValueStringFunctor.cpp b/shibsp/attribute/filtering/impl/AttributeValueStringFunctor.cpp
index b7ac084..8052440 100644
--- a/shibsp/attribute/filtering/impl/AttributeValueStringFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AttributeValueStringFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -53,8 +57,8 @@ namespace shibsp {
public:
AttributeValueStringFunctor(const DOMElement* e)
- : m_value(e ? xmltooling::toUTF8(e->getAttributeNS(nullptr,value)) : nullptr),
- m_attributeID(XMLHelper::getAttrString(e, nullptr, attributeID)) {
+ : m_attributeID(XMLHelper::getAttrString(e, nullptr, attributeID)),
+ m_value(e ? xmltooling::toUTF8(e->getAttributeNS(nullptr,value)) : nullptr) {
if (!m_value || !*m_value) {
delete[] m_value;
throw ConfigurationException("AttributeValueString MatchFunctor requires non-empty value attribute.");
diff --git a/shibsp/attribute/filtering/impl/AuthenticationMethodRegexFunctor.cpp b/shibsp/attribute/filtering/impl/AuthenticationMethodRegexFunctor.cpp
index a0603a6..7ecad04 100644
--- a/shibsp/attribute/filtering/impl/AuthenticationMethodRegexFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AuthenticationMethodRegexFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/AuthenticationMethodStringFunctor.cpp b/shibsp/attribute/filtering/impl/AuthenticationMethodStringFunctor.cpp
index fd78363..68fe427 100644
--- a/shibsp/attribute/filtering/impl/AuthenticationMethodStringFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/AuthenticationMethodStringFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/BasicFilteringContext.cpp b/shibsp/attribute/filtering/impl/BasicFilteringContext.cpp
index 1fd98ac..8be4589 100644
--- a/shibsp/attribute/filtering/impl/BasicFilteringContext.cpp
+++ b/shibsp/attribute/filtering/impl/BasicFilteringContext.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp b/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp
index 58acef2..f397dff 100644
--- a/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp
+++ b/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/DummyAttributeFilter.cpp b/shibsp/attribute/filtering/impl/DummyAttributeFilter.cpp
index 1fe4dc9..d4f5660 100644
--- a/shibsp/attribute/filtering/impl/DummyAttributeFilter.cpp
+++ b/shibsp/attribute/filtering/impl/DummyAttributeFilter.cpp
@@ -1,58 +1,62 @@
-/*
- * Copyright 2010 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.
- */
-
-/**
- * DummyAttributeFilter.cpp
- *
- * Pathological AttributeFilter that rejects all attributes.
- */
-
-#include "internal.h"
-#include "attribute/Attribute.h"
-#include "attribute/filtering/AttributeFilter.h"
-
-using namespace shibsp;
-using namespace xmltooling;
-using namespace std;
-
-namespace shibsp {
-
- class SHIBSP_DLLLOCAL DummyAttributeFilter : public AttributeFilter
- {
- public:
- DummyAttributeFilter(const DOMElement* e) {
- }
- virtual ~DummyAttributeFilter() {
- }
-
- Lockable* lock() {
- return this;
- }
- void unlock() {
- }
-
- void filterAttributes(const FilteringContext& context, vector<Attribute*>& attributes) const {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter.Dummy").warn("filtering out all attributes");
- for_each(attributes.begin(), attributes.end(), xmltooling::cleanup<Attribute>());
- attributes.clear();
- }
- };
-
- AttributeFilter* SHIBSP_DLLLOCAL DummyAttributeFilterFactory(const DOMElement* const & e)
- {
- return new DummyAttributeFilter(e);
- }
-};
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
+/**
+ * DummyAttributeFilter.cpp
+ *
+ * Pathological AttributeFilter that rejects all attributes.
+ */
+
+#include "internal.h"
+#include "attribute/Attribute.h"
+#include "attribute/filtering/AttributeFilter.h"
+
+using namespace shibsp;
+using namespace xmltooling;
+using namespace std;
+
+namespace shibsp {
+
+ class SHIBSP_DLLLOCAL DummyAttributeFilter : public AttributeFilter
+ {
+ public:
+ DummyAttributeFilter(const DOMElement* e) {
+ }
+ virtual ~DummyAttributeFilter() {
+ }
+
+ Lockable* lock() {
+ return this;
+ }
+ void unlock() {
+ }
+
+ void filterAttributes(const FilteringContext& context, vector<Attribute*>& attributes) const {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter.Dummy").warn("filtering out all attributes");
+ for_each(attributes.begin(), attributes.end(), xmltooling::cleanup<Attribute>());
+ attributes.clear();
+ }
+ };
+
+ AttributeFilter* SHIBSP_DLLLOCAL DummyAttributeFilterFactory(const DOMElement* const & e)
+ {
+ return new DummyAttributeFilter(e);
+ }
+};
diff --git a/shibsp/attribute/filtering/impl/MatchFunctor.cpp b/shibsp/attribute/filtering/impl/MatchFunctor.cpp
index bdb8779..89f34f3 100644
--- a/shibsp/attribute/filtering/impl/MatchFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/MatchFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/NameIDQualifierStringFunctor.cpp b/shibsp/attribute/filtering/impl/NameIDQualifierStringFunctor.cpp
index 66735d9..daaa692 100644
--- a/shibsp/attribute/filtering/impl/NameIDQualifierStringFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/NameIDQualifierStringFunctor.cpp
@@ -1,169 +1,173 @@
-/*
- * Copyright 2010 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.
- */
-
-/**
- * NameIDQualifierStringFunctor.cpp
- *
- * A match function that ensures that a NameID-valued attribute's qualifier(s)
- * match particular values.
- */
-
-#include "internal.h"
-#include "exceptions.h"
-#include "attribute/NameIDAttribute.h"
-#include "attribute/filtering/FilteringContext.h"
-#include "attribute/filtering/FilterPolicyContext.h"
-#include "attribute/filtering/MatchFunctor.h"
-
-#include <saml/saml2/core/Assertions.h>
-#include <xmltooling/util/XMLHelper.h>
-
-using namespace shibsp;
-using namespace xmltooling::logging;
-using namespace xmltooling;
-using namespace std;
-using opensaml::saml2::NameID;
-
-namespace shibsp {
-
- static const XMLCh attributeID[] = UNICODE_LITERAL_11(a,t,t,r,i,b,u,t,e,I,D);
-
- /**
- * A match function that ensures that a NameID-valued attribute's qualifier(s)
- * match particular values.
- */
- class SHIBSP_DLLLOCAL NameIDQualifierStringFunctor : public MatchFunctor
- {
- string m_attributeID,m_matchNameQualifier,m_matchSPNameQualifier;
-
- bool hasValue(const FilteringContext& filterContext) const;
- bool matches(const FilteringContext& filterContext, const Attribute& attribute, size_t index) const;
-
- public:
- NameIDQualifierStringFunctor(const DOMElement* e)
- : m_attributeID(XMLHelper::getAttrString(e, nullptr, attributeID)),
- m_matchNameQualifier(XMLHelper::getAttrString(e, nullptr, NameID::NAMEQUALIFIER_ATTRIB_NAME)),
- m_matchSPNameQualifier(XMLHelper::getAttrString(e, nullptr, NameID::SPNAMEQUALIFIER_ATTRIB_NAME)) {
- }
-
- virtual ~NameIDQualifierStringFunctor() {
- }
-
- bool evaluatePolicyRequirement(const FilteringContext& filterContext) const {
- if (m_attributeID.empty())
- throw AttributeFilteringException("No attributeID specified.");
- return hasValue(filterContext);
- }
-
- bool evaluatePermitValue(const FilteringContext& filterContext, const Attribute& attribute, size_t index) const {
- if (m_attributeID.empty() || m_attributeID == attribute.getId())
- return matches(filterContext, attribute, index);
- return hasValue(filterContext);
- }
- };
-
- MatchFunctor* SHIBSP_DLLLOCAL NameIDQualifierStringFactory(const std::pair<const FilterPolicyContext*,const DOMElement*>& p)
- {
- return new NameIDQualifierStringFunctor(p.second);
- }
-
-};
-
-bool NameIDQualifierStringFunctor::hasValue(const FilteringContext& filterContext) const
-{
- size_t count;
- pair<multimap<string,Attribute*>::const_iterator,multimap<string,Attribute*>::const_iterator> attrs =
- filterContext.getAttributes().equal_range(m_attributeID);
- for (; attrs.first != attrs.second; ++attrs.first) {
- count = attrs.first->second->valueCount();
- for (size_t index = 0; index < count; ++index) {
- if (matches(filterContext, *(attrs.first->second), index))
- return true;
- }
- }
- return false;
-}
-
-bool NameIDQualifierStringFunctor::matches(const FilteringContext& filterContext, const Attribute& attribute, size_t index) const
-{
- const NameIDAttribute* nameattr = dynamic_cast<const NameIDAttribute*>(&attribute);
- if (!nameattr) {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
- "NameIDQualifierString MatchFunctor applied to non-NameID-valued attribute (%s)", attribute.getId()
- );
- return false;
- }
-
- const NameIDAttribute::Value& val = nameattr->getValues()[index];
- if (!val.m_NameQualifier.empty()) {
- if (m_matchNameQualifier.empty()) {
- auto_ptr_char issuer(filterContext.getAttributeIssuer());
- if (issuer.get() && *issuer.get()) {
- if (val.m_NameQualifier != issuer.get()) {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
- "NameIDQualifierString MatchFunctor rejecting NameQualifier (%s), should be (%s)",
- val.m_NameQualifier.c_str(), issuer.get()
- );
- return false;
- }
- }
- else {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
- "NameIDQualifierString MatchFunctor rejecting NameQualifier (%s), attribute issuer unknown",
- val.m_NameQualifier.c_str()
- );
- return false;
- }
- }
- else if (m_matchNameQualifier != val.m_NameQualifier) {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
- "NameIDQualifierString MatchFunctor rejecting NameQualifier (%s), should be (%s)",
- val.m_NameQualifier.c_str(), m_matchNameQualifier.c_str()
- );
- return false;
- }
- }
- if (!val.m_SPNameQualifier.empty()) {
- if (m_matchSPNameQualifier.empty()) {
- auto_ptr_char req(filterContext.getAttributeRequester());
- if (req.get() && *req.get()) {
- if (val.m_SPNameQualifier != req.get()) {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
- "NameIDQualifierString MatchFunctor rejecting SPNameQualifier (%s), should be (%s)",
- val.m_SPNameQualifier.c_str(), req.get()
- );
- return false;
- }
- }
- else {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
- "NameIDQualifierString MatchFunctor rejecting SPNameQualifier (%s), attribute requester unknown",
- val.m_SPNameQualifier.c_str()
- );
- return false;
- }
- }
- else if (m_matchSPNameQualifier != val.m_SPNameQualifier) {
- Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
- "NameIDQualifierString MatchFunctor rejecting SPNameQualifier (%s), should be (%s)",
- val.m_SPNameQualifier.c_str(), m_matchSPNameQualifier.c_str()
- );
- return false;
- }
- }
-
- return true;
-}
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
+/**
+ * NameIDQualifierStringFunctor.cpp
+ *
+ * A match function that ensures that a NameID-valued attribute's qualifier(s)
+ * match particular values.
+ */
+
+#include "internal.h"
+#include "exceptions.h"
+#include "attribute/NameIDAttribute.h"
+#include "attribute/filtering/FilteringContext.h"
+#include "attribute/filtering/FilterPolicyContext.h"
+#include "attribute/filtering/MatchFunctor.h"
+
+#include <saml/saml2/core/Assertions.h>
+#include <xmltooling/util/XMLHelper.h>
+
+using namespace shibsp;
+using namespace xmltooling::logging;
+using namespace xmltooling;
+using namespace std;
+using opensaml::saml2::NameID;
+
+namespace shibsp {
+
+ static const XMLCh attributeID[] = UNICODE_LITERAL_11(a,t,t,r,i,b,u,t,e,I,D);
+
+ /**
+ * A match function that ensures that a NameID-valued attribute's qualifier(s)
+ * match particular values.
+ */
+ class SHIBSP_DLLLOCAL NameIDQualifierStringFunctor : public MatchFunctor
+ {
+ string m_attributeID,m_matchNameQualifier,m_matchSPNameQualifier;
+
+ bool hasValue(const FilteringContext& filterContext) const;
+ bool matches(const FilteringContext& filterContext, const Attribute& attribute, size_t index) const;
+
+ public:
+ NameIDQualifierStringFunctor(const DOMElement* e)
+ : m_attributeID(XMLHelper::getAttrString(e, nullptr, attributeID)),
+ m_matchNameQualifier(XMLHelper::getAttrString(e, nullptr, NameID::NAMEQUALIFIER_ATTRIB_NAME)),
+ m_matchSPNameQualifier(XMLHelper::getAttrString(e, nullptr, NameID::SPNAMEQUALIFIER_ATTRIB_NAME)) {
+ }
+
+ virtual ~NameIDQualifierStringFunctor() {
+ }
+
+ bool evaluatePolicyRequirement(const FilteringContext& filterContext) const {
+ if (m_attributeID.empty())
+ throw AttributeFilteringException("No attributeID specified.");
+ return hasValue(filterContext);
+ }
+
+ bool evaluatePermitValue(const FilteringContext& filterContext, const Attribute& attribute, size_t index) const {
+ if (m_attributeID.empty() || m_attributeID == attribute.getId())
+ return matches(filterContext, attribute, index);
+ return hasValue(filterContext);
+ }
+ };
+
+ MatchFunctor* SHIBSP_DLLLOCAL NameIDQualifierStringFactory(const std::pair<const FilterPolicyContext*,const DOMElement*>& p)
+ {
+ return new NameIDQualifierStringFunctor(p.second);
+ }
+
+};
+
+bool NameIDQualifierStringFunctor::hasValue(const FilteringContext& filterContext) const
+{
+ size_t count;
+ pair<multimap<string,Attribute*>::const_iterator,multimap<string,Attribute*>::const_iterator> attrs =
+ filterContext.getAttributes().equal_range(m_attributeID);
+ for (; attrs.first != attrs.second; ++attrs.first) {
+ count = attrs.first->second->valueCount();
+ for (size_t index = 0; index < count; ++index) {
+ if (matches(filterContext, *(attrs.first->second), index))
+ return true;
+ }
+ }
+ return false;
+}
+
+bool NameIDQualifierStringFunctor::matches(const FilteringContext& filterContext, const Attribute& attribute, size_t index) const
+{
+ const NameIDAttribute* nameattr = dynamic_cast<const NameIDAttribute*>(&attribute);
+ if (!nameattr) {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
+ "NameIDQualifierString MatchFunctor applied to non-NameID-valued attribute (%s)", attribute.getId()
+ );
+ return false;
+ }
+
+ const NameIDAttribute::Value& val = nameattr->getValues()[index];
+ if (!val.m_NameQualifier.empty()) {
+ if (m_matchNameQualifier.empty()) {
+ auto_ptr_char issuer(filterContext.getAttributeIssuer());
+ if (issuer.get() && *issuer.get()) {
+ if (val.m_NameQualifier != issuer.get()) {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
+ "NameIDQualifierString MatchFunctor rejecting NameQualifier (%s), should be (%s)",
+ val.m_NameQualifier.c_str(), issuer.get()
+ );
+ return false;
+ }
+ }
+ else {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
+ "NameIDQualifierString MatchFunctor rejecting NameQualifier (%s), attribute issuer unknown",
+ val.m_NameQualifier.c_str()
+ );
+ return false;
+ }
+ }
+ else if (m_matchNameQualifier != val.m_NameQualifier) {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
+ "NameIDQualifierString MatchFunctor rejecting NameQualifier (%s), should be (%s)",
+ val.m_NameQualifier.c_str(), m_matchNameQualifier.c_str()
+ );
+ return false;
+ }
+ }
+ if (!val.m_SPNameQualifier.empty()) {
+ if (m_matchSPNameQualifier.empty()) {
+ auto_ptr_char req(filterContext.getAttributeRequester());
+ if (req.get() && *req.get()) {
+ if (val.m_SPNameQualifier != req.get()) {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
+ "NameIDQualifierString MatchFunctor rejecting SPNameQualifier (%s), should be (%s)",
+ val.m_SPNameQualifier.c_str(), req.get()
+ );
+ return false;
+ }
+ }
+ else {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
+ "NameIDQualifierString MatchFunctor rejecting SPNameQualifier (%s), attribute requester unknown",
+ val.m_SPNameQualifier.c_str()
+ );
+ return false;
+ }
+ }
+ else if (m_matchSPNameQualifier != val.m_SPNameQualifier) {
+ Category::getInstance(SHIBSP_LOGCAT".AttributeFilter").warn(
+ "NameIDQualifierString MatchFunctor rejecting SPNameQualifier (%s), should be (%s)",
+ val.m_SPNameQualifier.c_str(), m_matchSPNameQualifier.c_str()
+ );
+ return false;
+ }
+ }
+
+ return true;
+}
diff --git a/shibsp/attribute/filtering/impl/NotMatchFunctor.cpp b/shibsp/attribute/filtering/impl/NotMatchFunctor.cpp
index 63f6b50..c279d52 100644
--- a/shibsp/attribute/filtering/impl/NotMatchFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/NotMatchFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/NumberOfAttributeValuesFunctor.cpp b/shibsp/attribute/filtering/impl/NumberOfAttributeValuesFunctor.cpp
index bf45384..0053ab6 100644
--- a/shibsp/attribute/filtering/impl/NumberOfAttributeValuesFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/NumberOfAttributeValuesFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/OrMatchFunctor.cpp b/shibsp/attribute/filtering/impl/OrMatchFunctor.cpp
index 82714cc..bbf9431 100644
--- a/shibsp/attribute/filtering/impl/OrMatchFunctor.cpp
+++ b/shibsp/attribute/filtering/impl/OrMatchFunctor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/filtering/impl/XMLAttributeFilter.cpp b/shibsp/attribute/filtering/impl/XMLAttributeFilter.cpp
index 639d7e9..3880638 100644
--- a/shibsp/attribute/filtering/impl/XMLAttributeFilter.cpp
+++ b/shibsp/attribute/filtering/impl/XMLAttributeFilter.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/AttributeExtractor.h b/shibsp/attribute/resolver/AttributeExtractor.h
index b756c5d..ba44eeb 100644
--- a/shibsp/attribute/resolver/AttributeExtractor.h
+++ b/shibsp/attribute/resolver/AttributeExtractor.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/AttributeResolver.h b/shibsp/attribute/resolver/AttributeResolver.h
index 9f3f773..16ac9df 100644
--- a/shibsp/attribute/resolver/AttributeResolver.h
+++ b/shibsp/attribute/resolver/AttributeResolver.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/ResolutionContext.h b/shibsp/attribute/resolver/ResolutionContext.h
index 6eab48a..aedb5da 100644
--- a/shibsp/attribute/resolver/ResolutionContext.h
+++ b/shibsp/attribute/resolver/ResolutionContext.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/impl/ChainingAttributeExtractor.cpp b/shibsp/attribute/resolver/impl/ChainingAttributeExtractor.cpp
index d10c9a1..b6d902a 100644
--- a/shibsp/attribute/resolver/impl/ChainingAttributeExtractor.cpp
+++ b/shibsp/attribute/resolver/impl/ChainingAttributeExtractor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/impl/ChainingAttributeResolver.cpp b/shibsp/attribute/resolver/impl/ChainingAttributeResolver.cpp
index fa268cf..2635489 100644
--- a/shibsp/attribute/resolver/impl/ChainingAttributeResolver.cpp
+++ b/shibsp/attribute/resolver/impl/ChainingAttributeResolver.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/impl/DelegationAttributeExtractor.cpp b/shibsp/attribute/resolver/impl/DelegationAttributeExtractor.cpp
index 3f410cd..d8754cf 100644
--- a/shibsp/attribute/resolver/impl/DelegationAttributeExtractor.cpp
+++ b/shibsp/attribute/resolver/impl/DelegationAttributeExtractor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp b/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp
index 3cdac01..b6008ab 100644
--- a/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp
+++ b/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/impl/QueryAttributeResolver.cpp b/shibsp/attribute/resolver/impl/QueryAttributeResolver.cpp
index 85a1d88..2206b0a 100644
--- a/shibsp/attribute/resolver/impl/QueryAttributeResolver.cpp
+++ b/shibsp/attribute/resolver/impl/QueryAttributeResolver.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/impl/SimpleAggregationAttributeResolver.cpp b/shibsp/attribute/resolver/impl/SimpleAggregationAttributeResolver.cpp
index 573e6ec..8d6b5bf 100644
--- a/shibsp/attribute/resolver/impl/SimpleAggregationAttributeResolver.cpp
+++ b/shibsp/attribute/resolver/impl/SimpleAggregationAttributeResolver.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp b/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp
index 0d38610..c270cf8 100644
--- a/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp
+++ b/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -983,7 +987,7 @@ void XMLExtractor::extractAttributes(
return m_impl->extractAttributes(application, assertingParty.get(), relyingParty, *name1, attributes);
}
- throw AttributeExtractionException("Unable to extract attributes, unknown object type.");
+ m_log.debug("unable to extract attributes, unknown XML object type: %s", xmlObject.getElementQName().toString().c_str());
}
pair<bool,DOMElement*> XMLExtractor::background_load()
diff --git a/shibsp/base.h b/shibsp/base.h
index 7e7def0..1ebe1ea 100644
--- a/shibsp/base.h
+++ b/shibsp/base.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -31,6 +35,12 @@
# include <saml/base.h>
#endif
+#if defined (_MSC_VER) || defined(__BORLANDC__)
+ #include <shibsp/config_pub_win32.h>
+#else
+ #include <shibsp/config_pub.h>
+#endif
+
// Windows and GCC4 Symbol Visibility Macros
#ifdef WIN32
#define SHIBSP_IMPORT __declspec(dllimport)
diff --git a/shibsp/binding/ArtifactResolver.h b/shibsp/binding/ArtifactResolver.h
index 95427f6..13cd0ab 100644
--- a/shibsp/binding/ArtifactResolver.h
+++ b/shibsp/binding/ArtifactResolver.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/binding/ProtocolProvider.h b/shibsp/binding/ProtocolProvider.h
index 3f1f305..69c5ad1 100644
--- a/shibsp/binding/ProtocolProvider.h
+++ b/shibsp/binding/ProtocolProvider.h
@@ -1,74 +1,78 @@
-/*
- * Copyright 2010 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.
- */
-
-/**
- * @file shibsp/binding/ProtocolProvider.h
- *
- * Interface to protocol, binding, and default endpoint information.
- */
-
-#ifndef __shibsp_protprov_h__
-#define __shibsp_protprov_h__
-
-#include <shibsp/base.h>
-
-#include <vector>
-#include <xmltooling/Lockable.h>
-
-namespace shibsp {
-
- class SHIBSP_API PropertySet;
-
- /**
- * Interface to protocol, binding, and default endpoint information.
- */
- class SHIBSP_API ProtocolProvider : public virtual xmltooling::Lockable
- {
- MAKE_NONCOPYABLE(ProtocolProvider);
- protected:
- ProtocolProvider();
- public:
- virtual ~ProtocolProvider();
-
- /**
- * Returns configuration details for initiating a protocol service, as a PropertySet.
- *
- * @param protocol the name of a protocol
- * @param service the name of a service
- * @return a PropertySet associated with initiation/request of a service
- */
- virtual const PropertySet* getInitiator(const char* protocol, const char* service) const=0;
-
- /**
- * Returns an ordered array of protocol bindings available for a specified service.
- *
- * @param protocol the name of a protocol
- * @param service name of the protocol service
- * @return the array of bindings, each represented as a PropertySet
- */
- virtual const std::vector<const PropertySet*>& getBindings(const char* protocol, const char* service) const=0;
- };
-
- /**
- * Registers ProtocolProvider classes into the runtime.
- */
- void SHIBSP_API registerProtocolProviders();
-
- /** ProtocolProvider based on an XML configuration format. */
- #define XML_PROTOCOL_PROVIDER "XML"
-};
-
-#endif /* __shibsp_protprov_h__ */
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
+/**
+ * @file shibsp/binding/ProtocolProvider.h
+ *
+ * Interface to protocol, binding, and default endpoint information.
+ */
+
+#ifndef __shibsp_protprov_h__
+#define __shibsp_protprov_h__
+
+#include <shibsp/base.h>
+
+#include <vector>
+#include <xmltooling/Lockable.h>
+
+namespace shibsp {
+
+ class SHIBSP_API PropertySet;
+
+ /**
+ * Interface to protocol, binding, and default endpoint information.
+ */
+ class SHIBSP_API ProtocolProvider : public virtual xmltooling::Lockable
+ {
+ MAKE_NONCOPYABLE(ProtocolProvider);
+ protected:
+ ProtocolProvider();
+ public:
+ virtual ~ProtocolProvider();
+
+ /**
+ * Returns configuration details for initiating a protocol service, as a PropertySet.
+ *
+ * @param protocol the name of a protocol
+ * @param service the name of a service
+ * @return a PropertySet associated with initiation/request of a service
+ */
+ virtual const PropertySet* getInitiator(const char* protocol, const char* service) const=0;
+
+ /**
+ * Returns an ordered array of protocol bindings available for a specified service.
+ *
+ * @param protocol the name of a protocol
+ * @param service name of the protocol service
+ * @return the array of bindings, each represented as a PropertySet
+ */
+ virtual const std::vector<const PropertySet*>& getBindings(const char* protocol, const char* service) const=0;
+ };
+
+ /**
+ * Registers ProtocolProvider classes into the runtime.
+ */
+ void SHIBSP_API registerProtocolProviders();
+
+ /** ProtocolProvider based on an XML configuration format. */
+ #define XML_PROTOCOL_PROVIDER "XML"
+};
+
+#endif /* __shibsp_protprov_h__ */
diff --git a/shibsp/binding/SOAPClient.h b/shibsp/binding/SOAPClient.h
index f5b3ce3..ebe36e3 100644
--- a/shibsp/binding/SOAPClient.h
+++ b/shibsp/binding/SOAPClient.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/binding/impl/ArtifactResolver.cpp b/shibsp/binding/impl/ArtifactResolver.cpp
index d05e00a..2519910 100644
--- a/shibsp/binding/impl/ArtifactResolver.cpp
+++ b/shibsp/binding/impl/ArtifactResolver.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/binding/impl/SOAPClient.cpp b/shibsp/binding/impl/SOAPClient.cpp
index dc15572..990d640 100644
--- a/shibsp/binding/impl/SOAPClient.cpp
+++ b/shibsp/binding/impl/SOAPClient.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/binding/impl/XMLProtocolProvider.cpp b/shibsp/binding/impl/XMLProtocolProvider.cpp
index 5099e18..907c1ff 100644
--- a/shibsp/binding/impl/XMLProtocolProvider.cpp
+++ b/shibsp/binding/impl/XMLProtocolProvider.cpp
@@ -1,236 +1,240 @@
-/*
- * Copyright 2010 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.
- */
-
-/**
- * XMLProtocolProvider.cpp
- *
- * XML-based protocol provider.
- */
-
-#include "internal.h"
-#include "exceptions.h"
-#include "binding/ProtocolProvider.h"
-#include "util/DOMPropertySet.h"
-#include "util/SPConstants.h"
-
-#include <map>
-#include <xmltooling/io/HTTPResponse.h>
-#include <xmltooling/util/NDC.h>
-#include <xmltooling/util/ReloadableXMLFile.h>
-#include <xmltooling/util/Threads.h>
-#include <xmltooling/util/XMLHelper.h>
-#include <xercesc/util/XMLUniDefs.hpp>
-
-using shibspconstants::SHIB2SPPROTOCOLS_NS;
-using namespace shibsp;
-using namespace xmltooling;
-using namespace std;
-
-namespace shibsp {
-
- static const XMLCh _id[] = UNICODE_LITERAL_2(i,d);
- static const XMLCh Binding[] = UNICODE_LITERAL_7(B,i,n,d,i,n,g);
- static const XMLCh Initiator[] = UNICODE_LITERAL_9(I,n,i,t,i,a,t,o,r);
- static const XMLCh Protocol[] = UNICODE_LITERAL_8(P,r,o,t,o,c,o,l);
- static const XMLCh Protocols[] = UNICODE_LITERAL_9(P,r,o,t,o,c,o,l,s);
- static const XMLCh Service[] = UNICODE_LITERAL_7(S,e,r,v,i,c,e);
-
-#if defined (_MSC_VER)
- #pragma warning( push )
- #pragma warning( disable : 4250 )
-#endif
-
- class SHIBSP_DLLLOCAL XMLProtocolProviderImpl : public DOMNodeFilter, DOMPropertySet
- {
- public:
- XMLProtocolProviderImpl(const DOMElement* e, Category& log);
- ~XMLProtocolProviderImpl() {
- for (protmap_t::iterator i = m_map.begin(); i != m_map.end(); ++i) {
- delete i->second.first;
- for_each(i->second.second.begin(), i->second.second.end(), xmltooling::cleanup<PropertySet>());
- }
- if (m_document)
- m_document->release();
- }
-
- void setDocument(DOMDocument* doc) {
- m_document = doc;
- }
-
-#ifdef SHIBSP_XERCESC_SHORT_ACCEPTNODE
- short
-#else
- FilterAction
-#endif
- acceptNode(const DOMNode* node) const {
- return FILTER_REJECT;
- }
-
- private:
- DOMDocument* m_document;
- // Map of protocol/service pair to an Initiator propset plus an array of Binding propsets.
- typedef map< pair<string,string>, pair< PropertySet*,vector<const PropertySet*> > > protmap_t;
- protmap_t m_map;
-
- friend class SHIBSP_DLLLOCAL XMLProtocolProvider;
- };
-
- class XMLProtocolProvider : public ProtocolProvider, public ReloadableXMLFile
- {
- public:
- XMLProtocolProvider(const DOMElement* e)
- : ReloadableXMLFile(e, Category::getInstance(SHIBSP_LOGCAT".ProtocolProvider.XML")), m_impl(nullptr) {
- background_load(); // guarantees an exception or the policy is loaded
- }
-
- ~XMLProtocolProvider() {
- shutdown();
- delete m_impl;
- }
-
- const PropertySet* getInitiator(const char* protocol, const char* service) const {
- XMLProtocolProviderImpl::protmap_t::const_iterator i = m_impl->m_map.find(pair<string,string>(protocol,service));
- return (i != m_impl->m_map.end()) ? i->second.first : nullptr;
- }
-
- const vector<const PropertySet*>& getBindings(const char* protocol, const char* service) const {
- XMLProtocolProviderImpl::protmap_t::const_iterator i = m_impl->m_map.find(pair<string,string>(protocol,service));
- return (i != m_impl->m_map.end()) ? i->second.second : m_noBindings;
- }
-
- protected:
- pair<bool,DOMElement*> load(bool backup);
- pair<bool,DOMElement*> background_load();
-
- private:
- static vector<const PropertySet*> m_noBindings;
- XMLProtocolProviderImpl* m_impl;
- };
-
-#if defined (_MSC_VER)
- #pragma warning( pop )
-#endif
-
- ProtocolProvider* SHIBSP_DLLLOCAL XMLProtocolProviderFactory(const DOMElement* const & e)
- {
- return new XMLProtocolProvider(e);
- }
-}
-
-void SHIBSP_API shibsp::registerProtocolProviders()
-{
- SPConfig::getConfig().ProtocolProviderManager.registerFactory(XML_PROTOCOL_PROVIDER, XMLProtocolProviderFactory);
-}
-
-ProtocolProvider::ProtocolProvider()
-{
-}
-
-ProtocolProvider::~ProtocolProvider()
-{
-}
-
-vector<const PropertySet*> XMLProtocolProvider::m_noBindings;
-
-XMLProtocolProviderImpl::XMLProtocolProviderImpl(const DOMElement* e, Category& log) : m_document(nullptr)
-{
-#ifdef _DEBUG
- xmltooling::NDC ndc("XMLProtocolProviderImpl");
-#endif
- //typedef map< pair<string,string>, pair< PropertySet*,vector<const PropertySet*> > > protmap_t;
-
- if (!XMLHelper::isNodeNamed(e, SHIB2SPPROTOCOLS_NS, Protocols))
- throw ConfigurationException("XML ProtocolProvider requires prot:Protocols at root of configuration.");
-
- e = XMLHelper::getFirstChildElement(e, SHIB2SPPROTOCOLS_NS, Protocol);
- while (e) {
- string id = XMLHelper::getAttrString(e, nullptr, _id);
- if (!id.empty()) {
- const DOMElement* svc = XMLHelper::getFirstChildElement(e, SHIB2SPPROTOCOLS_NS, Service);
- while (svc) {
- string svcid = XMLHelper::getAttrString(svc, nullptr, _id);
- if (!svcid.empty() && m_map.count(make_pair(id,svcid)) == 0) {
- pair< PropertySet*,vector<const PropertySet*> >& entry = m_map[make_pair(id,svcid)];
- // Wrap the Initiator in a propset, if any.
- const DOMElement* child = XMLHelper::getFirstChildElement(svc, SHIB2SPPROTOCOLS_NS, Initiator);
- if (child) {
- DOMPropertySet* initprop = new DOMPropertySet();
- entry.first = initprop;
- initprop->load(child, nullptr, this);
- }
- else {
- entry.first = nullptr;
- }
-
- // Walk the Bindings.
- child = XMLHelper::getFirstChildElement(svc, SHIB2SPPROTOCOLS_NS, Binding);
- while (child) {
- DOMPropertySet* bindprop = new DOMPropertySet();
- entry.second.push_back(bindprop);
- bindprop->load(child, nullptr, this);
- child = XMLHelper::getNextSiblingElement(child, SHIB2SPPROTOCOLS_NS, Binding);
- }
- }
- svc = XMLHelper::getNextSiblingElement(svc, SHIB2SPPROTOCOLS_NS, Service);
- }
- }
- e = XMLHelper::getNextSiblingElement(e, SHIB2SPPROTOCOLS_NS, Protocol);
- }
-}
-
-
-pair<bool,DOMElement*> XMLProtocolProvider::load(bool backup)
-{
- // Load from source using base class.
- pair<bool,DOMElement*> raw = ReloadableXMLFile::load(backup);
-
- // If we own it, wrap it.
- XercesJanitor<DOMDocument> docjanitor(raw.first ? raw.second->getOwnerDocument() : nullptr);
-
- XMLProtocolProviderImpl* impl = new XMLProtocolProviderImpl(raw.second, m_log);
-
- // If we held the document, transfer it to the impl. If we didn't, it's a no-op.
- impl->setDocument(docjanitor.release());
-
- // Perform the swap inside a lock.
- if (m_lock)
- m_lock->wrlock();
- SharedLock locker(m_lock, false);
- delete m_impl;
- m_impl = impl;
-
-
- return make_pair(false,(DOMElement*)nullptr);
-}
-
-pair<bool,DOMElement*> XMLProtocolProvider::background_load()
-{
- try {
- return load(false);
- }
- catch (long& ex) {
- if (ex == HTTPResponse::XMLTOOLING_HTTP_STATUS_NOTMODIFIED)
- m_log.info("remote resource (%s) unchanged", m_source.c_str());
- if (!m_loaded && !m_backing.empty())
- return load(true);
- throw;
- }
- catch (exception&) {
- if (!m_loaded && !m_backing.empty())
- return load(true);
- throw;
- }
-}
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
+/**
+ * XMLProtocolProvider.cpp
+ *
+ * XML-based protocol provider.
+ */
+
+#include "internal.h"
+#include "exceptions.h"
+#include "binding/ProtocolProvider.h"
+#include "util/DOMPropertySet.h"
+#include "util/SPConstants.h"
+
+#include <map>
+#include <xmltooling/io/HTTPResponse.h>
+#include <xmltooling/util/NDC.h>
+#include <xmltooling/util/ReloadableXMLFile.h>
+#include <xmltooling/util/Threads.h>
+#include <xmltooling/util/XMLHelper.h>
+#include <xercesc/util/XMLUniDefs.hpp>
+
+using shibspconstants::SHIB2SPPROTOCOLS_NS;
+using namespace shibsp;
+using namespace xmltooling;
+using namespace std;
+
+namespace shibsp {
+
+ static const XMLCh _id[] = UNICODE_LITERAL_2(i,d);
+ static const XMLCh Binding[] = UNICODE_LITERAL_7(B,i,n,d,i,n,g);
+ static const XMLCh Initiator[] = UNICODE_LITERAL_9(I,n,i,t,i,a,t,o,r);
+ static const XMLCh Protocol[] = UNICODE_LITERAL_8(P,r,o,t,o,c,o,l);
+ static const XMLCh Protocols[] = UNICODE_LITERAL_9(P,r,o,t,o,c,o,l,s);
+ static const XMLCh Service[] = UNICODE_LITERAL_7(S,e,r,v,i,c,e);
+
+#if defined (_MSC_VER)
+ #pragma warning( push )
+ #pragma warning( disable : 4250 )
+#endif
+
+ class SHIBSP_DLLLOCAL XMLProtocolProviderImpl : public DOMNodeFilter, DOMPropertySet
+ {
+ public:
+ XMLProtocolProviderImpl(const DOMElement* e, Category& log);
+ ~XMLProtocolProviderImpl() {
+ for (protmap_t::iterator i = m_map.begin(); i != m_map.end(); ++i) {
+ delete i->second.first;
+ for_each(i->second.second.begin(), i->second.second.end(), xmltooling::cleanup<PropertySet>());
+ }
+ if (m_document)
+ m_document->release();
+ }
+
+ void setDocument(DOMDocument* doc) {
+ m_document = doc;
+ }
+
+#ifdef SHIBSP_XERCESC_SHORT_ACCEPTNODE
+ short
+#else
+ FilterAction
+#endif
+ acceptNode(const DOMNode* node) const {
+ return FILTER_REJECT;
+ }
+
+ private:
+ DOMDocument* m_document;
+ // Map of protocol/service pair to an Initiator propset plus an array of Binding propsets.
+ typedef map< pair<string,string>, pair< PropertySet*,vector<const PropertySet*> > > protmap_t;
+ protmap_t m_map;
+
+ friend class SHIBSP_DLLLOCAL XMLProtocolProvider;
+ };
+
+ class XMLProtocolProvider : public ProtocolProvider, public ReloadableXMLFile
+ {
+ public:
+ XMLProtocolProvider(const DOMElement* e)
+ : ReloadableXMLFile(e, Category::getInstance(SHIBSP_LOGCAT".ProtocolProvider.XML")), m_impl(nullptr) {
+ background_load(); // guarantees an exception or the policy is loaded
+ }
+
+ ~XMLProtocolProvider() {
+ shutdown();
+ delete m_impl;
+ }
+
+ const PropertySet* getInitiator(const char* protocol, const char* service) const {
+ XMLProtocolProviderImpl::protmap_t::const_iterator i = m_impl->m_map.find(pair<string,string>(protocol,service));
+ return (i != m_impl->m_map.end()) ? i->second.first : nullptr;
+ }
+
+ const vector<const PropertySet*>& getBindings(const char* protocol, const char* service) const {
+ XMLProtocolProviderImpl::protmap_t::const_iterator i = m_impl->m_map.find(pair<string,string>(protocol,service));
+ return (i != m_impl->m_map.end()) ? i->second.second : m_noBindings;
+ }
+
+ protected:
+ pair<bool,DOMElement*> load(bool backup);
+ pair<bool,DOMElement*> background_load();
+
+ private:
+ static vector<const PropertySet*> m_noBindings;
+ XMLProtocolProviderImpl* m_impl;
+ };
+
+#if defined (_MSC_VER)
+ #pragma warning( pop )
+#endif
+
+ ProtocolProvider* SHIBSP_DLLLOCAL XMLProtocolProviderFactory(const DOMElement* const & e)
+ {
+ return new XMLProtocolProvider(e);
+ }
+}
+
+void SHIBSP_API shibsp::registerProtocolProviders()
+{
+ SPConfig::getConfig().ProtocolProviderManager.registerFactory(XML_PROTOCOL_PROVIDER, XMLProtocolProviderFactory);
+}
+
+ProtocolProvider::ProtocolProvider()
+{
+}
+
+ProtocolProvider::~ProtocolProvider()
+{
+}
+
+vector<const PropertySet*> XMLProtocolProvider::m_noBindings;
+
+XMLProtocolProviderImpl::XMLProtocolProviderImpl(const DOMElement* e, Category& log) : m_document(nullptr)
+{
+#ifdef _DEBUG
+ xmltooling::NDC ndc("XMLProtocolProviderImpl");
+#endif
+ //typedef map< pair<string,string>, pair< PropertySet*,vector<const PropertySet*> > > protmap_t;
+
+ if (!XMLHelper::isNodeNamed(e, SHIB2SPPROTOCOLS_NS, Protocols))
+ throw ConfigurationException("XML ProtocolProvider requires prot:Protocols at root of configuration.");
+
+ e = XMLHelper::getFirstChildElement(e, SHIB2SPPROTOCOLS_NS, Protocol);
+ while (e) {
+ string id = XMLHelper::getAttrString(e, nullptr, _id);
+ if (!id.empty()) {
+ const DOMElement* svc = XMLHelper::getFirstChildElement(e, SHIB2SPPROTOCOLS_NS, Service);
+ while (svc) {
+ string svcid = XMLHelper::getAttrString(svc, nullptr, _id);
+ if (!svcid.empty() && m_map.count(make_pair(id,svcid)) == 0) {
+ pair< PropertySet*,vector<const PropertySet*> >& entry = m_map[make_pair(id,svcid)];
+ // Wrap the Initiator in a propset, if any.
+ const DOMElement* child = XMLHelper::getFirstChildElement(svc, SHIB2SPPROTOCOLS_NS, Initiator);
+ if (child) {
+ DOMPropertySet* initprop = new DOMPropertySet();
+ entry.first = initprop;
+ initprop->load(child, nullptr, this);
+ }
+ else {
+ entry.first = nullptr;
+ }
+
+ // Walk the Bindings.
+ child = XMLHelper::getFirstChildElement(svc, SHIB2SPPROTOCOLS_NS, Binding);
+ while (child) {
+ DOMPropertySet* bindprop = new DOMPropertySet();
+ entry.second.push_back(bindprop);
+ bindprop->load(child, nullptr, this);
+ child = XMLHelper::getNextSiblingElement(child, SHIB2SPPROTOCOLS_NS, Binding);
+ }
+ }
+ svc = XMLHelper::getNextSiblingElement(svc, SHIB2SPPROTOCOLS_NS, Service);
+ }
+ }
+ e = XMLHelper::getNextSiblingElement(e, SHIB2SPPROTOCOLS_NS, Protocol);
+ }
+}
+
+
+pair<bool,DOMElement*> XMLProtocolProvider::load(bool backup)
+{
+ // Load from source using base class.
+ pair<bool,DOMElement*> raw = ReloadableXMLFile::load(backup);
+
+ // If we own it, wrap it.
+ XercesJanitor<DOMDocument> docjanitor(raw.first ? raw.second->getOwnerDocument() : nullptr);
+
+ XMLProtocolProviderImpl* impl = new XMLProtocolProviderImpl(raw.second, m_log);
+
+ // If we held the document, transfer it to the impl. If we didn't, it's a no-op.
+ impl->setDocument(docjanitor.release());
+
+ // Perform the swap inside a lock.
+ if (m_lock)
+ m_lock->wrlock();
+ SharedLock locker(m_lock, false);
+ delete m_impl;
+ m_impl = impl;
+
+
+ return make_pair(false,(DOMElement*)nullptr);
+}
+
+pair<bool,DOMElement*> XMLProtocolProvider::background_load()
+{
+ try {
+ return load(false);
+ }
+ catch (long& ex) {
+ if (ex == HTTPResponse::XMLTOOLING_HTTP_STATUS_NOTMODIFIED)
+ m_log.info("remote resource (%s) unchanged", m_source.c_str());
+ if (!m_loaded && !m_backing.empty())
+ return load(true);
+ throw;
+ }
+ catch (exception&) {
+ if (!m_loaded && !m_backing.empty())
+ return load(true);
+ throw;
+ }
+}
diff --git a/shibsp/config_pub.h b/shibsp/config_pub.h
new file mode 100644
index 0000000..32c1873
--- /dev/null
+++ b/shibsp/config_pub.h
@@ -0,0 +1,27 @@
+/* shibsp/config_pub.h. Generated from config_pub.h.in by configure. */
+/* if you have the gssapi libraries */
+#define SHIBSP_HAVE_GSSAPI 1
+
+/* if you have the GNU gssapi libraries */
+/* #undef SHIBSP_HAVE_GSSGNU */
+
+/* if you have the Heimdal gssapi libraries */
+#define SHIBSP_HAVE_GSSHEIMDAL 1
+
+/* if you have the MIT gssapi libraries */
+/* #undef SHIBSP_HAVE_GSSMIT */
+
+/* Define to 1 if log4cpp library is used. */
+/* #undef SHIBSP_LOG4CPP */
+
+/* Define to 1 if log4shib library is used. */
+#define SHIBSP_LOG4SHIB 1
+
+/* Define to 1 if Xerces XMLString includes XMLByte release. */
+/* #undef SHIBSP_XERCESC_HAS_XMLBYTE_RELEASE */
+
+/* Define to 1 if Xerces DOMNodeFilter API returns a short. */
+/* #undef SHIBSP_XERCESC_SHORT_ACCEPTNODE */
+
+/* Define to 1 if XML-Security-C supports white/blacklisting algorithms. */
+/* #undef SHIBSP_XMLSEC_WHITELISTING */
diff --git a/shibsp/config_pub.h.in b/shibsp/config_pub.h.in
new file mode 100644
index 0000000..8d8a058
--- /dev/null
+++ b/shibsp/config_pub.h.in
@@ -0,0 +1,26 @@
+/* if you have the gssapi libraries */
+#undef SHIBSP_HAVE_GSSAPI
+
+/* if you have the GNU gssapi libraries */
+#undef SHIBSP_HAVE_GSSGNU
+
+/* if you have the Heimdal gssapi libraries */
+#undef SHIBSP_HAVE_GSSHEIMDAL
+
+/* if you have the MIT gssapi libraries */
+#undef SHIBSP_HAVE_GSSMIT
+
+/* Define to 1 if log4cpp library is used. */
+#undef SHIBSP_LOG4CPP
+
+/* Define to 1 if log4shib library is used. */
+#undef SHIBSP_LOG4SHIB
+
+/* Define to 1 if Xerces XMLString includes XMLByte release. */
+#undef SHIBSP_XERCESC_HAS_XMLBYTE_RELEASE
+
+/* Define to 1 if Xerces DOMNodeFilter API returns a short. */
+#undef SHIBSP_XERCESC_SHORT_ACCEPTNODE
+
+/* Define to 1 if XML-Security-C supports white/blacklisting algorithms. */
+#undef SHIBSP_XMLSEC_WHITELISTING
diff --git a/shibsp/config_pub_win32.h b/shibsp/config_pub_win32.h
new file mode 100644
index 0000000..171234f
--- /dev/null
+++ b/shibsp/config_pub_win32.h
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
+/* if you have the gssapi libraries */
+#undef SHIBSP_HAVE_GSSAPI
+
+/* if you have the GNU gssapi libraries */
+#undef SHIBSP_HAVE_GSSGNU
+
+/* if you have the Heimdal gssapi libraries */
+#undef SHIBSP_HAVE_GSSHEIMDAL
+
+/* if you have the MIT gssapi libraries */
+#undef SHIBSP_HAVE_GSSMIT
+
+/* Define to 1 if log4cpp library is used. */
+#undef SHIBSP_LOG4CPP
+
+/* Define to 1 if log4shib library is used. */
+#define SHIBSP_LOG4SHIB 1
+
+#include <xercesc/util/XercesVersion.hpp>
+
+#if (XERCES_VERSION_MAJOR < 3)
+# define SHIBSP_XERCESC_HAS_XMLBYTE_RELEASE 1
+# define SHIBSP_XERCESC_SHORT_ACCEPTNODE 1
+#endif
+
+#ifndef XMLTOOLING_NO_XMLSEC
+# include <xsec/framework/XSECDefs.hpp>
+# if (_XSEC_VERSION_FULL >= 10600)
+# define SHIBSP_XMLSEC_WHITELISTING 1
+# endif
+#endif
diff --git a/shibsp/exceptions.h b/shibsp/exceptions.h
index c56197c..7c964bd 100644
--- a/shibsp/exceptions.h
+++ b/shibsp/exceptions.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/AbstractHandler.h b/shibsp/handler/AbstractHandler.h
index 740534e..d53599a 100644
--- a/shibsp/handler/AbstractHandler.h
+++ b/shibsp/handler/AbstractHandler.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/AssertionConsumerService.h b/shibsp/handler/AssertionConsumerService.h
index 1233268..3a32393 100644
--- a/shibsp/handler/AssertionConsumerService.h
+++ b/shibsp/handler/AssertionConsumerService.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/Handler.h b/shibsp/handler/Handler.h
index bb5ffc6..5c93e1e 100644
--- a/shibsp/handler/Handler.h
+++ b/shibsp/handler/Handler.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/LogoutHandler.h b/shibsp/handler/LogoutHandler.h
index e4e5a02..b9e2d06 100644
--- a/shibsp/handler/LogoutHandler.h
+++ b/shibsp/handler/LogoutHandler.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/LogoutInitiator.h b/shibsp/handler/LogoutInitiator.h
index c3caf9b..25e8e97 100644
--- a/shibsp/handler/LogoutInitiator.h
+++ b/shibsp/handler/LogoutInitiator.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/RemotedHandler.h b/shibsp/handler/RemotedHandler.h
index ef1a25c..4a73ac8 100644
--- a/shibsp/handler/RemotedHandler.h
+++ b/shibsp/handler/RemotedHandler.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/SessionInitiator.h b/shibsp/handler/SessionInitiator.h
index f64fe18..a2c53ad 100644
--- a/shibsp/handler/SessionInitiator.h
+++ b/shibsp/handler/SessionInitiator.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/AbstractHandler.cpp b/shibsp/handler/impl/AbstractHandler.cpp
index 4944e0c..0c70794 100644
--- a/shibsp/handler/impl/AbstractHandler.cpp
+++ b/shibsp/handler/impl/AbstractHandler.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/AssertionConsumerService.cpp b/shibsp/handler/impl/AssertionConsumerService.cpp
index 4b14643..24751fa 100644
--- a/shibsp/handler/impl/AssertionConsumerService.cpp
+++ b/shibsp/handler/impl/AssertionConsumerService.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/AssertionLookup.cpp b/shibsp/handler/impl/AssertionLookup.cpp
index 05204f8..94b491f 100644
--- a/shibsp/handler/impl/AssertionLookup.cpp
+++ b/shibsp/handler/impl/AssertionLookup.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/ChainingLogoutInitiator.cpp b/shibsp/handler/impl/ChainingLogoutInitiator.cpp
index 4b8365a..67512aa 100644
--- a/shibsp/handler/impl/ChainingLogoutInitiator.cpp
+++ b/shibsp/handler/impl/ChainingLogoutInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/ChainingSessionInitiator.cpp b/shibsp/handler/impl/ChainingSessionInitiator.cpp
index 1b4bfce..38671e0 100644
--- a/shibsp/handler/impl/ChainingSessionInitiator.cpp
+++ b/shibsp/handler/impl/ChainingSessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/CookieSessionInitiator.cpp b/shibsp/handler/impl/CookieSessionInitiator.cpp
index 9cc548e..154ef3d 100644
--- a/shibsp/handler/impl/CookieSessionInitiator.cpp
+++ b/shibsp/handler/impl/CookieSessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/DiscoveryFeed.cpp b/shibsp/handler/impl/DiscoveryFeed.cpp
index 1298bc1..4fee1ef 100644
--- a/shibsp/handler/impl/DiscoveryFeed.cpp
+++ b/shibsp/handler/impl/DiscoveryFeed.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -274,48 +278,48 @@ void DiscoveryFeed::feedToFile(const Application& application, string& cacheTag)
#ifndef SHIBSP_LITE
m_log.debug("processing discovery feed request");
- DiscoverableMetadataProvider* m=dynamic_cast<DiscoverableMetadataProvider*>(application.getMetadataProvider());
- if (m) {
- Locker locker(m);
- string feedTag = m->getCacheTag();
- if (cacheTag == ('"' + feedTag + '"')) {
- // The client already has the same feed we do.
- m_log.debug("client's cache tag matches our feed (%s)", feedTag.c_str());
- cacheTag.erase(); // clear the tag to signal no change
- return;
- }
+ DiscoverableMetadataProvider* m=dynamic_cast<DiscoverableMetadataProvider*>(application.getMetadataProvider(false));
+ if (!m)
+ m_log.warn("MetadataProvider missing or does not support discovery feed");
+ Locker locker(m);
+ string feedTag = m ? m->getCacheTag() : "empty";
+ if (cacheTag == ('"' + feedTag + '"')) {
+ // The client already has the same feed we do.
+ m_log.debug("client's cache tag matches our feed (%s)", feedTag.c_str());
+ cacheTag.erase(); // clear the tag to signal no change
+ return;
+ }
- cacheTag = feedTag;
+ cacheTag = feedTag;
- // The client is out of date or not caching, so we need to see if our copy is good.
- Lock lock(m_feedLock);
- time_t now = time(nullptr);
+ // The client is out of date or not caching, so we need to see if our copy is good.
+ Lock lock(m_feedLock);
+ time_t now = time(nullptr);
- // Clean up any old files.
- while (m_feedQueue.size() > 1 && (now - m_feedQueue.front().second > 120)) {
- string fname = m_dir + '/' + m_feedQueue.front().first;
- remove(fname.c_str());
- m_feedQueue.pop();
- }
+ // Clean up any old files.
+ while (m_feedQueue.size() > 1 && (now - m_feedQueue.front().second > 120)) {
+ string fname = m_dir + '/' + m_feedQueue.front().first;
+ remove(fname.c_str());
+ m_feedQueue.pop();
+ }
- if (m_feedQueue.empty() || m_feedQueue.back().first != feedTag) {
- // We're out of date.
- string fname = m_dir + '/' + feedTag + ".json";
- ofstream ofile(fname.c_str());
- if (!ofile)
- throw ConfigurationException("Unable to create feed in ($1).", params(1,fname.c_str()));
- bool first = true;
+ if (m_feedQueue.empty() || m_feedQueue.back().first != feedTag) {
+ // We're out of date.
+ string fname = m_dir + '/' + feedTag + ".json";
+ ofstream ofile(fname.c_str());
+ if (!ofile)
+ throw ConfigurationException("Unable to create feed in ($1).", params(1,fname.c_str()));
+ bool first = true;
+ if (m)
m->outputFeed(ofile, first);
- ofile.close();
- m_feedQueue.push(make_pair(feedTag, now));
- }
- else {
- // Update the back of the queue.
- m_feedQueue.back().second = now;
- }
+ else
+ ofile << "[\n]";
+ ofile.close();
+ m_feedQueue.push(make_pair(feedTag, now));
}
else {
- throw MetadataException("MetadataProvider does not support discovery feed.");
+ // Update the back of the queue.
+ m_feedQueue.back().second = now;
}
#else
throw ConfigurationException("Build does not support discovery feed.");
@@ -327,24 +331,24 @@ void DiscoveryFeed::feedToStream(const Application& application, string& cacheTa
#ifndef SHIBSP_LITE
m_log.debug("processing discovery feed request");
- DiscoverableMetadataProvider* m=dynamic_cast<DiscoverableMetadataProvider*>(application.getMetadataProvider());
- if (m) {
- Locker locker(m);
- string feedTag = m->getCacheTag();
- if (cacheTag == ('"' + feedTag + '"')) {
- // The client already has the same feed we do.
- m_log.debug("client's cache tag matches our feed (%s)", feedTag.c_str());
- cacheTag.erase(); // clear the tag to signal no change
- return;
- }
+ DiscoverableMetadataProvider* m=dynamic_cast<DiscoverableMetadataProvider*>(application.getMetadataProvider(false));
+ if (!m)
+ m_log.warn("MetadataProvider missing or does not support discovery feed");
+ Locker locker(m);
+ string feedTag = m ? m->getCacheTag() : "empty";
+ if (cacheTag == ('"' + feedTag + '"')) {
+ // The client already has the same feed we do.
+ m_log.debug("client's cache tag matches our feed (%s)", feedTag.c_str());
+ cacheTag.erase(); // clear the tag to signal no change
+ return;
+ }
- cacheTag = feedTag;
- bool first = true;
+ cacheTag = feedTag;
+ bool first = true;
+ if (m)
m->outputFeed(os, first);
- }
- else {
- throw MetadataException("MetadataProvider does not support discovery feed.");
- }
+ else
+ os << "[\n]";
#else
throw ConfigurationException("Build does not support discovery feed.");
#endif
diff --git a/shibsp/handler/impl/FormSessionInitiator.cpp b/shibsp/handler/impl/FormSessionInitiator.cpp
index 4dea39e..4f0ad5a 100644
--- a/shibsp/handler/impl/FormSessionInitiator.cpp
+++ b/shibsp/handler/impl/FormSessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/LocalLogoutInitiator.cpp b/shibsp/handler/impl/LocalLogoutInitiator.cpp
index 8a74dc3..5e3085e 100644
--- a/shibsp/handler/impl/LocalLogoutInitiator.cpp
+++ b/shibsp/handler/impl/LocalLogoutInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/LogoutHandler.cpp b/shibsp/handler/impl/LogoutHandler.cpp
index 63e7553..19c9785 100644
--- a/shibsp/handler/impl/LogoutHandler.cpp
+++ b/shibsp/handler/impl/LogoutHandler.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/LogoutInitiator.cpp b/shibsp/handler/impl/LogoutInitiator.cpp
index 52cb912..e1646b9 100644
--- a/shibsp/handler/impl/LogoutInitiator.cpp
+++ b/shibsp/handler/impl/LogoutInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/MetadataGenerator.cpp b/shibsp/handler/impl/MetadataGenerator.cpp
index 7cafe7d..f60cea7 100644
--- a/shibsp/handler/impl/MetadataGenerator.cpp
+++ b/shibsp/handler/impl/MetadataGenerator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/RemotedHandler.cpp b/shibsp/handler/impl/RemotedHandler.cpp
index 272f667..27b0b23 100644
--- a/shibsp/handler/impl/RemotedHandler.cpp
+++ b/shibsp/handler/impl/RemotedHandler.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -49,7 +53,7 @@ using namespace std;
#ifndef SHIBSP_LITE
namespace shibsp {
class SHIBSP_DLLLOCAL RemotedRequest :
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
public GSSRequest,
#endif
public HTTPRequest
@@ -57,12 +61,12 @@ namespace shibsp {
DDF& m_input;
mutable CGIParser* m_parser;
mutable vector<XSECCryptoX509*> m_certs;
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
mutable gss_ctx_id_t m_gss;
#endif
public:
RemotedRequest(DDF& input) : m_input(input), m_parser(nullptr)
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
, m_gss(GSS_C_NO_CONTEXT)
#endif
{
@@ -71,7 +75,7 @@ namespace shibsp {
virtual ~RemotedRequest() {
for_each(m_certs.begin(), m_certs.end(), xmltooling::cleanup<XSECCryptoX509>());
delete m_parser;
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
if (m_gss != GSS_C_NO_CONTEXT) {
OM_uint32 minor;
gss_delete_sec_context(&minor, &m_gss, GSS_C_NO_BUFFER);
@@ -117,7 +121,7 @@ namespace shibsp {
const std::vector<XSECCryptoX509*>& getClientCertificates() const;
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
// GSSRequest
gss_ctx_id_t getGSSContext() const;
#endif
@@ -206,7 +210,7 @@ const std::vector<XSECCryptoX509*>& RemotedRequest::getClientCertificates() cons
return m_certs;
}
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
gss_ctx_id_t RemotedRequest::getGSSContext() const
{
if (m_gss == GSS_C_NO_CONTEXT) {
@@ -360,7 +364,7 @@ DDF RemotedHandler::wrap(const SPRequest& request, const vector<string>* headers
#endif
}
-#ifdef HAVE_GSSAPI
+#ifdef SHIBSP_HAVE_GSSAPI
const GSSRequest* gss = dynamic_cast<const GSSRequest*>(&request);
if (gss) {
gss_ctx_id_t ctx = gss->getGSSContext();
diff --git a/shibsp/handler/impl/SAML1Consumer.cpp b/shibsp/handler/impl/SAML1Consumer.cpp
index 0470e02..46ef55c 100644
--- a/shibsp/handler/impl/SAML1Consumer.cpp
+++ b/shibsp/handler/impl/SAML1Consumer.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -35,6 +39,7 @@
# include <saml/saml1/core/Assertions.h>
# include <saml/saml1/core/Protocols.h>
# include <saml/saml2/metadata/Metadata.h>
+# include <xmltooling/XMLToolingConfig.h>
# include <xmltooling/io/HTTPRequest.h>
# include <xmltooling/util/DateTime.h>
using namespace opensaml::saml1;
@@ -207,7 +212,8 @@ void SAML1Consumer::implementProtocol(
// Extract message bits and re-verify Issuer information.
extractMessageDetails(
- *(*a), (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM, policy
+ *(*a),
+ (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM, policy
);
// Run the policy over the assertion. Handles replay, freshness, and
@@ -223,11 +229,20 @@ void SAML1Consumer::implementProtocol(
tokens.push_back(*a);
// Save off the first valid SSO statement.
- const vector<AuthenticationStatement*>& statements = const_cast<const saml1::Assertion*>(*a)->getAuthenticationStatements();
+ const vector<AuthenticationStatement*>& statements =
+ const_cast<const saml1::Assertion*>(*a)->getAuthenticationStatements();
for (vector<AuthenticationStatement*>::const_iterator s = statements.begin(); s!=statements.end(); ++s) {
- if (authnskew.first && authnskew.second &&
- (*s)->getAuthenticationInstant() && (now - (*s)->getAuthenticationInstantEpoch() > authnskew.second))
- contextualError = "The gap between now and the time you logged into your identity provider exceeds the limit.";
+ if ((*s)->getAuthenticationInstant() &&
+ (*s)->getAuthenticationInstantEpoch() - XMLToolingConfig::getConfig().clock_skew_secs > now) {
+ contextualError = "The login time at your identity provider was future-dated.";
+ }
+ else if (authnskew.first && authnskew.second && (*s)->getAuthenticationInstant() &&
+ (*s)->getAuthenticationInstantEpoch() <= now && (now - (*s)->getAuthenticationInstantEpoch() > authnskew.second)) {
+ contextualError = "The gap between now and the time you logged into your identity provider exceeds the allowed limit.";
+ }
+ else if (authnskew.first && authnskew.second && (*s)->getAuthenticationInstant() == nullptr) {
+ contextualError = "Your identity provider did not supply a time of login, violating local policy.";
+ }
else if (!ssoStatement) {
ssoStatement = *s;
break;
diff --git a/shibsp/handler/impl/SAML2ArtifactResolution.cpp b/shibsp/handler/impl/SAML2ArtifactResolution.cpp
index 0d0cc76..1afb9cf 100644
--- a/shibsp/handler/impl/SAML2ArtifactResolution.cpp
+++ b/shibsp/handler/impl/SAML2ArtifactResolution.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/SAML2Consumer.cpp b/shibsp/handler/impl/SAML2Consumer.cpp
index ce543ab..6af77e7 100644
--- a/shibsp/handler/impl/SAML2Consumer.cpp
+++ b/shibsp/handler/impl/SAML2Consumer.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -234,10 +238,19 @@ void SAML2Consumer::implementProtocol(
// Save off the first valid SSO statement, but favor the "soonest" session expiration.
const vector<AuthnStatement*>& statements = const_cast<const saml2::Assertion*>(*a)->getAuthnStatements();
for (vector<AuthnStatement*>::const_iterator s = statements.begin(); s!=statements.end(); ++s) {
- if (authnskew.first && authnskew.second && (*s)->getAuthnInstant() && (now - (*s)->getAuthnInstantEpoch() > authnskew.second))
- contextualError = "The gap between now and the time you logged into your identity provider exceeds the limit.";
- else if (!ssoStatement || (*s)->getSessionNotOnOrAfterEpoch() < ssoStatement->getSessionNotOnOrAfterEpoch())
+ if ((*s)->getAuthnInstant() && (*s)->getAuthnInstantEpoch() - XMLToolingConfig::getConfig().clock_skew_secs > now) {
+ contextualError = "The login time at your identity provider was future-dated.";
+ }
+ else if (authnskew.first && authnskew.second && (*s)->getAuthnInstant() &&
+ (*s)->getAuthnInstantEpoch() <= now && (now - (*s)->getAuthnInstantEpoch() > authnskew.second)) {
+ contextualError = "The gap between now and the time you logged into your identity provider exceeds the allowed limit.";
+ }
+ else if (authnskew.first && authnskew.second && (*s)->getAuthnInstant() == nullptr) {
+ contextualError = "Your identity provider did not supply a time of login, violating local policy.";
+ }
+ else if (!ssoStatement || (*s)->getSessionNotOnOrAfterEpoch() < ssoStatement->getSessionNotOnOrAfterEpoch()) {
ssoStatement = *s;
+ }
}
// Save off the first valid Subject, but favor an unencrypted NameID over anything else.
diff --git a/shibsp/handler/impl/SAML2Logout.cpp b/shibsp/handler/impl/SAML2Logout.cpp
index 229496d..927013c 100644
--- a/shibsp/handler/impl/SAML2Logout.cpp
+++ b/shibsp/handler/impl/SAML2Logout.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/SAML2LogoutInitiator.cpp b/shibsp/handler/impl/SAML2LogoutInitiator.cpp
index 5d0f14a..a4a1115 100644
--- a/shibsp/handler/impl/SAML2LogoutInitiator.cpp
+++ b/shibsp/handler/impl/SAML2LogoutInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -71,6 +75,8 @@ namespace shibsp {
#endif
}
+ void init(const char* location); // encapsulates actions that need to run either in the c'tor or setParent
+
void setParent(const PropertySet* parent);
void receive(DDF& in, ostream& out);
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
@@ -114,6 +120,30 @@ SAML2LogoutInitiator::SAML2LogoutInitiator(const DOMElement* e, const char* appI
#endif
m_protocol(samlconstants::SAML20P_NS)
{
+ // If Location isn't set, defer initialization until the setParent call.
+ pair<bool,const char*> loc = getString("Location");
+ if (loc.first) {
+ init(loc.second);
+ }
+}
+
+void SAML2LogoutInitiator::setParent(const PropertySet* parent)
+{
+ DOMPropertySet::setParent(parent);
+ pair<bool,const char*> loc = getString("Location");
+ init(loc.second);
+}
+
+void SAML2LogoutInitiator::init(const char* location)
+{
+ if (location) {
+ string address = m_appId + location + "::run::SAML2LI";
+ setAddress(address.c_str());
+ }
+ else {
+ m_log.warn("no Location property in SAML2 LogoutInitiator (or parent), can't register as remoted handler");
+ }
+
#ifndef SHIBSP_LITE
if (SPConfig::getConfig().isEnabled(SPConfig::OutOfProcess)) {
// Handle outgoing binding setup.
@@ -139,7 +169,7 @@ SAML2LogoutInitiator::SAML2LogoutInitiator(const DOMElement* e, const char* appI
try {
auto_ptr_char b(start);
MessageEncoder * encoder =
- SAMLConfig::getConfig().MessageEncoderManager.newPlugin(b.get(),pair<const DOMElement*,const XMLCh*>(e,nullptr));
+ SAMLConfig::getConfig().MessageEncoderManager.newPlugin(b.get(), pair<const DOMElement*,const XMLCh*>(getElement(), nullptr));
if (encoder->isUserAgentPresent() && XMLString::equals(getProtocolFamily(), encoder->getProtocolFamily())) {
m_encoders[start] = encoder;
m_log.debug("supporting outgoing binding (%s)", b.get());
@@ -159,26 +189,8 @@ SAML2LogoutInitiator::SAML2LogoutInitiator(const DOMElement* e, const char* appI
}
}
#endif
-
- pair<bool,const char*> loc = getString("Location");
- if (loc.first) {
- string address = m_appId + loc.second + "::run::SAML2LI";
- setAddress(address.c_str());
- }
}
-void SAML2LogoutInitiator::setParent(const PropertySet* parent)
-{
- DOMPropertySet::setParent(parent);
- pair<bool,const char*> loc = getString("Location");
- if (loc.first) {
- string address = m_appId + loc.second + "::run::SAML2LI";
- setAddress(address.c_str());
- }
- else {
- m_log.warn("no Location property in SAML2 LogoutInitiator (or parent), can't register as remoted handler");
- }
-}
pair<bool,long> SAML2LogoutInitiator::run(SPRequest& request, bool isHandler) const
{
diff --git a/shibsp/handler/impl/SAML2NameIDMgmt.cpp b/shibsp/handler/impl/SAML2NameIDMgmt.cpp
index df91db9..eb4caeb 100644
--- a/shibsp/handler/impl/SAML2NameIDMgmt.cpp
+++ b/shibsp/handler/impl/SAML2NameIDMgmt.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/SAML2SessionInitiator.cpp b/shibsp/handler/impl/SAML2SessionInitiator.cpp
index 96e3fca..af71d69 100644
--- a/shibsp/handler/impl/SAML2SessionInitiator.cpp
+++ b/shibsp/handler/impl/SAML2SessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -72,6 +76,8 @@ namespace shibsp {
#endif
}
+ void init(const char* location); // encapsulates actions that need to run either in the c'tor or setParent
+
void setParent(const PropertySet* parent);
void receive(DDF& in, ostream& out);
pair<bool,long> unwrap(SPRequest& request, DDF& out) const;
@@ -127,28 +133,61 @@ namespace shibsp {
SAML2SessionInitiator::SAML2SessionInitiator(const DOMElement* e, const char* appId)
: AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT".SessionInitiator.SAML2"), nullptr, &m_remapper), m_appId(appId),
- m_paosNS(samlconstants::PAOS_NS), m_ecpNS(samlconstants::SAML20ECP_NS), m_paosBinding(samlconstants::SAML20_BINDING_PAOS)
-{
- static const XMLCh ECP[] = UNICODE_LITERAL_3(E,C,P);
- const XMLCh* flag = e ? e->getAttributeNS(nullptr,ECP) : nullptr;
-#ifdef SHIBSP_LITE
- m_ecp = (flag && (*flag == chLatin_t || *flag == chDigit_1));
+ m_paosNS(samlconstants::PAOS_NS), m_ecpNS(samlconstants::SAML20ECP_NS), m_paosBinding(samlconstants::SAML20_BINDING_PAOS),
+#ifndef SHIBSP_LITE
+ m_outgoing(nullptr), m_ecp(nullptr), m_requestTemplate(nullptr)
#else
- m_outgoing=nullptr;
- m_ecp = nullptr;
- m_requestTemplate=nullptr;
-
+ m_ecp(false)
+#endif
+{
+#ifndef SHIBSP_LITE
if (SPConfig::getConfig().isEnabled(SPConfig::OutOfProcess)) {
// Check for a template AuthnRequest to build from.
DOMElement* child = XMLHelper::getFirstChildElement(e, samlconstants::SAML20P_NS, AuthnRequest::LOCAL_NAME);
if (child)
m_requestTemplate = dynamic_cast<AuthnRequest*>(AuthnRequestBuilder::buildOneFromElement(child));
+ }
+#endif
+
+ // If Location isn't set, defer initialization until the setParent call.
+ pair<bool,const char*> loc = getString("Location");
+ if (loc.first) {
+ init(loc.second);
+ }
+
+ m_supportedOptions.insert("isPassive");
+}
+
+void SAML2SessionInitiator::setParent(const PropertySet* parent)
+{
+ DOMPropertySet::setParent(parent);
+ pair<bool,const char*> loc = getString("Location");
+ init(loc.second);
+}
+
+void SAML2SessionInitiator::init(const char* location)
+{
+ if (location) {
+ string address = m_appId + location + "::run::SAML2SI";
+ setAddress(address.c_str());
+ }
+ else {
+ m_log.warn("no Location property in SAML2 SessionInitiator (or parent), can't register as remoted handler");
+ }
+ pair<bool,bool> flag = getBool("ECP");
+#ifdef SHIBSP_LITE
+ m_ecp = flag.first && flag.second;
+#else
+ m_outgoing=nullptr;
+ m_ecp = nullptr;
+
+ if (SPConfig::getConfig().isEnabled(SPConfig::OutOfProcess)) {
// If directed, build an ECP encoder.
- if (flag && (*flag == chLatin_t || *flag == chDigit_1)) {
+ if (flag.first && flag.second) {
try {
m_ecp = SAMLConfig::getConfig().MessageEncoderManager.newPlugin(
- samlconstants::SAML20_BINDING_PAOS, pair<const DOMElement*,const XMLCh*>(e,nullptr)
+ samlconstants::SAML20_BINDING_PAOS, pair<const DOMElement*,const XMLCh*>(getElement(), nullptr)
);
}
catch (exception& ex) {
@@ -179,7 +218,7 @@ SAML2SessionInitiator::SAML2SessionInitiator(const DOMElement* e, const char* ap
try {
auto_ptr_char b(start);
MessageEncoder * encoder = SAMLConfig::getConfig().MessageEncoderManager.newPlugin(
- b.get(),pair<const DOMElement*,const XMLCh*>(e,nullptr)
+ b.get(),pair<const DOMElement*,const XMLCh*>(getElement(), nullptr)
);
if (encoder->isUserAgentPresent() && XMLString::equals(getProtocolFamily(), encoder->getProtocolFamily())) {
m_encoders[start] = encoder;
@@ -200,28 +239,6 @@ SAML2SessionInitiator::SAML2SessionInitiator(const DOMElement* e, const char* ap
}
}
#endif
-
- // If Location isn't set, defer address registration until the setParent call.
- pair<bool,const char*> loc = getString("Location");
- if (loc.first) {
- string address = m_appId + loc.second + "::run::SAML2SI";
- setAddress(address.c_str());
- }
-
- m_supportedOptions.insert("isPassive");
-}
-
-void SAML2SessionInitiator::setParent(const PropertySet* parent)
-{
- DOMPropertySet::setParent(parent);
- pair<bool,const char*> loc = getString("Location");
- if (loc.first) {
- string address = m_appId + loc.second + "::run::SAML2SI";
- setAddress(address.c_str());
- }
- else {
- m_log.warn("no Location property in SAML2 SessionInitiator (or parent), can't register as remoted handler");
- }
}
pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID, bool isHandler) const
diff --git a/shibsp/handler/impl/SAMLDSSessionInitiator.cpp b/shibsp/handler/impl/SAMLDSSessionInitiator.cpp
index 4903de4..992682e 100644
--- a/shibsp/handler/impl/SAMLDSSessionInitiator.cpp
+++ b/shibsp/handler/impl/SAMLDSSessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/SessionHandler.cpp b/shibsp/handler/impl/SessionHandler.cpp
index c77ecf7..5e04626 100644
--- a/shibsp/handler/impl/SessionHandler.cpp
+++ b/shibsp/handler/impl/SessionHandler.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/SessionInitiator.cpp b/shibsp/handler/impl/SessionInitiator.cpp
index 14aa7f2..50413bd 100644
--- a/shibsp/handler/impl/SessionInitiator.cpp
+++ b/shibsp/handler/impl/SessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/Shib1SessionInitiator.cpp b/shibsp/handler/impl/Shib1SessionInitiator.cpp
index 5ed0c11..3367e1c 100644
--- a/shibsp/handler/impl/Shib1SessionInitiator.cpp
+++ b/shibsp/handler/impl/Shib1SessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/StatusHandler.cpp b/shibsp/handler/impl/StatusHandler.cpp
index 3ef824e..c8a7eff 100644
--- a/shibsp/handler/impl/StatusHandler.cpp
+++ b/shibsp/handler/impl/StatusHandler.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/TransformSessionInitiator.cpp b/shibsp/handler/impl/TransformSessionInitiator.cpp
index 4ba5c49..8283a6d 100644
--- a/shibsp/handler/impl/TransformSessionInitiator.cpp
+++ b/shibsp/handler/impl/TransformSessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/handler/impl/WAYFSessionInitiator.cpp b/shibsp/handler/impl/WAYFSessionInitiator.cpp
index 36379cb..bfb8abb 100644
--- a/shibsp/handler/impl/WAYFSessionInitiator.cpp
+++ b/shibsp/handler/impl/WAYFSessionInitiator.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/impl/ChainingAccessControl.cpp b/shibsp/impl/ChainingAccessControl.cpp
index 3bb6dd1..d0f35b4 100644
--- a/shibsp/impl/ChainingAccessControl.cpp
+++ b/shibsp/impl/ChainingAccessControl.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2009-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/impl/StorageServiceSessionCache.cpp b/shibsp/impl/StorageServiceSessionCache.cpp
index 260f6fc..8d060e9 100644
--- a/shibsp/impl/StorageServiceSessionCache.cpp
+++ b/shibsp/impl/StorageServiceSessionCache.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/impl/XMLAccessControl.cpp b/shibsp/impl/XMLAccessControl.cpp
index 30f22e5..fd6d1ed 100644
--- a/shibsp/impl/XMLAccessControl.cpp
+++ b/shibsp/impl/XMLAccessControl.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/impl/XMLRequestMapper.cpp b/shibsp/impl/XMLRequestMapper.cpp
index fabfa0d..ad49533 100644
--- a/shibsp/impl/XMLRequestMapper.cpp
+++ b/shibsp/impl/XMLRequestMapper.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/** XMLRequestMapper.cpp
diff --git a/shibsp/impl/XMLSecurityPolicyProvider.cpp b/shibsp/impl/XMLSecurityPolicyProvider.cpp
index ac15595..ac31af0 100644
--- a/shibsp/impl/XMLSecurityPolicyProvider.cpp
+++ b/shibsp/impl/XMLSecurityPolicyProvider.cpp
@@ -1,312 +1,316 @@
-/*
- * Copyright 2010 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.
- */
-
-/**
- * XMLSecurityPolicyProvider.cpp
- *
- * XML-based security policy provider.
- */
-
-#include "internal.h"
-#include "exceptions.h"
-#include "Application.h"
-#include "security/SecurityPolicy.h"
-#include "security/SecurityPolicyProvider.h"
-#include "util/DOMPropertySet.h"
-#include "util/SPConstants.h"
-
-#include <map>
-#include <saml/SAMLConfig.h>
-#include <saml/binding/SecurityPolicyRule.h>
-#include <xmltooling/io/HTTPResponse.h>
-#include <xmltooling/util/NDC.h>
-#include <xmltooling/util/ReloadableXMLFile.h>
-#include <xmltooling/util/Threads.h>
-#include <xmltooling/util/XMLHelper.h>
-#include <xercesc/util/XMLStringTokenizer.hpp>
-#include <xercesc/util/XMLUniDefs.hpp>
-
-using shibspconstants::SHIB2SPCONFIG_NS;
-using opensaml::SAMLConfig;
-using opensaml::SecurityPolicyRule;
-using namespace shibsp;
-using namespace xmltooling;
-using namespace std;
-
-namespace shibsp {
-
-#if defined (_MSC_VER)
- #pragma warning( push )
- #pragma warning( disable : 4250 )
-#endif
-
- class SHIBSP_DLLLOCAL XMLSecurityPolicyProviderImpl
- {
- public:
- XMLSecurityPolicyProviderImpl(const DOMElement* e, Category& log);
- ~XMLSecurityPolicyProviderImpl() {
- for (map< string,pair<PropertySet*,vector<const SecurityPolicyRule*> > >::iterator i = m_policyMap.begin(); i != m_policyMap.end(); ++i) {
- delete i->second.first;
- for_each(i->second.second.begin(), i->second.second.end(), xmltooling::cleanup<SecurityPolicyRule>());
- }
- if (m_document)
- m_document->release();
- }
-
- void setDocument(DOMDocument* doc) {
- m_document = doc;
- }
-
- private:
- DOMDocument* m_document;
- vector<xstring> m_whitelist,m_blacklist;
- map< string,pair< PropertySet*,vector<const SecurityPolicyRule*> > > m_policyMap;
- map< string,pair< PropertySet*,vector<const SecurityPolicyRule*> > >::const_iterator m_defaultPolicy;
-
- friend class SHIBSP_DLLLOCAL XMLSecurityPolicyProvider;
- };
-
- class XMLSecurityPolicyProvider : public SecurityPolicyProvider, public ReloadableXMLFile
- {
- public:
- XMLSecurityPolicyProvider(const DOMElement* e)
- : ReloadableXMLFile(e, Category::getInstance(SHIBSP_LOGCAT".SecurityPolicyProvider.XML")), m_impl(nullptr) {
- background_load(); // guarantees an exception or the policy is loaded
- }
-
- ~XMLSecurityPolicyProvider() {
- shutdown();
- delete m_impl;
- }
-
- const PropertySet* getPolicySettings(const char* id=nullptr) const {
- if (!id || !*id)
- return m_impl->m_defaultPolicy->second.first;
- map<string,pair<PropertySet*,vector<const SecurityPolicyRule*> > >::const_iterator i = m_impl->m_policyMap.find(id);
- if (i != m_impl->m_policyMap.end())
- return i->second.first;
- throw ConfigurationException("Security Policy ($1) not found, check <SecurityPolicies> element.", params(1,id));
- }
-
- const vector<const SecurityPolicyRule*>& getPolicyRules(const char* id=nullptr) const {
- if (!id || !*id)
- return m_impl->m_defaultPolicy->second.second;
- map<string,pair<PropertySet*,vector<const SecurityPolicyRule*> > >::const_iterator i = m_impl->m_policyMap.find(id);
- if (i != m_impl->m_policyMap.end())
- return i->second.second;
- throw ConfigurationException("Security Policy ($1) not found, check <SecurityPolicies> element.", params(1,id));
- }
- const vector<xstring>& getAlgorithmBlacklist() const {
- return m_impl->m_blacklist;
- }
- const vector<xstring>& getAlgorithmWhitelist() const {
- return m_impl->m_whitelist;
- }
-
- protected:
- pair<bool,DOMElement*> load(bool backup);
- pair<bool,DOMElement*> background_load();
-
- private:
- XMLSecurityPolicyProviderImpl* m_impl;
- };
-
-#if defined (_MSC_VER)
- #pragma warning( pop )
-#endif
-
- SecurityPolicyProvider* SHIBSP_DLLLOCAL XMLSecurityPolicyProviderFactory(const DOMElement* const & e)
- {
- return new XMLSecurityPolicyProvider(e);
- }
-
- class SHIBSP_DLLLOCAL PolicyNodeFilter : public DOMNodeFilter
- {
- public:
-#ifdef SHIBSP_XERCESC_SHORT_ACCEPTNODE
- short
-#else
- FilterAction
-#endif
- acceptNode(const DOMNode* node) const {
- return FILTER_REJECT;
- }
- };
-
- static const XMLCh _id[] = UNICODE_LITERAL_2(i,d);
- static const XMLCh _type[] = UNICODE_LITERAL_4(t,y,p,e);
- static const XMLCh AlgorithmBlacklist[] = UNICODE_LITERAL_18(A,l,g,o,r,i,t,h,m,B,l,a,c,k,l,i,s,t);
- static const XMLCh AlgorithmWhitelist[] = UNICODE_LITERAL_18(A,l,g,o,r,i,t,h,m,W,h,i,t,e,l,i,s,t);
- static const XMLCh Policy[] = UNICODE_LITERAL_6(P,o,l,i,c,y);
- static const XMLCh PolicyRule[] = UNICODE_LITERAL_10(P,o,l,i,c,y,R,u,l,e);
- static const XMLCh Rule[] = UNICODE_LITERAL_4(R,u,l,e);
- static const XMLCh SecurityPolicies[] = UNICODE_LITERAL_16(S,e,c,u,r,i,t,y,P,o,l,i,c,i,e,s);
-}
-
-void SHIBSP_API shibsp::registerSecurityPolicyProviders()
-{
- SPConfig::getConfig().SecurityPolicyProviderManager.registerFactory(XML_SECURITYPOLICY_PROVIDER, XMLSecurityPolicyProviderFactory);
-}
-
-SecurityPolicyProvider::SecurityPolicyProvider()
-{
-}
-
-SecurityPolicyProvider::~SecurityPolicyProvider()
-{
-}
-
-SecurityPolicy* SecurityPolicyProvider::createSecurityPolicy(
- const Application& application, const xmltooling::QName* role, const char* policyId
- ) const
-{
- pair<bool,bool> validate = getPolicySettings(policyId ? policyId : application.getString("policyId").second)->getBool("validate");
- return new SecurityPolicy(application, role, (validate.first && validate.second), policyId);
-}
-
-XMLSecurityPolicyProviderImpl::XMLSecurityPolicyProviderImpl(const DOMElement* e, Category& log)
- : m_document(nullptr), m_defaultPolicy(m_policyMap.end())
-{
-#ifdef _DEBUG
- xmltooling::NDC ndc("XMLSecurityPolicyProviderImpl");
-#endif
-
- if (!XMLHelper::isNodeNamed(e, SHIB2SPCONFIG_NS, SecurityPolicies))
- throw ConfigurationException("XML SecurityPolicyProvider requires conf:SecurityPolicies at root of configuration.");
-
- const XMLCh* algs = nullptr;
- const DOMElement* alglist = XMLHelper::getLastChildElement(e, AlgorithmBlacklist);
- if (alglist && alglist->hasChildNodes()) {
- algs = alglist->getFirstChild()->getNodeValue();
- }
- else if ((alglist = XMLHelper::getLastChildElement(e, AlgorithmWhitelist)) && alglist->hasChildNodes()) {
- algs = alglist->getFirstChild()->getNodeValue();
- }
- if (algs) {
- const XMLCh* token;
- XMLStringTokenizer tokenizer(algs);
- while (tokenizer.hasMoreTokens()) {
- token = tokenizer.nextToken();
- if (token) {
- if (XMLString::equals(alglist->getLocalName(), AlgorithmBlacklist))
- m_blacklist.push_back(token);
- else
- m_whitelist.push_back(token);
- }
- }
- }
-
- PolicyNodeFilter filter;
- SAMLConfig& samlConf = SAMLConfig::getConfig();
- e = XMLHelper::getFirstChildElement(e, Policy);
- while (e) {
- string id(XMLHelper::getAttrString(e, nullptr, _id));
- pair< PropertySet*,vector<const SecurityPolicyRule*> >& rules = m_policyMap[id];
- rules.first = nullptr;
- auto_ptr<DOMPropertySet> settings(new DOMPropertySet());
- settings->load(e, nullptr, &filter);
- rules.first = settings.release();
-
- // Set default policy if not set, or id is "default".
- if (m_defaultPolicy == m_policyMap.end() || id == "default")
- m_defaultPolicy = m_policyMap.find(id);
-
- // Process PolicyRule elements.
- const DOMElement* rule = XMLHelper::getFirstChildElement(e, PolicyRule);
- while (rule) {
- string t(XMLHelper::getAttrString(rule, nullptr, _type));
- if (!t.empty()) {
- try {
- rules.second.push_back(samlConf.SecurityPolicyRuleManager.newPlugin(t.c_str(), rule));
- }
- catch (exception& ex) {
- log.crit("error instantiating policy rule (%s) in policy (%s): %s", t.c_str(), id.c_str(), ex.what());
- }
- }
- rule = XMLHelper::getNextSiblingElement(rule, PolicyRule);
- }
-
- if (rules.second.size() == 0) {
- // Process Rule elements.
- log.warn("detected legacy Policy configuration, please convert to new PolicyRule syntax");
- rule = XMLHelper::getFirstChildElement(e, Rule);
- while (rule) {
- string t(XMLHelper::getAttrString(rule, nullptr, _type));
- if (!t.empty()) {
- try {
- rules.second.push_back(samlConf.SecurityPolicyRuleManager.newPlugin(t.c_str(), rule));
- }
- catch (exception& ex) {
- log.crit("error instantiating policy rule (%s) in policy (%s): %s", t.c_str(), id.c_str(), ex.what());
- }
- }
- rule = XMLHelper::getNextSiblingElement(rule, Rule);
- }
-
- // Manually add a basic Conditions rule.
- log.info("installing a default Conditions rule in policy (%s) for compatibility with legacy configuration", id.c_str());
- rules.second.push_back(samlConf.SecurityPolicyRuleManager.newPlugin(CONDITIONS_POLICY_RULE, nullptr));
- }
-
- e = XMLHelper::getNextSiblingElement(e, Policy);
- }
-
- if (m_defaultPolicy == m_policyMap.end())
- throw ConfigurationException("XML SecurityPolicyProvider requires at least one Policy.");
-}
-
-pair<bool,DOMElement*> XMLSecurityPolicyProvider::load(bool backup)
-{
- // Load from source using base class.
- pair<bool,DOMElement*> raw = ReloadableXMLFile::load(backup);
-
- // If we own it, wrap it.
- XercesJanitor<DOMDocument> docjanitor(raw.first ? raw.second->getOwnerDocument() : nullptr);
-
- XMLSecurityPolicyProviderImpl* impl = new XMLSecurityPolicyProviderImpl(raw.second, m_log);
-
- // If we held the document, transfer it to the impl. If we didn't, it's a no-op.
- impl->setDocument(docjanitor.release());
-
- // Perform the swap inside a lock.
- if (m_lock)
- m_lock->wrlock();
- SharedLock locker(m_lock, false);
- delete m_impl;
- m_impl = impl;
-
-
- return make_pair(false,(DOMElement*)nullptr);
-}
-
-pair<bool,DOMElement*> XMLSecurityPolicyProvider::background_load()
-{
- try {
- return load(false);
- }
- catch (long& ex) {
- if (ex == HTTPResponse::XMLTOOLING_HTTP_STATUS_NOTMODIFIED)
- m_log.info("remote resource (%s) unchanged", m_source.c_str());
- if (!m_loaded && !m_backing.empty())
- return load(true);
- throw;
- }
- catch (exception&) {
- if (!m_loaded && !m_backing.empty())
- return load(true);
- throw;
- }
-}
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
+/**
+ * XMLSecurityPolicyProvider.cpp
+ *
+ * XML-based security policy provider.
+ */
+
+#include "internal.h"
+#include "exceptions.h"
+#include "Application.h"
+#include "security/SecurityPolicy.h"
+#include "security/SecurityPolicyProvider.h"
+#include "util/DOMPropertySet.h"
+#include "util/SPConstants.h"
+
+#include <map>
+#include <saml/SAMLConfig.h>
+#include <saml/binding/SecurityPolicyRule.h>
+#include <xmltooling/io/HTTPResponse.h>
+#include <xmltooling/util/NDC.h>
+#include <xmltooling/util/ReloadableXMLFile.h>
+#include <xmltooling/util/Threads.h>
+#include <xmltooling/util/XMLHelper.h>
+#include <xercesc/util/XMLStringTokenizer.hpp>
+#include <xercesc/util/XMLUniDefs.hpp>
+
+using shibspconstants::SHIB2SPCONFIG_NS;
+using opensaml::SAMLConfig;
+using opensaml::SecurityPolicyRule;
+using namespace shibsp;
+using namespace xmltooling;
+using namespace std;
+
+namespace shibsp {
+
+#if defined (_MSC_VER)
+ #pragma warning( push )
+ #pragma warning( disable : 4250 )
+#endif
+
+ class SHIBSP_DLLLOCAL XMLSecurityPolicyProviderImpl
+ {
+ public:
+ XMLSecurityPolicyProviderImpl(const DOMElement* e, Category& log);
+ ~XMLSecurityPolicyProviderImpl() {
+ for (map< string,pair<PropertySet*,vector<const SecurityPolicyRule*> > >::iterator i = m_policyMap.begin(); i != m_policyMap.end(); ++i) {
+ delete i->second.first;
+ for_each(i->second.second.begin(), i->second.second.end(), xmltooling::cleanup<SecurityPolicyRule>());
+ }
+ if (m_document)
+ m_document->release();
+ }
+
+ void setDocument(DOMDocument* doc) {
+ m_document = doc;
+ }
+
+ private:
+ DOMDocument* m_document;
+ vector<xstring> m_whitelist,m_blacklist;
+ map< string,pair< PropertySet*,vector<const SecurityPolicyRule*> > > m_policyMap;
+ map< string,pair< PropertySet*,vector<const SecurityPolicyRule*> > >::const_iterator m_defaultPolicy;
+
+ friend class SHIBSP_DLLLOCAL XMLSecurityPolicyProvider;
+ };
+
+ class XMLSecurityPolicyProvider : public SecurityPolicyProvider, public ReloadableXMLFile
+ {
+ public:
+ XMLSecurityPolicyProvider(const DOMElement* e)
+ : ReloadableXMLFile(e, Category::getInstance(SHIBSP_LOGCAT".SecurityPolicyProvider.XML")), m_impl(nullptr) {
+ background_load(); // guarantees an exception or the policy is loaded
+ }
+
+ ~XMLSecurityPolicyProvider() {
+ shutdown();
+ delete m_impl;
+ }
+
+ const PropertySet* getPolicySettings(const char* id=nullptr) const {
+ if (!id || !*id)
+ return m_impl->m_defaultPolicy->second.first;
+ map<string,pair<PropertySet*,vector<const SecurityPolicyRule*> > >::const_iterator i = m_impl->m_policyMap.find(id);
+ if (i != m_impl->m_policyMap.end())
+ return i->second.first;
+ throw ConfigurationException("Security Policy ($1) not found, check <SecurityPolicies> element.", params(1,id));
+ }
+
+ const vector<const SecurityPolicyRule*>& getPolicyRules(const char* id=nullptr) const {
+ if (!id || !*id)
+ return m_impl->m_defaultPolicy->second.second;
+ map<string,pair<PropertySet*,vector<const SecurityPolicyRule*> > >::const_iterator i = m_impl->m_policyMap.find(id);
+ if (i != m_impl->m_policyMap.end())
+ return i->second.second;
+ throw ConfigurationException("Security Policy ($1) not found, check <SecurityPolicies> element.", params(1,id));
+ }
+ const vector<xstring>& getAlgorithmBlacklist() const {
+ return m_impl->m_blacklist;
+ }
+ const vector<xstring>& getAlgorithmWhitelist() const {
+ return m_impl->m_whitelist;
+ }
+
+ protected:
+ pair<bool,DOMElement*> load(bool backup);
+ pair<bool,DOMElement*> background_load();
+
+ private:
+ XMLSecurityPolicyProviderImpl* m_impl;
+ };
+
+#if defined (_MSC_VER)
+ #pragma warning( pop )
+#endif
+
+ SecurityPolicyProvider* SHIBSP_DLLLOCAL XMLSecurityPolicyProviderFactory(const DOMElement* const & e)
+ {
+ return new XMLSecurityPolicyProvider(e);
+ }
+
+ class SHIBSP_DLLLOCAL PolicyNodeFilter : public DOMNodeFilter
+ {
+ public:
+#ifdef SHIBSP_XERCESC_SHORT_ACCEPTNODE
+ short
+#else
+ FilterAction
+#endif
+ acceptNode(const DOMNode* node) const {
+ return FILTER_REJECT;
+ }
+ };
+
+ static const XMLCh _id[] = UNICODE_LITERAL_2(i,d);
+ static const XMLCh _type[] = UNICODE_LITERAL_4(t,y,p,e);
+ static const XMLCh AlgorithmBlacklist[] = UNICODE_LITERAL_18(A,l,g,o,r,i,t,h,m,B,l,a,c,k,l,i,s,t);
+ static const XMLCh AlgorithmWhitelist[] = UNICODE_LITERAL_18(A,l,g,o,r,i,t,h,m,W,h,i,t,e,l,i,s,t);
+ static const XMLCh Policy[] = UNICODE_LITERAL_6(P,o,l,i,c,y);
+ static const XMLCh PolicyRule[] = UNICODE_LITERAL_10(P,o,l,i,c,y,R,u,l,e);
+ static const XMLCh Rule[] = UNICODE_LITERAL_4(R,u,l,e);
+ static const XMLCh SecurityPolicies[] = UNICODE_LITERAL_16(S,e,c,u,r,i,t,y,P,o,l,i,c,i,e,s);
+}
+
+void SHIBSP_API shibsp::registerSecurityPolicyProviders()
+{
+ SPConfig::getConfig().SecurityPolicyProviderManager.registerFactory(XML_SECURITYPOLICY_PROVIDER, XMLSecurityPolicyProviderFactory);
+}
+
+SecurityPolicyProvider::SecurityPolicyProvider()
+{
+}
+
+SecurityPolicyProvider::~SecurityPolicyProvider()
+{
+}
+
+SecurityPolicy* SecurityPolicyProvider::createSecurityPolicy(
+ const Application& application, const xmltooling::QName* role, const char* policyId
+ ) const
+{
+ pair<bool,bool> validate = getPolicySettings(policyId ? policyId : application.getString("policyId").second)->getBool("validate");
+ return new SecurityPolicy(application, role, (validate.first && validate.second), policyId);
+}
+
+XMLSecurityPolicyProviderImpl::XMLSecurityPolicyProviderImpl(const DOMElement* e, Category& log)
+ : m_document(nullptr), m_defaultPolicy(m_policyMap.end())
+{
+#ifdef _DEBUG
+ xmltooling::NDC ndc("XMLSecurityPolicyProviderImpl");
+#endif
+
+ if (!XMLHelper::isNodeNamed(e, SHIB2SPCONFIG_NS, SecurityPolicies))
+ throw ConfigurationException("XML SecurityPolicyProvider requires conf:SecurityPolicies at root of configuration.");
+
+ const XMLCh* algs = nullptr;
+ const DOMElement* alglist = XMLHelper::getLastChildElement(e, AlgorithmBlacklist);
+ if (alglist && alglist->hasChildNodes()) {
+ algs = alglist->getFirstChild()->getNodeValue();
+ }
+ else if ((alglist = XMLHelper::getLastChildElement(e, AlgorithmWhitelist)) && alglist->hasChildNodes()) {
+ algs = alglist->getFirstChild()->getNodeValue();
+ }
+ if (algs) {
+ const XMLCh* token;
+ XMLStringTokenizer tokenizer(algs);
+ while (tokenizer.hasMoreTokens()) {
+ token = tokenizer.nextToken();
+ if (token) {
+ if (XMLString::equals(alglist->getLocalName(), AlgorithmBlacklist))
+ m_blacklist.push_back(token);
+ else
+ m_whitelist.push_back(token);
+ }
+ }
+ }
+
+ PolicyNodeFilter filter;
+ SAMLConfig& samlConf = SAMLConfig::getConfig();
+ e = XMLHelper::getFirstChildElement(e, Policy);
+ while (e) {
+ string id(XMLHelper::getAttrString(e, nullptr, _id));
+ pair< PropertySet*,vector<const SecurityPolicyRule*> >& rules = m_policyMap[id];
+ rules.first = nullptr;
+ auto_ptr<DOMPropertySet> settings(new DOMPropertySet());
+ settings->load(e, nullptr, &filter);
+ rules.first = settings.release();
+
+ // Set default policy if not set, or id is "default".
+ if (m_defaultPolicy == m_policyMap.end() || id == "default")
+ m_defaultPolicy = m_policyMap.find(id);
+
+ // Process PolicyRule elements.
+ const DOMElement* rule = XMLHelper::getFirstChildElement(e, PolicyRule);
+ while (rule) {
+ string t(XMLHelper::getAttrString(rule, nullptr, _type));
+ if (!t.empty()) {
+ try {
+ rules.second.push_back(samlConf.SecurityPolicyRuleManager.newPlugin(t.c_str(), rule));
+ }
+ catch (exception& ex) {
+ log.crit("error instantiating policy rule (%s) in policy (%s): %s", t.c_str(), id.c_str(), ex.what());
+ }
+ }
+ rule = XMLHelper::getNextSiblingElement(rule, PolicyRule);
+ }
+
+ if (rules.second.size() == 0) {
+ // Process Rule elements.
+ log.warn("detected legacy Policy configuration, please convert to new PolicyRule syntax");
+ rule = XMLHelper::getFirstChildElement(e, Rule);
+ while (rule) {
+ string t(XMLHelper::getAttrString(rule, nullptr, _type));
+ if (!t.empty()) {
+ try {
+ rules.second.push_back(samlConf.SecurityPolicyRuleManager.newPlugin(t.c_str(), rule));
+ }
+ catch (exception& ex) {
+ log.crit("error instantiating policy rule (%s) in policy (%s): %s", t.c_str(), id.c_str(), ex.what());
+ }
+ }
+ rule = XMLHelper::getNextSiblingElement(rule, Rule);
+ }
+
+ // Manually add a basic Conditions rule.
+ log.info("installing a default Conditions rule in policy (%s) for compatibility with legacy configuration", id.c_str());
+ rules.second.push_back(samlConf.SecurityPolicyRuleManager.newPlugin(CONDITIONS_POLICY_RULE, nullptr));
+ }
+
+ e = XMLHelper::getNextSiblingElement(e, Policy);
+ }
+
+ if (m_defaultPolicy == m_policyMap.end())
+ throw ConfigurationException("XML SecurityPolicyProvider requires at least one Policy.");
+}
+
+pair<bool,DOMElement*> XMLSecurityPolicyProvider::load(bool backup)
+{
+ // Load from source using base class.
+ pair<bool,DOMElement*> raw = ReloadableXMLFile::load(backup);
+
+ // If we own it, wrap it.
+ XercesJanitor<DOMDocument> docjanitor(raw.first ? raw.second->getOwnerDocument() : nullptr);
+
+ XMLSecurityPolicyProviderImpl* impl = new XMLSecurityPolicyProviderImpl(raw.second, m_log);
+
+ // If we held the document, transfer it to the impl. If we didn't, it's a no-op.
+ impl->setDocument(docjanitor.release());
+
+ // Perform the swap inside a lock.
+ if (m_lock)
+ m_lock->wrlock();
+ SharedLock locker(m_lock, false);
+ delete m_impl;
+ m_impl = impl;
+
+
+ return make_pair(false,(DOMElement*)nullptr);
+}
+
+pair<bool,DOMElement*> XMLSecurityPolicyProvider::background_load()
+{
+ try {
+ return load(false);
+ }
+ catch (long& ex) {
+ if (ex == HTTPResponse::XMLTOOLING_HTTP_STATUS_NOTMODIFIED)
+ m_log.info("remote resource (%s) unchanged", m_source.c_str());
+ if (!m_loaded && !m_backing.empty())
+ return load(true);
+ throw;
+ }
+ catch (exception&) {
+ if (!m_loaded && !m_backing.empty())
+ return load(true);
+ throw;
+ }
+}
diff --git a/shibsp/impl/XMLServiceProvider.cpp b/shibsp/impl/XMLServiceProvider.cpp
index 351ccab..38dbe96 100644
--- a/shibsp/impl/XMLServiceProvider.cpp
+++ b/shibsp/impl/XMLServiceProvider.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -132,12 +136,12 @@ namespace {
MetadataProvider* getMetadataProvider(bool required=true) const {
if (required && !m_base && !m_metadata)
throw ConfigurationException("No MetadataProvider available.");
- return (!m_metadata && m_base) ? m_base->getMetadataProvider() : m_metadata;
+ return (!m_metadata && m_base) ? m_base->getMetadataProvider(required) : m_metadata;
}
TrustEngine* getTrustEngine(bool required=true) const {
if (required && !m_base && !m_trust)
throw ConfigurationException("No TrustEngine available.");
- return (!m_trust && m_base) ? m_base->getTrustEngine() : m_trust;
+ return (!m_trust && m_base) ? m_base->getTrustEngine(required) : m_trust;
}
AttributeExtractor* getAttributeExtractor() const {
return (!m_attrExtractor && m_base) ? m_base->getAttributeExtractor() : m_attrExtractor;
diff --git a/shibsp/internal.h b/shibsp/internal.h
index bd49761..cb211a5 100644
--- a/shibsp/internal.h
+++ b/shibsp/internal.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2011 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/*
diff --git a/shibsp/lite/CommonDomainCookie.cpp b/shibsp/lite/CommonDomainCookie.cpp
index 2d3eeee..d963af4 100644
--- a/shibsp/lite/CommonDomainCookie.cpp
+++ b/shibsp/lite/CommonDomainCookie.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2007 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/lite/CommonDomainCookie.h b/shibsp/lite/CommonDomainCookie.h
index faffa46..6cc69e5 100644
--- a/shibsp/lite/CommonDomainCookie.h
+++ b/shibsp/lite/CommonDomainCookie.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/lite/SAMLConstants.cpp b/shibsp/lite/SAMLConstants.cpp
index f90fcba..0af8637 100644
--- a/shibsp/lite/SAMLConstants.cpp
+++ b/shibsp/lite/SAMLConstants.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/lite/SAMLConstants.h b/shibsp/lite/SAMLConstants.h
index 57c18cb..eee03ae 100644
--- a/shibsp/lite/SAMLConstants.h
+++ b/shibsp/lite/SAMLConstants.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/metadata/DynamicMetadataProvider.cpp b/shibsp/metadata/DynamicMetadataProvider.cpp
index 2c0f794..a7b299a 100644
--- a/shibsp/metadata/DynamicMetadataProvider.cpp
+++ b/shibsp/metadata/DynamicMetadataProvider.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/metadata/MetadataExt.h b/shibsp/metadata/MetadataExt.h
index c9054c2..ef9c117 100644
--- a/shibsp/metadata/MetadataExt.h
+++ b/shibsp/metadata/MetadataExt.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/metadata/MetadataExtImpl.cpp b/shibsp/metadata/MetadataExtImpl.cpp
index 8811fb5..b95424e 100644
--- a/shibsp/metadata/MetadataExtImpl.cpp
+++ b/shibsp/metadata/MetadataExtImpl.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/metadata/MetadataExtSchemaValidators.cpp b/shibsp/metadata/MetadataExtSchemaValidators.cpp
index 7841539..e7d2100 100644
--- a/shibsp/metadata/MetadataExtSchemaValidators.cpp
+++ b/shibsp/metadata/MetadataExtSchemaValidators.cpp
@@ -1,17 +1,21 @@
-/*
-* Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/metadata/MetadataProviderCriteria.cpp b/shibsp/metadata/MetadataProviderCriteria.cpp
index 55ddffd..5d48726 100644
--- a/shibsp/metadata/MetadataProviderCriteria.cpp
+++ b/shibsp/metadata/MetadataProviderCriteria.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/metadata/MetadataProviderCriteria.h b/shibsp/metadata/MetadataProviderCriteria.h
index 25498b6..a204c70 100644
--- a/shibsp/metadata/MetadataProviderCriteria.h
+++ b/shibsp/metadata/MetadataProviderCriteria.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/paths.h b/shibsp/paths.h
index 2a147a4..d2d4557 100644
--- a/shibsp/paths.h
+++ b/shibsp/paths.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/paths.h.in b/shibsp/paths.h.in
index abd4f71..d4ba1eb 100644
--- a/shibsp/paths.h.in
+++ b/shibsp/paths.h.in
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/ListenerService.h b/shibsp/remoting/ListenerService.h
index 0590681..56a357b 100644
--- a/shibsp/remoting/ListenerService.h
+++ b/shibsp/remoting/ListenerService.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/ddf.h b/shibsp/remoting/ddf.h
index 6a51604..e7f4754 100644
--- a/shibsp/remoting/ddf.h
+++ b/shibsp/remoting/ddf.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/impl/ListenerService.cpp b/shibsp/remoting/impl/ListenerService.cpp
index 2b1cd62..46da642 100644
--- a/shibsp/remoting/impl/ListenerService.cpp
+++ b/shibsp/remoting/impl/ListenerService.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/impl/SocketListener.cpp b/shibsp/remoting/impl/SocketListener.cpp
index 2560c53..cd53cd2 100644
--- a/shibsp/remoting/impl/SocketListener.cpp
+++ b/shibsp/remoting/impl/SocketListener.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/impl/SocketListener.h b/shibsp/remoting/impl/SocketListener.h
index d6ed828..df4dc23 100644
--- a/shibsp/remoting/impl/SocketListener.h
+++ b/shibsp/remoting/impl/SocketListener.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/impl/TCPListener.cpp b/shibsp/remoting/impl/TCPListener.cpp
index b06d0e9..2daf68a 100644
--- a/shibsp/remoting/impl/TCPListener.cpp
+++ b/shibsp/remoting/impl/TCPListener.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/impl/UnixListener.cpp b/shibsp/remoting/impl/UnixListener.cpp
index 3bd80ff..554da2e 100644
--- a/shibsp/remoting/impl/UnixListener.cpp
+++ b/shibsp/remoting/impl/UnixListener.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/remoting/impl/ddf.cpp b/shibsp/remoting/impl/ddf.cpp
index c5f2d78..6da3947 100644
--- a/shibsp/remoting/impl/ddf.cpp
+++ b/shibsp/remoting/impl/ddf.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/resource.h b/shibsp/resource.h
index 79fe549..9b2726a 100644
--- a/shibsp/resource.h
+++ b/shibsp/resource.h
@@ -1,3 +1,23 @@
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by shibsp.rc
diff --git a/shibsp/security/PKIXTrustEngine.cpp b/shibsp/security/PKIXTrustEngine.cpp
index 39cc232..c391a3e 100644
--- a/shibsp/security/PKIXTrustEngine.cpp
+++ b/shibsp/security/PKIXTrustEngine.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/security/PKIXTrustEngine.h b/shibsp/security/PKIXTrustEngine.h
index c01f9ac..4719ae3 100644
--- a/shibsp/security/PKIXTrustEngine.h
+++ b/shibsp/security/PKIXTrustEngine.h
@@ -1,17 +1,21 @@
-/*
- * 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/security/SecurityPolicy.cpp b/shibsp/security/SecurityPolicy.cpp
index e66c028..d9329b4 100644
--- a/shibsp/security/SecurityPolicy.cpp
+++ b/shibsp/security/SecurityPolicy.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/security/SecurityPolicy.h b/shibsp/security/SecurityPolicy.h
index fdf7a22..012b1a8 100644
--- a/shibsp/security/SecurityPolicy.h
+++ b/shibsp/security/SecurityPolicy.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/security/SecurityPolicyProvider.h b/shibsp/security/SecurityPolicyProvider.h
index ec84baf..65f5bdf 100644
--- a/shibsp/security/SecurityPolicyProvider.h
+++ b/shibsp/security/SecurityPolicyProvider.h
@@ -1,116 +1,120 @@
-/*
- * Copyright 2010 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.
- */
-
-/**
- * @file shibsp/security/SecurityPolicyProvider.h
- *
- * Interface to a source of security policy settings and rules.
- */
-
-#ifndef __shibsp_policyfactory_h__
-#define __shibsp_policyfactory_h__
-
-#ifndef SHIBSP_LITE
-
-#include <shibsp/base.h>
-
-#include <vector>
-#include <xmltooling/Lockable.h>
-#include <xmltooling/unicode.h>
-
-namespace xmltooling {
- class XMLTOOL_API QName;
-};
-
-namespace opensaml {
- class SAML_API SecurityPolicyRule;
-};
-
-namespace shibsp {
-
- class SHIBSP_API Application;
- class SHIBSP_API PropertySet;
- class SHIBSP_API SecurityPolicy;
-
- /**
- * Interface to a source of security policy settings and rules.
- */
- class SHIBSP_API SecurityPolicyProvider : public virtual xmltooling::Lockable
- {
- MAKE_NONCOPYABLE(SecurityPolicyProvider);
- protected:
- SecurityPolicyProvider();
- public:
- virtual ~SecurityPolicyProvider();
-
- /**
- * Returns the security policy settings for an identified policy.
- *
- * @param id identifies the policy to return, or nullptr for default
- * @return a PropertySet
- */
- virtual const PropertySet* getPolicySettings(const char* id=nullptr) const=0;
-
- /**
- * Returns the security policy rules for an identified policy.
- *
- * @param id identifies the policy to return, or nullptr for default
- * @return an array of policy rules
- */
- virtual const std::vector<const opensaml::SecurityPolicyRule*>& getPolicyRules(const char* id=nullptr) const=0;
-
- /**
- * Returns a set of XML Signature/Encryption algorithm identifiers to block.
- *
- * @return an array of algorithm URIs to block
- */
- virtual const std::vector<xmltooling::xstring>& getAlgorithmBlacklist() const=0;
-
- /**
- * Returns a set of XML Signature/Encryption algorithm identifiers to permit.
- *
- * @return an array of algorithm URIs to permit
- */
- virtual const std::vector<xmltooling::xstring>& getAlgorithmWhitelist() const=0;
-
- /**
- * Returns a SecurityPolicy applicable to an application and/or policy identifier.
- *
- * <p>The caller <strong>MUST</strong> lock the application's MetadataProvider for the life
- * of the returned object.
- *
- * @param application reference to application applying policy
- * @param role identifies the role (generally IdP or SP) of the policy peer
- * @param policyId identifies policy, defaults to the application's default
- * @return a new policy instance, which the caller is responsible for freeing
- */
- virtual SecurityPolicy* createSecurityPolicy(
- const Application& application, const xmltooling::QName* role, const char* policyId=nullptr
- ) const;
- };
-
- /**
- * Registers SecurityPolicyProvider classes into the runtime.
- */
- void SHIBSP_API registerSecurityPolicyProviders();
-
- /** SecurityPolicyProvider based on an XML configuration format. */
- #define XML_SECURITYPOLICY_PROVIDER "XML"
-};
-
-#endif
-
-#endif /* __shibsp_policyfactory_h__ */
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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.
+ */
+
+/**
+ * @file shibsp/security/SecurityPolicyProvider.h
+ *
+ * Interface to a source of security policy settings and rules.
+ */
+
+#ifndef __shibsp_policyfactory_h__
+#define __shibsp_policyfactory_h__
+
+#ifndef SHIBSP_LITE
+
+#include <shibsp/base.h>
+
+#include <vector>
+#include <xmltooling/Lockable.h>
+#include <xmltooling/unicode.h>
+
+namespace xmltooling {
+ class XMLTOOL_API QName;
+};
+
+namespace opensaml {
+ class SAML_API SecurityPolicyRule;
+};
+
+namespace shibsp {
+
+ class SHIBSP_API Application;
+ class SHIBSP_API PropertySet;
+ class SHIBSP_API SecurityPolicy;
+
+ /**
+ * Interface to a source of security policy settings and rules.
+ */
+ class SHIBSP_API SecurityPolicyProvider : public virtual xmltooling::Lockable
+ {
+ MAKE_NONCOPYABLE(SecurityPolicyProvider);
+ protected:
+ SecurityPolicyProvider();
+ public:
+ virtual ~SecurityPolicyProvider();
+
+ /**
+ * Returns the security policy settings for an identified policy.
+ *
+ * @param id identifies the policy to return, or nullptr for default
+ * @return a PropertySet
+ */
+ virtual const PropertySet* getPolicySettings(const char* id=nullptr) const=0;
+
+ /**
+ * Returns the security policy rules for an identified policy.
+ *
+ * @param id identifies the policy to return, or nullptr for default
+ * @return an array of policy rules
+ */
+ virtual const std::vector<const opensaml::SecurityPolicyRule*>& getPolicyRules(const char* id=nullptr) const=0;
+
+ /**
+ * Returns a set of XML Signature/Encryption algorithm identifiers to block.
+ *
+ * @return an array of algorithm URIs to block
+ */
+ virtual const std::vector<xmltooling::xstring>& getAlgorithmBlacklist() const=0;
+
+ /**
+ * Returns a set of XML Signature/Encryption algorithm identifiers to permit.
+ *
+ * @return an array of algorithm URIs to permit
+ */
+ virtual const std::vector<xmltooling::xstring>& getAlgorithmWhitelist() const=0;
+
+ /**
+ * Returns a SecurityPolicy applicable to an application and/or policy identifier.
+ *
+ * <p>The caller <strong>MUST</strong> lock the application's MetadataProvider for the life
+ * of the returned object.
+ *
+ * @param application reference to application applying policy
+ * @param role identifies the role (generally IdP or SP) of the policy peer
+ * @param policyId identifies policy, defaults to the application's default
+ * @return a new policy instance, which the caller is responsible for freeing
+ */
+ virtual SecurityPolicy* createSecurityPolicy(
+ const Application& application, const xmltooling::QName* role, const char* policyId=nullptr
+ ) const;
+ };
+
+ /**
+ * Registers SecurityPolicyProvider classes into the runtime.
+ */
+ void SHIBSP_API registerSecurityPolicyProviders();
+
+ /** SecurityPolicyProvider based on an XML configuration format. */
+ #define XML_SECURITYPOLICY_PROVIDER "XML"
+};
+
+#endif
+
+#endif /* __shibsp_policyfactory_h__ */
diff --git a/shibsp/shibsp-lite.vcxproj b/shibsp/shibsp-lite.vcxproj
index 5209287..68af819 100644
--- a/shibsp/shibsp-lite.vcxproj
+++ b/shibsp/shibsp-lite.vcxproj
@@ -94,7 +94,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WANT_TCP_SHAR;SHIBSP_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
@@ -121,7 +120,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WANT_TCP_SHAR;SHIBSP_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
@@ -249,6 +247,7 @@
<ClInclude Include="AccessControl.h" />
<ClInclude Include="Application.h" />
<ClInclude Include="base.h" />
+ <ClInclude Include="config_pub_win32.h" />
<ClInclude Include="exceptions.h" />
<ClInclude Include="internal.h" />
<ClInclude Include="RequestMapper.h" />
@@ -287,6 +286,7 @@
<ItemGroup>
<None Include="Makefile.am" />
<None Include="paths.h.in" />
+ <None Include="config_pub.h.in" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/shibsp/shibsp-lite.vcxproj.filters b/shibsp/shibsp-lite.vcxproj.filters
index 654a364..4baf10c 100644
--- a/shibsp/shibsp-lite.vcxproj.filters
+++ b/shibsp/shibsp-lite.vcxproj.filters
@@ -341,6 +341,9 @@
<ClInclude Include="GSSRequest.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="config_pub_win32.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="shibsp.rc">
@@ -350,5 +353,6 @@
<ItemGroup>
<None Include="Makefile.am" />
<None Include="paths.h.in" />
+ <None Include="config_pub.h.in" />
</ItemGroup>
</Project>
\ No newline at end of file
diff --git a/shibsp/shibsp.rc b/shibsp/shibsp.rc
index e2ea857..fbe4cf3 100644
--- a/shibsp/shibsp.rc
+++ b/shibsp/shibsp.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,4,2,0
- PRODUCTVERSION 2,4,2,0
+ FILEVERSION 1,4,3,0
+ PRODUCTVERSION 2,4,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,13 +45,13 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
- VALUE "CompanyName", "Internet2\0"
+ VALUE "CompanyName", "UCAID\0"
#ifdef SHIBSP_LITE
VALUE "FileDescription", "Shibboleth SP Lite Library\0"
#else
VALUE "FileDescription", "Shibboleth SP Library\0"
#endif
- VALUE "FileVersion", "1, 4, 2, 0\0"
+ VALUE "FileVersion", "1, 4, 3, 0\0"
#ifdef SHIBSP_LITE
#ifdef _DEBUG
VALUE "InternalName", "shibsp-lite1_4D\0"
@@ -65,7 +65,7 @@ BEGIN
VALUE "InternalName", "shibsp1_4\0"
#endif
#endif
- VALUE "LegalCopyright", "Copyright � 2011 Internet2\0"
+ VALUE "LegalCopyright", "Copyright � 2011 UCAID\0"
VALUE "LegalTrademarks", "\0"
#ifdef SHIBSP_LITE
#ifdef _DEBUG
@@ -81,8 +81,8 @@ BEGIN
#endif
#endif
VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Shibboleth 2.4.2\0"
- VALUE "ProductVersion", "2, 4, 2, 0\0"
+ VALUE "ProductName", "Shibboleth 2.4.3\0"
+ VALUE "ProductVersion", "2, 4, 3, 0\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/shibsp/shibsp.vcxproj b/shibsp/shibsp.vcxproj
index 331fddb..17f3c85 100644
--- a/shibsp/shibsp.vcxproj
+++ b/shibsp/shibsp.vcxproj
@@ -94,7 +94,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-opensaml;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WANT_TCP_SHAR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
@@ -121,7 +120,6 @@
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;..;..\..\cpp-opensaml;..\..\cpp-xmltooling;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WANT_TCP_SHAR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
@@ -290,6 +288,7 @@
<ClInclude Include="AccessControl.h" />
<ClInclude Include="Application.h" />
<ClInclude Include="base.h" />
+ <ClInclude Include="config_pub_win32.h" />
<ClInclude Include="exceptions.h" />
<ClInclude Include="internal.h" />
<ClInclude Include="RequestMapper.h" />
@@ -343,6 +342,7 @@
<ItemGroup>
<None Include="Makefile.am" />
<None Include="paths.h.in" />
+ <None Include="config_pub.h.in" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/shibsp/shibsp.vcxproj.filters b/shibsp/shibsp.vcxproj.filters
index cee9649..d63bb51 100644
--- a/shibsp/shibsp.vcxproj.filters
+++ b/shibsp/shibsp.vcxproj.filters
@@ -551,6 +551,9 @@
<ClInclude Include="GSSRequest.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="config_pub_win32.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="shibsp.rc">
@@ -560,5 +563,6 @@
<ItemGroup>
<None Include="Makefile.am" />
<None Include="paths.h.in" />
+ <None Include="config_pub.h.in" />
</ItemGroup>
</Project>
\ No newline at end of file
diff --git a/shibsp/util/CGIParser.cpp b/shibsp/util/CGIParser.cpp
index fdc63a9..75ed711 100644
--- a/shibsp/util/CGIParser.cpp
+++ b/shibsp/util/CGIParser.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/CGIParser.h b/shibsp/util/CGIParser.h
index d9b437d..0bafe0d 100644
--- a/shibsp/util/CGIParser.h
+++ b/shibsp/util/CGIParser.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/DOMPropertySet.cpp b/shibsp/util/DOMPropertySet.cpp
index 2c7f64b..4231132 100644
--- a/shibsp/util/DOMPropertySet.cpp
+++ b/shibsp/util/DOMPropertySet.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/DOMPropertySet.h b/shibsp/util/DOMPropertySet.h
index 8d41e14..4de32c0 100644
--- a/shibsp/util/DOMPropertySet.h
+++ b/shibsp/util/DOMPropertySet.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/PropertySet.h b/shibsp/util/PropertySet.h
index f7d36cf..773ebd9 100644
--- a/shibsp/util/PropertySet.h
+++ b/shibsp/util/PropertySet.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/SPConstants.cpp b/shibsp/util/SPConstants.cpp
index 4b62c9b..120fd5c 100644
--- a/shibsp/util/SPConstants.cpp
+++ b/shibsp/util/SPConstants.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/SPConstants.h b/shibsp/util/SPConstants.h
index 9e16675..53cbdd9 100644
--- a/shibsp/util/SPConstants.h
+++ b/shibsp/util/SPConstants.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/TemplateParameters.cpp b/shibsp/util/TemplateParameters.cpp
index 1c37a3e..3f12f7d 100644
--- a/shibsp/util/TemplateParameters.cpp
+++ b/shibsp/util/TemplateParameters.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/util/TemplateParameters.h b/shibsp/util/TemplateParameters.h
index 48cffdf..8a6a2be 100644
--- a/shibsp/util/TemplateParameters.h
+++ b/shibsp/util/TemplateParameters.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/shibsp/version.h b/shibsp/version.h
index d56aebf..5d6e692 100644
--- a/shibsp/version.h
+++ b/shibsp/version.h
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2009 Internet2
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
*
- * 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
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
@@ -39,7 +43,7 @@
#define SHIBSP_VERSION_MAJOR 1
#define SHIBSP_VERSION_MINOR 4
-#define SHIBSP_VERSION_REVISION 2
+#define SHIBSP_VERSION_REVISION 3
/** DO NOT MODIFY BELOW THIS LINE */
diff --git a/util/Makefile.in b/util/Makefile.in
index 8dec8be..4c1359f 100644
--- a/util/Makefile.in
+++ b/util/Makefile.in
@@ -46,7 +46,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_HEADER = $(top_builddir)/config.h \
+ $(top_builddir)/shibsp/config_pub.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
@@ -60,7 +61,7 @@ am_resolvertest_OBJECTS = resolvertest.$(OBJEXT)
resolvertest_OBJECTS = $(am_resolvertest_OBJECTS)
resolvertest_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(top_builddir)/shibsp/libshibsp.la
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir) -I$(top_builddir)/shibsp
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
diff --git a/util/mdquery.cpp b/util/mdquery.cpp
index 4b03df2..5d89e08 100644
--- a/util/mdquery.cpp
+++ b/util/mdquery.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/util/mdquery.vcxproj b/util/mdquery.vcxproj
index 7df8334..229595c 100644
--- a/util/mdquery.vcxproj
+++ b/util/mdquery.vcxproj
@@ -155,7 +155,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -185,7 +184,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/util/resolvertest.cpp b/util/resolvertest.cpp
index f68439d..ad3b032 100644
--- a/util/resolvertest.cpp
+++ b/util/resolvertest.cpp
@@ -1,17 +1,21 @@
-/*
- * Copyright 2001-2010 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
+/**
+ * Licensed to the University Corporation for Advanced Internet
+ * Development, Inc. (UCAID) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * UCAID licenses this file to you 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
+ * 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.
+ * 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.
*/
/**
diff --git a/util/resolvertest.vcxproj b/util/resolvertest.vcxproj
index 91a5b32..f0215c5 100644
--- a/util/resolvertest.vcxproj
+++ b/util/resolvertest.vcxproj
@@ -157,7 +157,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -187,7 +186,6 @@
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list