diff -ur opensaml-2.5.2_orig/saml/saml2/metadata/impl/EntityAttributesEntityMatcher.cpp opensaml-2.5.2/saml/saml2/metadata/impl/EntityAttributesEntityMatcher.cpp --- opensaml-2.5.2_orig/saml/saml2/metadata/impl/EntityAttributesEntityMatcher.cpp 2012-12-04 04:42:26.000000000 +0000 +++ opensaml-2.5.2/saml/saml2/metadata/impl/EntityAttributesEntityMatcher.cpp 2013-04-13 09:52:48.946736269 +0100 @@ -107,7 +107,7 @@ DOMElement* child = XMLHelper::getFirstChildElement(e, samlconstants::SAML20_NS, Attribute::LOCAL_NAME); while (child) { boost::shared_ptr<XMLObject> obj(AttributeBuilder::buildOneFromElement(child)); - m_tags.push_back(boost::shared_dynamic_cast<Attribute>(obj)); + m_tags.push_back(boost::dynamic_pointer_cast<Attribute>(obj)); child = XMLHelper::getNextSiblingElement(child, samlconstants::SAML20_NS, Attribute::LOCAL_NAME); } diff -ur opensaml-2.5.2_orig/saml/saml2/metadata/impl/EntityAttributesMetadataFilter.cpp opensaml-2.5.2/saml/saml2/metadata/impl/EntityAttributesMetadataFilter.cpp --- opensaml-2.5.2_orig/saml/saml2/metadata/impl/EntityAttributesMetadataFilter.cpp 2012-07-23 21:08:11.000000000 +0100 +++ opensaml-2.5.2/saml/saml2/metadata/impl/EntityAttributesMetadataFilter.cpp 2013-04-13 09:52:48.937736164 +0100 @@ -84,7 +84,7 @@ while (child) { if (XMLHelper::isNodeNamed(child, samlconstants::SAML20_NS, Attribute::LOCAL_NAME)) { boost::shared_ptr<XMLObject> obj(AttributeBuilder::buildOneFromElement(child)); - m_attributes.push_back(boost::shared_dynamic_cast<Attribute>(obj)); + m_attributes.push_back(boost::dynamic_pointer_cast<Attribute>(obj)); } else if (XMLString::equals(child->getLocalName(), Entity)) { const XMLCh* eid = child->getTextContent();