X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-opensaml.git;a=blobdiff_plain;f=samltest%2Fbinding.h;h=13cda7d8fe9bfe3808f8c62add1026272bb5165a;hp=a93d40dde4c1096799c383ad01354fcb74f9d6c2;hb=HEAD;hpb=2529fbd4c31cd240fe21946e42fc8f46c75f9f80 diff --git a/samltest/binding.h b/samltest/binding.h index a93d40d..13cda7d 100644 --- a/samltest/binding.h +++ b/samltest/binding.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. * - * 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. */ #include "internal.h" @@ -23,6 +27,8 @@ #include #include #include + +#include #include #include #include @@ -37,9 +43,9 @@ using namespace xmlsignature; class SAMLBindingBaseTestCase : public HTTPRequest, public HTTPResponse { protected: - CredentialResolver* m_creds; - MetadataProvider* m_metadata; - TrustEngine* m_trust; + boost::scoped_ptr m_creds; + boost::scoped_ptr m_metadata; + boost::scoped_ptr m_trust; map m_fields; map m_headers; string m_method,m_url,m_query; @@ -48,9 +54,6 @@ protected: public: void setUp() { - m_creds=NULL; - m_metadata=NULL; - m_trust=NULL; m_fields.clear(); m_headers.clear(); m_method.erase(); @@ -66,10 +69,10 @@ public: auto_ptr_XMLCh path("path"); string s = data_path + "binding/example-metadata.xml"; auto_ptr_XMLCh file(s.c_str()); - doc->getDocumentElement()->setAttributeNS(NULL,path.get(),file.get()); + doc->getDocumentElement()->setAttributeNS(nullptr,path.get(),file.get()); - m_metadata = SAMLConfig::getConfig().MetadataProviderManager.newPlugin( - XML_METADATA_PROVIDER,doc->getDocumentElement() + m_metadata.reset( + SAMLConfig::getConfig().MetadataProviderManager.newPlugin(XML_METADATA_PROVIDER, doc->getDocumentElement()) ); m_metadata->init(); @@ -77,15 +80,15 @@ public: ifstream in2(config.c_str()); DOMDocument* doc2=XMLToolingConfig::getConfig().getParser().parse(in2); XercesJanitor janitor2(doc2); - m_creds = XMLToolingConfig::getConfig().CredentialResolverManager.newPlugin( - FILESYSTEM_CREDENTIAL_RESOLVER,doc2->getDocumentElement() + m_creds.reset( + XMLToolingConfig::getConfig().CredentialResolverManager.newPlugin(FILESYSTEM_CREDENTIAL_RESOLVER, doc2->getDocumentElement()) ); - m_trust = XMLToolingConfig::getConfig().TrustEngineManager.newPlugin(EXPLICIT_KEY_TRUSTENGINE, NULL); + m_trust.reset(XMLToolingConfig::getConfig().TrustEngineManager.newPlugin(EXPLICIT_KEY_TRUSTENGINE, nullptr)); - m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGEFLOW_POLICY_RULE,NULL)); - m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SIMPLESIGNING_POLICY_RULE,NULL)); - m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(XMLSIGNING_POLICY_RULE,NULL)); + m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(MESSAGEFLOW_POLICY_RULE,nullptr)); + m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(SIMPLESIGNING_POLICY_RULE,nullptr)); + m_rules.push_back(SAMLConfig::getConfig().SecurityPolicyRuleManager.newPlugin(XMLSIGNING_POLICY_RULE,nullptr)); } catch (XMLToolingException& ex) { TS_TRACE(ex.what()); @@ -97,13 +100,10 @@ public: void tearDown() { for_each(m_rules.begin(), m_rules.end(), xmltooling::cleanup()); + m_trust.reset(); + m_metadata.reset(); + m_creds.reset(); m_rules.clear(); - delete m_creds; - delete m_metadata; - delete m_trust; - m_creds=NULL; - m_metadata=NULL; - m_trust=NULL; m_fields.clear(); m_headers.clear(); m_method.erase(); @@ -146,7 +146,7 @@ public: } const char* getRequestBody() const { - return NULL; + return nullptr; } const char* getQueryString() const { @@ -172,7 +172,7 @@ public: const char* getParameter(const char* name) const { map::const_iterator i=m_fields.find(name); - return i==m_fields.end() ? NULL : i->second.c_str(); + return i==m_fields.end() ? nullptr : i->second.c_str(); } vector::size_type getParameters(const char* name, vector& values) const { @@ -255,7 +255,7 @@ public: pch+=strlen("action=\""); m_url = html_decode(page.substr(pch-page.c_str(),strchr(pch,'"')-pch)); - while (pch=strstr(pch,"