[cpp-sp COMMIT] in /branches/REL_2/shibsp: attribute/filtering/impl/ChainingAttributeFilter.cpp attribute/resolver/im...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jan 11 19:54:17 GMT 2012


Author: scantor
Date: Wed Jan 11 19:54:17 2012
New Revision: 3559

URL: http://svn.shibboleth.net/view/cpp-sp?rev=3559&view=rev
Log:
Old boost version doesn't support push_back with auto_ptr

Modified:
    branches/REL_2/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp
    branches/REL_2/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp
    branches/REL_2/shibsp/util/CGIParser.cpp

Modified: branches/REL_2/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp
URL: http://svn.shibboleth.net/view/cpp-sp/branches/REL_2/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp?rev=3559&r1=3558&r2=3559&view=diff
==============================================================================
--- branches/REL_2/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp (original)
+++ branches/REL_2/shibsp/attribute/filtering/impl/ChainingAttributeFilter.cpp Wed Jan 11 19:54:17 2012
@@ -81,7 +81,8 @@
         if (!t.empty()) {
             Category::getInstance(SHIBSP_LOGCAT".AttributeFilter.Chaining").info("building AttributeFilter of type (%s)...", t.c_str());
             auto_ptr<AttributeFilter> np(SPConfig::getConfig().AttributeFilterManager.newPlugin(t.c_str(), e));
-            m_filters.push_back(np);
+            m_filters.push_back(np.get());
+            np.release();
         }
         e = XMLHelper::getNextSiblingElement(e, _AttributeFilter);
     }

Modified: branches/REL_2/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp
URL: http://svn.shibboleth.net/view/cpp-sp/branches/REL_2/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp?rev=3559&r1=3558&r2=3559&view=diff
==============================================================================
--- branches/REL_2/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp (original)
+++ branches/REL_2/shibsp/attribute/resolver/impl/XMLAttributeExtractor.cpp Wed Jan 11 19:54:17 2012
@@ -446,7 +446,8 @@
     if ((rule = m_attrMap.find(pair<xstring,xstring>(format,xstring()))) != m_attrMap.end()) {
         auto_ptr<Attribute> a(rule->second.first->decode(rule->second.second, &nameid, assertingParty, relyingParty));
         if (a.get()) {
-            attributes.push_back(a);
+            attributes.push_back(a.get());
+            a.release();
         }
     }
     else if (m_log.isDebugEnabled()) {
@@ -470,7 +471,8 @@
     if ((rule = m_attrMap.find(pair<xstring,xstring>(format,xstring()))) != m_attrMap.end()) {
         auto_ptr<Attribute> a(rule->second.first->decode(rule->second.second, &nameid, assertingParty, relyingParty));
         if (a.get()) {
-            attributes.push_back(a);
+            attributes.push_back(a.get());
+            a.release();
         }
     }
     else if (m_log.isDebugEnabled()) {
@@ -497,7 +499,8 @@
     if ((rule = m_attrMap.find(pair<xstring,xstring>(name,format))) != m_attrMap.end()) {
         auto_ptr<Attribute> a(rule->second.first->decode(rule->second.second, &attr, assertingParty, relyingParty));
         if (a.get()) {
-            attributes.push_back(a);
+            attributes.push_back(a.get());
+            a.release();
         }
     }
     else if (m_log.isInfoEnabled()) {
@@ -527,7 +530,8 @@
     if ((rule = m_attrMap.find(pair<xstring,xstring>(name,format))) != m_attrMap.end()) {
         auto_ptr<Attribute> a(rule->second.first->decode(rule->second.second, &attr, assertingParty, relyingParty));
         if (a.get()) {
-            attributes.push_back(a);
+            attributes.push_back(a.get());
+            a.release();
             return;
         }
     }
@@ -563,7 +567,7 @@
         ) const = &XMLExtractorImpl::extractAttributes;
     for_each(
         make_indirect_iterator(statement.getAttributes().begin()), make_indirect_iterator(statement.getAttributes().end()),
-        boost::bind(extract, this, boost::ref(application), assertingParty, relyingParty, _1, boost::ref(attributes))
+        boost::bind(extract, this, boost::cref(application), assertingParty, relyingParty, _1, boost::ref(attributes))
         );
 }
 
@@ -580,7 +584,7 @@
         ) const = &XMLExtractorImpl::extractAttributes;
     for_each(
         make_indirect_iterator(statement.getAttributes().begin()), make_indirect_iterator(statement.getAttributes().end()),
-        boost::bind(extract, this, boost::ref(application), assertingParty, relyingParty, _1, boost::ref(attributes))
+        boost::bind(extract, this, boost::cref(application), assertingParty, relyingParty, _1, boost::ref(attributes))
         );
 }
 
@@ -638,7 +642,8 @@
                 for (vector<DDF>::iterator obj = d->second.begin(); obj != d->second.end(); ++obj) {
                     auto_ptr<Attribute> wrapper(Attribute::unmarshall(*obj));
                     m_log.debug("recovered cached metadata attribute (%s)", wrapper->getId());
-                    attributes.push_back(wrapper);
+                    attributes.push_back(wrapper.get());
+                    wrapper.release();
                 }
                 break;
             }
@@ -787,7 +792,8 @@
                             while (!unsafe_holding2.empty()) {

[... 26 lines stripped ...]


More information about the commits mailing list