if (XMLString::equals((*sc)->getMethod(), SubjectConfirmation::BEARER)) {
const SubjectConfirmationDataType* data = dynamic_cast<const SubjectConfirmationDataType*>((*sc)->getSubjectConfirmationData());
- if (m_destination) {
- if (!XMLString::equals(m_destination, data ? data->getRecipient() : NULL)) {
+ if (m_destination.get()) {
+ if (!XMLString::equals(m_destination.get(), data ? data->getRecipient() : NULL)) {
log.error("bearer confirmation failed with recipient mismatch");
continue;
}
}
- if (m_requestID) {
- if (!XMLString::equals(m_requestID, data ? data->getInResponseTo() : NULL)) {
+ if (m_requestID.get()) {
+ if (!XMLString::equals(m_requestID.get(), data ? data->getInResponseTo() : NULL)) {
log.error("bearer confirmation failed with request correlation mismatch");
continue;
}
BrowserSSOProfileValidator(
const std::vector<const XMLCh*>& audiences,
time_t ts=0,
- const XMLCh* destination=NULL,
- const XMLCh* requestID=NULL
+ const char* destination=NULL,
+ const char* requestID=NULL
) : AssertionValidator(audiences, ts), m_destination(destination), m_requestID(requestID) {
}
virtual ~BrowserSSOProfileValidator() {}
protected:
/** Server location to which assertion was delivered. */
- const XMLCh* m_destination;
+ xmltooling::auto_ptr_XMLCh m_destination;
/** ID of request that resulted in assertions. */
- const XMLCh* m_requestID;
+ xmltooling::auto_ptr_XMLCh m_requestID;
private:
/** Address in confirmed bearer SubjectConfirmationData. */