projects
/
shibboleth
/
opensaml2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add linefeeds to log, add logging of additional inbound messages.
[shibboleth/opensaml2.git]
/
saml
/
saml1
/
binding
/
impl
/
SAML1SOAPDecoder.cpp
diff --git
a/saml/saml1/binding/impl/SAML1SOAPDecoder.cpp
b/saml/saml1/binding/impl/SAML1SOAPDecoder.cpp
index
4d88e7d
..
d60dced
100644
(file)
--- a/
saml/saml1/binding/impl/SAML1SOAPDecoder.cpp
+++ b/
saml/saml1/binding/impl/SAML1SOAPDecoder.cpp
@@
-22,7
+22,7
@@
#include "internal.h"
#include "exceptions.h"
#include "internal.h"
#include "exceptions.h"
-#include "
binding/
MessageDecoder.h"
+#include "
saml1/binding/SAML1
MessageDecoder.h"
#include "saml1/core/Protocols.h"
#include <xmltooling/logging.h>
#include "saml1/core/Protocols.h"
#include <xmltooling/logging.h>
@@
-39,7
+39,7
@@
using namespace std;
namespace opensaml {
namespace saml1p {
namespace opensaml {
namespace saml1p {
- class SAML_DLLLOCAL SAML1SOAPDecoder : public MessageDecoder
+ class SAML_DLLLOCAL SAML1SOAPDecoder : public
SAML1
MessageDecoder
{
public:
SAML1SOAPDecoder() {}
{
public:
SAML1SOAPDecoder() {}
@@
-84,6
+84,7
@@
XMLObject* SAML1SOAPDecoder::decode(
const char* data = genericRequest.getRequestBody();
if (!data)
throw BindingException("SOAP message had an empty request body.");
const char* data = genericRequest.getRequestBody();
if (!data)
throw BindingException("SOAP message had an empty request body.");
+ log.debug("received message:\n%s", data);
istringstream is(data);
// Parse and bind the document into an XMLObject.
istringstream is(data);
// Parse and bind the document into an XMLObject.
@@
-106,17
+107,23
@@
XMLObject* SAML1SOAPDecoder::decode(
if (request) {
// Run through the policy at two layers.
pair<bool,int> minor = request->getMinorVersion();
if (request) {
// Run through the policy at two layers.
pair<bool,int> minor = request->getMinorVersion();
-
policy.evaluate
(
+
extractMessageDetails
(
*env,
*env,
- &genericRequest,
- (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM
+ genericRequest,
+ (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM,
+ policy
);
);
+ policy.evaluate(*env,&genericRequest);
+
+ // Reset, extract, and run again.
policy.reset(true);
policy.reset(true);
-
policy.evaluate
(
+
extractMessageDetails
(
*request,
*request,
- &genericRequest,
- (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM
+ genericRequest,
+ (minor.first && minor.second==0) ? samlconstants::SAML10_PROTOCOL_ENUM : samlconstants::SAML11_PROTOCOL_ENUM,
+ policy
);
);
+ policy.evaluate(*request,&genericRequest);
xmlObject.release();
body->detach(); // frees Envelope
request->detach(); // frees Body
xmlObject.release();
body->detach(); // frees Envelope
request->detach(); // frees Body