X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-opensaml.git;a=blobdiff_plain;f=saml%2Fsaml1%2Fcore%2Fimpl%2FProtocolsSchemaValidators.cpp;h=9ab7a1d0884620b1f9de1323877aa42ed423f82e;hp=c52e9881e5203868f52d5ef5e3831d27fb9dcc88;hb=e9554c255ad3c91c7c4976e7a1a54905903e66a2;hpb=fe73576ec05a91b1133a2349c8224414a9fc6416 diff --git a/saml/saml1/core/impl/ProtocolsSchemaValidators.cpp b/saml/saml1/core/impl/ProtocolsSchemaValidators.cpp index c52e988..9ab7a1d 100644 --- a/saml/saml1/core/impl/ProtocolsSchemaValidators.cpp +++ b/saml/saml1/core/impl/ProtocolsSchemaValidators.cpp @@ -1,6 +1,6 @@ /* -* Copyright 2001-2006 Internet2 - * +* Copyright 2001-2010 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 @@ -16,7 +16,7 @@ /** * ProtocolsSchemaValidators.cpp - * + * * Schema-based validators for SAML 1.x Protocols classes */ @@ -24,18 +24,22 @@ #include "exceptions.h" #include "saml1/core/Protocols.h" +#include +#include + using namespace opensaml::saml1p; using namespace opensaml::saml1; using namespace opensaml; using namespace xmltooling; using namespace std; +using samlconstants::SAML1P_NS; namespace opensaml { namespace saml1p { - + XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,AssertionArtifact); XMLOBJECTVALIDATOR_SIMPLE(SAML_DLLLOCAL,StatusMessage); - + BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,RespondWith); XMLOBJECTVALIDATOR_REQUIRE(RespondWith,QName); END_XMLOBJECTVALIDATOR; @@ -62,7 +66,7 @@ namespace opensaml { if (!minor.first) throw ValidationException("Request must have MinorVersion"); int count=0; - if (ptr->getQuery()!=NULL) + if (ptr->getQuery()!=nullptr) count++; if (!ptr->getAssertionIDReferences().empty()) count++; @@ -78,10 +82,10 @@ namespace opensaml { BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,Status); XMLOBJECTVALIDATOR_REQUIRE(Status,StatusCode); - const QName* value=ptr->getStatusCode()->getValue(); + const xmltooling::QName* value=ptr->getStatusCode()->getValue(); if (!value || (*value!=StatusCode::SUCCESS && *value!=StatusCode::REQUESTER && *value!=StatusCode::RESPONDER && *value!=StatusCode::VERSIONMISMATCH)) - throw ValidationException("Top-level status code not one of the allowable values."); + throw ValidationException("Top-level status code not one of the allowable values."); END_XMLOBJECTVALIDATOR; BEGIN_XMLOBJECTVALIDATOR(SAML_DLLLOCAL,Response); @@ -96,31 +100,30 @@ namespace opensaml { }; #define REGISTER_ELEMENT(cname) \ - q=QName(SAMLConstants::SAML1P_NS,cname::LOCAL_NAME); \ + q=xmltooling::QName(SAML1P_NS,cname::LOCAL_NAME); \ XMLObjectBuilder::registerBuilder(q,new cname##Builder()); \ - ProtocolSchemaValidators.registerValidator(q,new cname##SchemaValidator()) - + SchemaValidators.registerValidator(q,new cname##SchemaValidator()) + #define REGISTER_TYPE(cname) \ - q=QName(SAMLConstants::SAML1P_NS,cname::TYPE_NAME); \ + q=xmltooling::QName(SAML1P_NS,cname::TYPE_NAME); \ XMLObjectBuilder::registerBuilder(q,new cname##Builder()); \ - ProtocolSchemaValidators.registerValidator(q,new cname##SchemaValidator()) + SchemaValidators.registerValidator(q,new cname##SchemaValidator()) #define REGISTER_ELEMENT_NOVAL(cname) \ - q=QName(SAMLConstants::SAML1P_NS,cname::LOCAL_NAME); \ + q=xmltooling::QName(SAML1P_NS,cname::LOCAL_NAME); \ XMLObjectBuilder::registerBuilder(q,new cname##Builder()); - + #define REGISTER_TYPE_NOVAL(cname) \ - q=QName(SAMLConstants::SAML1P_NS,cname::TYPE_NAME); \ + q=xmltooling::QName(SAML1P_NS,cname::TYPE_NAME); \ XMLObjectBuilder::registerBuilder(q,new cname##Builder()); -ValidatorSuite opensaml::saml1p::ProtocolSchemaValidators("ProtocolSchemaValidators"); - void opensaml::saml1p::registerProtocolClasses() { - QName q; + xmltooling::QName q; REGISTER_ELEMENT(AssertionArtifact); REGISTER_ELEMENT(AttributeQuery); REGISTER_ELEMENT(AuthenticationQuery); REGISTER_ELEMENT(AuthorizationDecisionQuery); + REGISTER_ELEMENT_NOVAL(Query); REGISTER_ELEMENT(Request); REGISTER_ELEMENT(RespondWith); REGISTER_ELEMENT(Response);