X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=shibsp%2Fimpl%2FChainingAccessControl.cpp;h=c3eacc843ba76b836119b3642e9857642b82cedb;hb=44efbaf72f94cbaa256fb044aa2a10d47736721b;hp=60c142905e93458f7436d96df15a5f74012d0ca5;hpb=71dd40b10ff062da51449352ecced4b5a0edde6b;p=shibboleth%2Fcpp-sp.git diff --git a/shibsp/impl/ChainingAccessControl.cpp b/shibsp/impl/ChainingAccessControl.cpp index 60c1429..c3eacc8 100644 --- a/shibsp/impl/ChainingAccessControl.cpp +++ b/shibsp/impl/ChainingAccessControl.cpp @@ -102,12 +102,12 @@ ChainingAccessControl::ChainingAccessControl(const DOMElement* e) throw ConfigurationException("Missing or unrecognized operator in Chaining AccessControl configuration."); try { - e = e ? XMLHelper::getFirstChildElement(e, _AccessControl) : nullptr; + e = XMLHelper::getFirstChildElement(e, _AccessControl); while (e) { - auto_ptr_char type(e->getAttributeNS(nullptr, _type)); - if (type.get() && *type.get()) { - Category::getInstance(SHIBSP_LOGCAT".AccessControl.Chaining").info("building AccessControl provider of type (%s)...", type.get()); - m_ac.push_back(SPConfig::getConfig().AccessControlManager.newPlugin(type.get(), e)); + string t(XMLHelper::getAttrString(e, nullptr, _type)); + if (!t.empty()) { + Category::getInstance(SHIBSP_LOGCAT".AccessControl.Chaining").info("building AccessControl provider of type (%s)...", t.c_str()); + m_ac.push_back(SPConfig::getConfig().AccessControlManager.newPlugin(t.c_str(), e)); } e = XMLHelper::getNextSiblingElement(e, _AccessControl); }