X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=shibsp%2Fhandler%2Fimpl%2FSAML2Logout.cpp;h=9a2e71a3af3e93be2d7245f3c942b0c912979acf;hb=b1064255969a89ffc62a65d1c48602a093af6558;hp=4b5da95ca6acdc18c081e4de359b4eaccd250de5;hpb=de69d802633285508137c637c8ddd71db47e5930;p=shibboleth%2Fcpp-sp.git diff --git a/shibsp/handler/impl/SAML2Logout.cpp b/shibsp/handler/impl/SAML2Logout.cpp index 4b5da95..9a2e71a 100644 --- a/shibsp/handler/impl/SAML2Logout.cpp +++ b/shibsp/handler/impl/SAML2Logout.cpp @@ -174,8 +174,14 @@ SAML2Logout::SAML2Logout(const DOMElement* e, const char* appId) MessageEncoder * encoder = conf.MessageEncoderManager.newPlugin( b.get(), pair(e,shibspconstants::SHIB2SPCONFIG_NS) ); - m_encoders[start] = encoder; - m_log.debug("supporting outgoing front-channel binding (%s)", b.get()); + if (encoder->isUserAgentPresent()) { + m_encoders[start] = encoder; + m_log.debug("supporting outgoing binding (%s)", b.get()); + } + else { + delete encoder; + m_log.warn("skipping outgoing binding (%s), not a front-channel mechanism", b.get()); + } } catch (exception& ex) { m_log.error("error building MessageEncoder: %s", ex.what());