Bump version, add overall version to log.
authorScott Cantor <cantor.2@osu.edu>
Mon, 23 Nov 2009 16:50:47 +0000 (16:50 +0000)
committerScott Cantor <cantor.2@osu.edu>
Mon, 23 Nov 2009 16:50:47 +0000 (16:50 +0000)
18 files changed:
adfs/adfs.rc
apache/mod_shib_13.rc
apache/mod_shib_20.rc
apache/mod_shib_22.rc
config_win32.h
configure.ac
fastcgi/shibauthorizer.rc
fastcgi/shibresponder.rc
isapi_shib/isapi_shib.rc
memcache-store/memcache-store.rc
nsapi_shib/nsapi_shib.rc
odbc-store/odbc-store.rc
shibboleth.spec.in
shibd/shibd.rc
shibsp/Makefile.am
shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp
shibsp/shibsp.rc
shibsp/version.h

index 9e46d04..c3a45fe 100644 (file)
@@ -54,8 +54,8 @@ END
 //\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 2,3,0,0\r
- PRODUCTVERSION 2,3,0,0\r
+ FILEVERSION 2,3,1,0\r
+ PRODUCTVERSION 2,3,1,0\r
  FILEFLAGSMASK 0x3fL\r
 #ifdef _DEBUG\r
  FILEFLAGS 0x1L\r
@@ -73,7 +73,7 @@ BEGIN
             VALUE "Comments", "\0"\r
             VALUE "CompanyName", "Internet2\0"\r
             VALUE "FileDescription", "Shibboleth ADFSv1 Plugin\0"\r
-            VALUE "FileVersion", "2, 3, 0, 0\0"\r
+            VALUE "FileVersion", "2, 3, 1, 0\0"\r
 #ifdef SHIBSP_LITE\r
             VALUE "InternalName", "adfs-lite\0"\r
 #else\r
@@ -87,8 +87,8 @@ BEGIN
             VALUE "OriginalFilename", "adfs.so\0"\r
 #endif\r
             VALUE "PrivateBuild", "\0"\r
-            VALUE "ProductName", "Shibboleth 2.3\0"\r
-            VALUE "ProductVersion", "2, 3, 0, 0\0"\r
+            VALUE "ProductName", "Shibboleth 2.3.1\0"\r
+            VALUE "ProductVersion", "2, 3, 1, 0\0"\r
             VALUE "SpecialBuild", "\0"\r
         END\r
     END\r
index 1ef85b6..2bff418 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,3,0,0
- PRODUCTVERSION 2,3,0,0
+ FILEVERSION 2,3,1,0
+ PRODUCTVERSION 2,3,1,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"
             VALUE "CompanyName", "Internet2\0"
             VALUE "FileDescription", "Shibboleth Apache 1.3 Module\0"
-            VALUE "FileVersion", "2, 3, 0, 0\0"
+            VALUE "FileVersion", "2, 3, 1, 0\0"
             VALUE "InternalName", "mod_shib_13\0"
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "mod_shib_13.so\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth 2.3\0"
-            VALUE "ProductVersion", "2, 3, 0, 0\0"
+            VALUE "ProductName", "Shibboleth 2.3.1\0"
+            VALUE "ProductVersion", "2, 3, 1, 0\0"
             VALUE "SpecialBuild", "\0"
         END
     END
index 79dd05e..bffa8f8 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,3,0,0
- PRODUCTVERSION 2,3,0,0
+ FILEVERSION 2,3,1,0
+ PRODUCTVERSION 2,3,1,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"
             VALUE "CompanyName", "Internet2\0"
             VALUE "FileDescription", "Shibboleth Apache 2.0 Module\0"
-            VALUE "FileVersion", "2, 3, 0, 0\0"
+            VALUE "FileVersion", "2, 3, 1, 0\0"
             VALUE "InternalName", "mod_shib_20\0"
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "mod_shib_20.so\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth 2.3\0"
-            VALUE "ProductVersion", "2, 3, 0, 0\0"
+            VALUE "ProductName", "Shibboleth 2.3.1\0"
+            VALUE "ProductVersion", "2, 3, 1, 0\0"
             VALUE "SpecialBuild", "\0"
         END
     END
index 24182bd..2864f5c 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,3,0,0
- PRODUCTVERSION 2,3,0,0
+ FILEVERSION 2,3,1,0
+ PRODUCTVERSION 2,3,1,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"
             VALUE "CompanyName", "Internet2\0"
             VALUE "FileDescription", "Shibboleth Apache 2.2 Module\0"
-            VALUE "FileVersion", "2, 3, 0, 0\0"
+            VALUE "FileVersion", "2, 3, 1, 0\0"
             VALUE "InternalName", "mod_shib_22\0"
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "mod_shib_22.so\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth 2.3\0"
-            VALUE "ProductVersion", "2, 3, 0, 0\0"
+            VALUE "ProductName", "Shibboleth 2.3.1\0"
+            VALUE "ProductVersion", "2, 3, 1, 0\0"
             VALUE "SpecialBuild", "\0"
         END
     END
index 9778d65..ec6787b 100644 (file)
 #define PACKAGE_NAME "shibboleth"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "shibboleth 2.3"
+#define PACKAGE_STRING "shibboleth 2.3.1"
 
 /* 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.3"
+#define PACKAGE_VERSION "2.3.1"
 
 /* Define to the necessary symbol if this constant uses a non-standard name on
    your system. */
 /* #undef TM_IN_SYS_TIME */
 
 /* Version number of package */
-#define VERSION "2.3"
+#define VERSION "2.3.1"
 
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */
index 7265638..0326aba 100644 (file)
@@ -1,7 +1,7 @@
 AC_PREREQ([2.50])
-AC_INIT([shibboleth], [2.3], [shibboleth-users@internet2.edu], [shibboleth])
+AC_INIT([shibboleth], [2.3.1], [shibboleth-users@internet2.edu], [shibboleth])
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE([shibboleth],[2.3])
+AM_INIT_AUTOMAKE([shibboleth],[2.3.1])
 
 sinclude(doxygen.m4)
 sinclude(acx_pthread.m4)
index 37258c9..e1f7b95 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 2,3,0,0\r
- PRODUCTVERSION 2,3,0,0\r
+ FILEVERSION 2,3,1,0\r
+ PRODUCTVERSION 2,3,1,0\r
  FILEFLAGSMASK 0x3fL\r
 #ifdef _DEBUG\r
  FILEFLAGS 0x1L\r
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"\r
             VALUE "CompanyName", "Internet2\0"\r
             VALUE "FileDescription", "Shibboleth FastCGI Authorizer\0"\r
-            VALUE "FileVersion", "2, 3, 0, 0\0"\r
+            VALUE "FileVersion", "2, 3, 1, 0\0"\r
             VALUE "InternalName", "shibauthorizer\0"\r
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"\r
             VALUE "LegalTrademarks", "\0"\r
             VALUE "OriginalFilename", "shibauthorizer.exe\0"\r
             VALUE "PrivateBuild", "\0"\r
-            VALUE "ProductName", "Shibboleth 2.3\0"\r
-            VALUE "ProductVersion", "2, 3, 0, 0\0"\r
+            VALUE "ProductName", "Shibboleth 2.3.1\0"\r
+            VALUE "ProductVersion", "2, 3, 1, 0\0"\r
             VALUE "SpecialBuild", "\0"\r
         END\r
     END\r
index f95c347..c41b96c 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 2,3,0,0\r
- PRODUCTVERSION 2,3,0,0\r
+ FILEVERSION 2,3,1,0\r
+ PRODUCTVERSION 2,3,1,0\r
  FILEFLAGSMASK 0x3fL\r
 #ifdef _DEBUG\r
  FILEFLAGS 0x1L\r
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"\r
             VALUE "CompanyName", "Internet2\0"\r
             VALUE "FileDescription", "Shibboleth FastCGI Responder\0"\r
-            VALUE "FileVersion", "2, 3, 0, 0\0"\r
+            VALUE "FileVersion", "2, 3, 1, 0\0"\r
             VALUE "InternalName", "shibresponder\0"\r
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"\r
             VALUE "LegalTrademarks", "\0"\r
             VALUE "OriginalFilename", "shibresponder.exe\0"\r
             VALUE "PrivateBuild", "\0"\r
-            VALUE "ProductName", "Shibboleth 2.3\0"\r
-            VALUE "ProductVersion", "2, 3, 0, 0\0"\r
+            VALUE "ProductName", "Shibboleth 2.3.1\0"\r
+            VALUE "ProductVersion", "2, 3, 1, 0\0"\r
             VALUE "SpecialBuild", "\0"\r
         END\r
     END\r
index 116438f..63c0d2f 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,3,0,0
- PRODUCTVERSION 2,3,0,0
+ FILEVERSION 2,3,1,0
+ PRODUCTVERSION 2,3,1,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"
             VALUE "CompanyName", "Internet2\0"
             VALUE "FileDescription", "Shibboleth ISAPI Filter / Extension\0"
-            VALUE "FileVersion", "2, 3, 0, 0\0"
+            VALUE "FileVersion", "2, 3, 1, 0\0"
             VALUE "InternalName", "isapi_shib\0"
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "isapi_shib.dll\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth 2.3\0"
-            VALUE "ProductVersion", "2, 3, 0, 0\0"
+            VALUE "ProductName", "Shibboleth 2.3.1\0"
+            VALUE "ProductVersion", "2, 3, 1, 0\0"
             VALUE "SpecialBuild", "\0"
         END
     END
index 5edb5b1..fb78af6 100644 (file)
@@ -53,8 +53,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,3,0,0
- PRODUCTVERSION 2,3,0,0
+ FILEVERSION 2,3,1,0
+ PRODUCTVERSION 2,3,1,0
  FILEFLAGSMASK 0x17L
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -71,12 +71,12 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "Internet2\0"
             VALUE "FileDescription", "Shibboleth Memcache Storage Service Plugin\0"
-            VALUE "FileVersion", "2, 3, 0, 0\0"
+            VALUE "FileVersion", "2, 3, 1, 0\0"
             VALUE "InternalName", "memcache-store\0"
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"
             VALUE "OriginalFilename", "memcache-store.so\0"
-            VALUE "ProductName", "Shibboleth 2.3\0"
-            VALUE "ProductVersion", "2, 3, 0, 0\0"
+            VALUE "ProductName", "Shibboleth 2.3.1\0"
+            VALUE "ProductVersion", "2, 3, 1, 0\0"
         END
     END
     BLOCK "VarFileInfo"
index a551403..c4004f5 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,3,0,0
- PRODUCTVERSION 2,3,0,0
+ FILEVERSION 2,3,1,0
+ PRODUCTVERSION 2,3,1,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"
             VALUE "CompanyName", "Internet2\0"
             VALUE "FileDescription", "Shibboleth NSAPI Extension\0"
-            VALUE "FileVersion", "2, 3, 0, 0\0"
+            VALUE "FileVersion", "2, 3, 1, 0\0"
             VALUE "InternalName", "nsapi_shib\0"
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "nsapi_shib.dll\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth 2.3\0"
-            VALUE "ProductVersion", "2, 3, 0, 0\0"
+            VALUE "ProductName", "Shibboleth 2.3.1\0"
+            VALUE "ProductVersion", "2, 3, 1, 0\0"
             VALUE "SpecialBuild", "\0"
         END
     END
index 0190222..bfcbae5 100644 (file)
@@ -53,8 +53,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,3,0,0
- PRODUCTVERSION 2,3,0,0
+ FILEVERSION 2,3,1,0
+ PRODUCTVERSION 2,3,1,0
  FILEFLAGSMASK 0x17L
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -71,12 +71,12 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "Internet2\0"
             VALUE "FileDescription", "Shibboleth ODBC Storage Service Plugin\0"
-            VALUE "FileVersion", "2, 3, 0, 0\0"
+            VALUE "FileVersion", "2, 3, 1, 0\0"
             VALUE "InternalName", "odbc-store\0"
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"
             VALUE "OriginalFilename", "odbc-store.so\0"
-            VALUE "ProductName", "Shibboleth 2.3\0"
-            VALUE "ProductVersion", "2, 3, 0, 0\0"
+            VALUE "ProductName", "Shibboleth 2.3.1\0"
+            VALUE "ProductVersion", "2, 3, 1, 0\0"
         END
     END
     BLOCK "VarFileInfo"
index a6c612f..21cadbc 100644 (file)
@@ -1,6 +1,6 @@
 Name:          @PACKAGE@
 Version:       @PACKAGE_VERSION@
-Release:       2
+Release:       1
 Summary:    Open source system for attribute-based Web SSO
 Group:         System Environment/Libraries
 Vendor:     Internet2
@@ -244,6 +244,9 @@ cd /
 %doc %{pkgdocdir}/api
 
 %changelog
+* Mon Nov 23 2009 Scott Cantor  <cantor.2@osu.edu>  - 2.3.1-1
+- Reset revision for 2.3.1 release
+
 * Wed Aug 19 2009 Scott Cantor  <cantor.2@osu.edu>  - 2.2.1-2
 - SuSE init script changes
 - Restart Apache on removal, not just upgrade
index 264fc0c..a2ce8b1 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 2,3,0,0\r
- PRODUCTVERSION 2,3,0,0\r
+ FILEVERSION 2,3,1,0\r
+ PRODUCTVERSION 2,3,1,0\r
  FILEFLAGSMASK 0x3fL\r
 #ifdef _DEBUG\r
  FILEFLAGS 0x1L\r
@@ -47,14 +47,14 @@ BEGIN
             VALUE "Comments", "\0"\r
             VALUE "CompanyName", "Internet2\0"\r
             VALUE "FileDescription", "Shibboleth Daemon Service\0"\r
-            VALUE "FileVersion", "2, 3, 0, 0\0"\r
+            VALUE "FileVersion", "2, 3, 1, 0\0"\r
             VALUE "InternalName", "shibd\0"\r
             VALUE "LegalCopyright", "Copyright © 2009 Internet2\0"\r
             VALUE "LegalTrademarks", "\0"\r
             VALUE "OriginalFilename", "shibd.exe\0"\r
             VALUE "PrivateBuild", "\0"\r
-            VALUE "ProductName", "Shibboleth 2.3\0"\r
-            VALUE "ProductVersion", "2, 3, 0, 0\0"\r
+            VALUE "ProductName", "Shibboleth 2.3.1\0"\r
+            VALUE "ProductVersion", "2, 3, 1, 0\0"\r
             VALUE "SpecialBuild", "\0"\r
         END\r
     END\r
index dea7654..213f834 100644 (file)
@@ -206,8 +206,8 @@ libshibsp_la_SOURCES = \
 
 # this is different from the project version
 # http://sources.redhat.com/autobook/autobook/autobook_91.html
-libshibsp_la_LDFLAGS = $(XMLSEC_LIBS) -version-info 4:0:0
-libshibsp_lite_la_LDFLAGS = $(LITE_LIBS) -version-info 4:0:0
+libshibsp_la_LDFLAGS = $(XMLSEC_LIBS) -version-info 4:1:0
+libshibsp_lite_la_LDFLAGS = $(LITE_LIBS) -version-info 4:1:0
 libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE
 
 pkgsysconfdir = $(sysconfdir)/@PACKAGE@
index e77133a..9b9d98d 100644 (file)
@@ -127,6 +127,20 @@ namespace shibsp {
             ) const;
         void extractAttributes(
             const Application& application,
+            const char* assertingParty,
+            const char* relyingParty,
+            const saml1::AttributeStatement& statement,
+            vector<Attribute*>& attributes
+            ) const;
+        void extractAttributes(
+            const Application& application,
+            const char* assertingParty,
+            const char* relyingParty,
+            const saml2::AttributeStatement& statement,
+            vector<Attribute*>& attributes
+            ) const;
+        void extractAttributes(
+            const Application& application,
             const ObservableMetadataProvider* observable,
             const XMLCh* entityID,
             const char* relyingParty,
@@ -540,6 +554,32 @@ void XMLExtractorImpl::extractAttributes(
 
 void XMLExtractorImpl::extractAttributes(
     const Application& application,
+    const char* assertingParty,
+    const char* relyingParty,
+    const saml1::AttributeStatement& statement,
+    vector<Attribute*>& attributes
+    ) const
+{
+    const vector<saml1::Attribute*>& attrs = statement.getAttributes();
+    for (vector<saml1::Attribute*>::const_iterator a = attrs.begin(); a!=attrs.end(); ++a)
+        extractAttributes(application, assertingParty, relyingParty, *(*a), attributes);
+}
+
+void XMLExtractorImpl::extractAttributes(
+    const Application& application,
+    const char* assertingParty,
+    const char* relyingParty,
+    const saml2::AttributeStatement& statement,
+    vector<Attribute*>& attributes
+    ) const
+{
+    const vector<saml2::Attribute*>& attrs = statement.getAttributes();
+    for (vector<saml2::Attribute*>::const_iterator a = attrs.begin(); a!=attrs.end(); ++a)
+        extractAttributes(application, assertingParty, relyingParty, *(*a), attributes);
+}
+
+void XMLExtractorImpl::extractAttributes(
+    const Application& application,
     const ObservableMetadataProvider* observable,
     const XMLCh* entityID,
     const char* relyingParty,
@@ -792,6 +832,29 @@ void XMLExtractor::extractAttributes(
     const EntityDescriptor* entity = issuer ? dynamic_cast<const EntityDescriptor*>(issuer->getParent()) : NULL;
     const char* relyingParty = application.getRelyingParty(entity)->getString("entityID").second;
 
+    // Check for statements.
+    if (XMLString::equals(xmlObject.getElementQName().getLocalPart(), saml1::AttributeStatement::LOCAL_NAME)) {
+        const saml2::AttributeStatement* statement2 = dynamic_cast<const saml2::AttributeStatement*>(&xmlObject);
+        if (statement2) {
+            auto_ptr_char assertingParty(entity ? entity->getEntityID() : NULL);
+            m_impl->extractAttributes(application, assertingParty.get(), relyingParty, *statement2, attributes);
+            // Handle EncryptedAttributes inline so we have access to the role descriptor.
+            const vector<saml2::EncryptedAttribute*>& encattrs = statement2->getEncryptedAttributes();
+            for (vector<saml2::EncryptedAttribute*>::const_iterator ea = encattrs.begin(); ea!=encattrs.end(); ++ea)
+                extractAttributes(application, issuer, *(*ea), attributes);
+            return;
+        }
+
+        const saml1::AttributeStatement* statement1 = dynamic_cast<const saml1::AttributeStatement*>(&xmlObject);
+        if (statement1) {
+            auto_ptr_char assertingParty(entity ? entity->getEntityID() : NULL);
+            m_impl->extractAttributes(application, assertingParty.get(), relyingParty, *statement1, attributes);
+            return;
+        }
+
+        throw AttributeExtractionException("Unable to extract attributes, unknown object type.");
+    }
+
     // Check for assertions.
     if (XMLString::equals(xmlObject.getElementQName().getLocalPart(), saml1::Assertion::LOCAL_NAME)) {
         const saml2::Assertion* token2 = dynamic_cast<const saml2::Assertion*>(&xmlObject);
@@ -799,10 +862,8 @@ void XMLExtractor::extractAttributes(
             auto_ptr_char assertingParty(entity ? entity->getEntityID() : NULL);
             const vector<saml2::AttributeStatement*>& statements = token2->getAttributeStatements();
             for (vector<saml2::AttributeStatement*>::const_iterator s = statements.begin(); s!=statements.end(); ++s) {
-                const vector<saml2::Attribute*>& attrs = const_cast<const saml2::AttributeStatement*>(*s)->getAttributes();
-                for (vector<saml2::Attribute*>::const_iterator a = attrs.begin(); a!=attrs.end(); ++a)
-                    m_impl->extractAttributes(application, assertingParty.get(), relyingParty, *(*a), attributes);
-
+                m_impl->extractAttributes(application, assertingParty.get(), relyingParty, *(*s), attributes);
+                // Handle EncryptedAttributes inline so we have access to the role descriptor.
                 const vector<saml2::EncryptedAttribute*>& encattrs = const_cast<const saml2::AttributeStatement*>(*s)->getEncryptedAttributes();
                 for (vector<saml2::EncryptedAttribute*>::const_iterator ea = encattrs.begin(); ea!=encattrs.end(); ++ea)
                     extractAttributes(application, issuer, *(*ea), attributes);
@@ -814,11 +875,8 @@ void XMLExtractor::extractAttributes(
         if (token1) {
             auto_ptr_char assertingParty(entity ? entity->getEntityID() : NULL);
             const vector<saml1::AttributeStatement*>& statements = token1->getAttributeStatements();
-            for (vector<saml1::AttributeStatement*>::const_iterator s = statements.begin(); s!=statements.end(); ++s) {
-                const vector<saml1::Attribute*>& attrs = const_cast<const saml1::AttributeStatement*>(*s)->getAttributes();
-                for (vector<saml1::Attribute*>::const_iterator a = attrs.begin(); a!=attrs.end(); ++a)
-                    m_impl->extractAttributes(application, assertingParty.get(), relyingParty, *(*a), attributes);
-            }
+            for (vector<saml1::AttributeStatement*>::const_iterator s = statements.begin(); s!=statements.end(); ++s)
+                m_impl->extractAttributes(application, assertingParty.get(), relyingParty, *(*s), attributes);
             return;
         }
 
index d69080c..c503f8b 100644 (file)
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 1,3,0,0\r
- PRODUCTVERSION 2,3,0,0\r
+ FILEVERSION 1,3,1,0\r
+ PRODUCTVERSION 2,3,1,0\r
  FILEFLAGSMASK 0x3fL\r
 #ifdef _DEBUG\r
  FILEFLAGS 0x1L\r
@@ -81,8 +81,8 @@ BEGIN
 #endif\r
 #endif\r
             VALUE "PrivateBuild", "\0"\r
-            VALUE "ProductName", "Shibboleth 2.3\0"\r
-            VALUE "ProductVersion", "2, 3, 0, 0\0"\r
+            VALUE "ProductName", "Shibboleth 2.3.1\0"\r
+            VALUE "ProductVersion", "2, 3, 1, 0\0"\r
             VALUE "SpecialBuild", "\0"\r
         END\r
     END\r
index e8707e4..80230ba 100644 (file)
@@ -39,7 +39,7 @@
 
 #define SHIBSP_VERSION_MAJOR 1
 #define SHIBSP_VERSION_MINOR 3
-#define SHIBSP_VERSION_REVISION 0
+#define SHIBSP_VERSION_REVISION 1
 
 /** DO NOT MODIFY BELOW THIS LINE */