summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-04-06 13:10:53 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-04-06 13:10:53 +0000
commite041252a4dcfeee85fbeb21ada7d2de5fc1a69fd (patch)
tree7d3bdb328fc2e995e7d927940ed986a40a9b5fae
parent7d9159dea8e7b2284d6f181c17310a611fd81ed5 (diff)
downloadlasso-e041252a4dcfeee85fbeb21ada7d2de5fc1a69fd.tar.gz
lasso-e041252a4dcfeee85fbeb21ada7d2de5fc1a69fd.tar.xz
lasso-e041252a4dcfeee85fbeb21ada7d2de5fc1a69fd.zip
Make lasso_node_get_xmlNode return original_xmlnode if there is one
* lasso/xml/xml.c: this change allow session to contain exact copy of received assertion (and not the one lacking signatures) and also to put those assertions directly into message, for example as ID-WSF credentials. But it could have side effect, so for now I will no merge it.
-rw-r--r--lasso/xml/xml.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c
index 5bebbef2..c2e8830b 100644
--- a/lasso/xml/xml.c
+++ b/lasso/xml/xml.c
@@ -686,8 +686,13 @@ xmlNode*
lasso_node_get_xmlNode(LassoNode *node, gboolean lasso_dump)
{
LassoNodeClass *class;
+ xmlNode *original_xmlnode;
g_return_val_if_fail (LASSO_IS_NODE(node), NULL);
class = LASSO_NODE_GET_CLASS(node);
+ original_xmlnode = lasso_node_get_original_xmlnode(node);
+ if (original_xmlnode) {
+ return xmlCopyNode(original_xmlnode, 1);
+ }
return class->get_xmlNode(node, lasso_dump);
}