Guard against empty RequestedAuthnContext generation.
authorScott Cantor <cantor.2@osu.edu>
Thu, 3 Apr 2008 19:40:27 +0000 (19:40 +0000)
committerScott Cantor <cantor.2@osu.edu>
Thu, 3 Apr 2008 19:40:27 +0000 (19:40 +0000)
shibsp/handler/impl/SAML2SessionInitiator.cpp

index 0454e4d..f4dac41 100644 (file)
@@ -608,8 +608,11 @@ pair<bool,long> SAML2SessionInitiator::doRequest(
             cref->setReference(wideclass.get());
             reqContext->getAuthnContextClassRefs().push_back(cref);
         }
-        if (authnContextComparison &&
-                (!reqContext->getAuthnContextClassRefs().empty() || !reqContext->getAuthnContextDeclRefs().empty())) {
+        
+        if (reqContext->getAuthnContextClassRefs().empty() && reqContext->getAuthnContextDeclRefs().empty()) {
+               req->setRequestedAuthnContext(NULL);
+        }
+        else if (authnContextComparison) {
             auto_ptr_XMLCh widecomp(authnContextComparison);
             reqContext->setComparison(widecomp.get());
         }