From: Scott Cantor Date: Fri, 10 Aug 2007 03:50:06 +0000 (+0000) Subject: Favor ResponseLocation in metadata. X-Git-Tag: 2.0-beta1~60 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=89f348e4ca77aacdfca9478e3d8fdc33c8cf657f;p=shibboleth%2Fcpp-sp.git Favor ResponseLocation in metadata. --- diff --git a/shibsp/handler/impl/SAML2Logout.cpp b/shibsp/handler/impl/SAML2Logout.cpp index 3f863c6..8efe4ab 100644 --- a/shibsp/handler/impl/SAML2Logout.cpp +++ b/shibsp/handler/impl/SAML2Logout.cpp @@ -589,14 +589,18 @@ pair SAML2Logout::sendResponse( // Prepare response. auto_ptr logout(LogoutResponseBuilder::buildLogoutResponse()); logout->setInResponseTo(requestID); - if (ep) - logout->setDestination(ep->getLocation()); + if (ep) { + const XMLCh* loc = ep->getResponseLocation(); + if (!loc || !*loc) + loc = ep->getLocation(); + logout->setDestination(loc); + } Issuer* issuer = IssuerBuilder::buildIssuer(); logout->setIssuer(issuer); issuer->setName(application.getXMLString("entityID").second); fillStatus(*logout.get(), code, subcode, msg); - auto_ptr_char dest(ep ? ep->getLocation() : NULL); + auto_ptr_char dest(logout->getDestination()); long ret = sendMessage(*encoder, logout.get(), relayState, dest.get(), role, application, httpResponse, "signResponses"); logout.release(); // freed by encoder