diff options
29 files changed, 105 insertions, 59 deletions
diff --git a/configure.ac b/configure.ac index 8ebe69b4..ebc6ce8e 100644 --- a/configure.ac +++ b/configure.ac @@ -905,6 +905,7 @@ lasso/saml-2.0/Makefile lasso/id-wsf-2.0/Makefile lasso/xml/Makefile lasso/xml/saml-2.0/Makefile +lasso/xml/soap-1.1/Makefile lasso/xml/id-wsf-2.0/Makefile lasso/xml/ws/Makefile perl/Makefile diff --git a/lasso/Makefile.am b/lasso/Makefile.am index 051993bb..ef65ffa3 100644 --- a/lasso/Makefile.am +++ b/lasso/Makefile.am @@ -72,6 +72,7 @@ else liblasso_la_LIBADD = \ $(top_builddir)/lasso/xml/liblasso-xml.la \ $(top_builddir)/lasso/xml/saml-2.0/liblasso-xml-saml2.la \ + $(top_builddir)/lasso/xml/soap-1.1/liblasso-xml-soap11.la \ $(top_builddir)/lasso/id-ff/liblasso-id-ff.la \ $(top_builddir)/lasso/saml-2.0/liblasso-saml-20.la \ $(WSF_LIB_FILE) \ diff --git a/lasso/id-ff/profileprivate.h b/lasso/id-ff/profileprivate.h index b72b2c1f..e130225d 100644 --- a/lasso/id-ff/profileprivate.h +++ b/lasso/id-ff/profileprivate.h @@ -32,8 +32,6 @@ extern "C" { #include "profile.h" -#include "../xml/soap_envelope.h" - struct _LassoProfilePrivate { char *artifact; diff --git a/lasso/id-wsf-2.0/data_service.c b/lasso/id-wsf-2.0/data_service.c index 79c3146b..865ebad6 100644 --- a/lasso/id-wsf-2.0/data_service.c +++ b/lasso/id-wsf-2.0/data_service.c @@ -50,7 +50,8 @@ #include "../xml/id-wsf-2.0/dstref_create.h" #include "../xml/id-wsf-2.0/dstref_delete.h" -#include "../xml/soap_fault.h" +#include "../xml/soap-1.1/soap_envelope.h" +#include "../xml/soap-1.1/soap_fault.h" #include "../utils.h" #include "./private.h" #include "./idwsf2_helper.h" diff --git a/lasso/id-wsf-2.0/discovery.c b/lasso/id-wsf-2.0/discovery.c index 203d5c57..3f8a715f 100644 --- a/lasso/id-wsf-2.0/discovery.c +++ b/lasso/id-wsf-2.0/discovery.c @@ -43,6 +43,8 @@ #include "../xml/saml_attribute_value.h" #include "../xml/xml_enc.h" +#include "../xml/soap-1.1/soap_fault.h" + #include "../xml/saml-2.0/saml2_assertion.h" #include "../xml/saml-2.0/samlp2_name_id_policy.h" diff --git a/lasso/id-wsf-2.0/profile.c b/lasso/id-wsf-2.0/profile.c index 5086a833..14c97a9a 100644 --- a/lasso/id-wsf-2.0/profile.c +++ b/lasso/id-wsf-2.0/profile.c @@ -40,7 +40,7 @@ #include "profile.h" #include "session.h" -#include "../xml/soap_fault.h" +#include "../xml/soap-1.1/soap_fault.h" #include "../xml/soap_binding_correlation.h" #include "../xml/soap_binding_provider.h" #include "../xml/soap_binding_processing_context.h" diff --git a/lasso/id-wsf-2.0/profile.h b/lasso/id-wsf-2.0/profile.h index 333bcff0..6fdc0e76 100644 --- a/lasso/id-wsf-2.0/profile.h +++ b/lasso/id-wsf-2.0/profile.h @@ -30,7 +30,7 @@ extern "C" { #endif /* __cplusplus */ #include "../id-ff/profile.h" -#include "../xml/soap_envelope.h" +#include "../xml/soap-1.1/soap_envelope.h" #include "../xml/ws/wsa_endpoint_reference.h" #define LASSO_TYPE_IDWSF2_PROFILE (lasso_idwsf2_profile_get_type()) diff --git a/lasso/id-wsf-2.0/soap_binding.h b/lasso/id-wsf-2.0/soap_binding.h index 3c8877b7..c0773137 100644 --- a/lasso/id-wsf-2.0/soap_binding.h +++ b/lasso/id-wsf-2.0/soap_binding.h @@ -30,7 +30,8 @@ extern "C" { #endif /* __cplusplus */ #include "../export.h" -#include "../xml/soap_envelope.h" +#include "../xml/soap-1.1/soap_envelope.h" +#include "../xml/soap-1.1/soap_fault.h" #include "../xml/id-wsf-2.0/sb2_target_identity.h" #include "../xml/ws/wsse_security_header.h" #include "../xml/saml-2.0/saml2_assertion.h" diff --git a/lasso/id-wsf/data_service.c b/lasso/id-wsf/data_service.c index 4a2e0e0b..0476ca8b 100644 --- a/lasso/id-wsf/data_service.c +++ b/lasso/id-wsf/data_service.c @@ -68,7 +68,7 @@ #include "../xml/dst_modify.h" #include "../xml/dst_modify_response.h" #include "../xml/soap_binding_correlation.h" -#include "../xml/soap_fault.h" +#include "../xml/soap-1.1/soap_fault.h" #include "../xml/is_redirect_request.h" #include <xmlsec/xmltree.h> diff --git a/lasso/id-wsf/interaction_profile_service.c b/lasso/id-wsf/interaction_profile_service.c index e9310327..6c4ac2d8 100644 --- a/lasso/id-wsf/interaction_profile_service.c +++ b/lasso/id-wsf/interaction_profile_service.c @@ -24,8 +24,8 @@ #include "./interaction_profile_service.h" #include "./wsf_profile.h" -#include "../xml/soap_detail.h" -#include "../xml/soap_fault.h" +#include "../xml/soap-1.1/soap_detail.h" +#include "../xml/soap-1.1/soap_fault.h" #include "../xml/is_redirect_request.h" #include "../utils.h" diff --git a/lasso/id-wsf/wsf_profile.c b/lasso/id-wsf/wsf_profile.c index 6e5303a3..c6c0c498 100644 --- a/lasso/id-wsf/wsf_profile.c +++ b/lasso/id-wsf/wsf_profile.c @@ -39,7 +39,7 @@ #include "./discovery.h" #include "./utils.h" #include "../xml/disco_modify.h" -#include "../xml/soap_fault.h" +#include "../xml/soap-1.1/soap_fault.h" #include "../xml/soap_binding_correlation.h" #include "../xml/soap_binding_provider.h" #include "../xml/soap_binding_processing_context.h" @@ -50,8 +50,8 @@ #include "../xml/ds_key_info.h" #include "../xml/ds_key_value.h" #include "../xml/ds_rsa_key_value.h" -#include "../xml/soap_fault.h" -#include "../xml/soap_detail.h" +#include "../xml/soap-1.1/soap_fault.h" +#include "../xml/soap-1.1/soap_detail.h" #include "../xml/is_redirect_request.h" #include "../xml/ws/wsse_security_header.h" diff --git a/lasso/id-wsf/wsf_profile.h b/lasso/id-wsf/wsf_profile.h index a5c9227c..8431104a 100644 --- a/lasso/id-wsf/wsf_profile.h +++ b/lasso/id-wsf/wsf_profile.h @@ -33,9 +33,9 @@ extern "C" { #include "../id-ff/server.h" #include "../id-ff/identity.h" #include "../id-ff/session.h" -#include "../xml/soap_envelope.h" +#include "../xml/soap-1.1/soap_envelope.h" #include "../xml/soap_binding_provider.h" -#include "../xml/soap_fault.h" +#include "../xml/soap-1.1/soap_fault.h" #include "../xml/saml_assertion.h" #include "../xml/disco_description.h" #include "../xml/disco_resource_offering.h" diff --git a/lasso/id-wsf/wsf_profile_private.h b/lasso/id-wsf/wsf_profile_private.h index eefc7f34..70f2eb00 100644 --- a/lasso/id-wsf/wsf_profile_private.h +++ b/lasso/id-wsf/wsf_profile_private.h @@ -30,7 +30,7 @@ extern "C" { #endif /* __cplusplus */ -#include "../xml/soap_fault.h" +#include "../xml/soap-1.1/soap_fault.h" struct _LassoWsfProfilePrivate { diff --git a/lasso/xml/Makefile.am b/lasso/xml/Makefile.am index f4a6e544..f1bd5212 100644 --- a/lasso/xml/Makefile.am +++ b/lasso/xml/Makefile.am @@ -1,5 +1,5 @@ MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = saml-2.0 +SUBDIRS = saml-2.0 soap-1.1 if WSF_ENABLED SUBDIRS += id-wsf-2.0 ws endif @@ -188,11 +188,6 @@ liblasso_xml_la_SOURCES = \ samlp_response_abstract.c \ samlp_status.c \ samlp_status_code.c \ - soap_body.c \ - soap_detail.c \ - soap_fault.c \ - soap_envelope.c \ - soap_header.c \ $(WSF_C_FILES) liblassoinclude_HEADERS = \ @@ -247,11 +242,6 @@ liblassoinclude_HEADERS = \ samlp_response_abstract.h \ samlp_status.h \ samlp_status_code.h \ - soap_body.h \ - soap_detail.h \ - soap_fault.h \ - soap_envelope.h \ - soap_header.h \ xml_enc.h \ $(WSF_H_FILES) diff --git a/lasso/xml/soap-1.1/Makefile.am b/lasso/xml/soap-1.1/Makefile.am new file mode 100644 index 00000000..22e6c4b9 --- /dev/null +++ b/lasso/xml/soap-1.1/Makefile.am @@ -0,0 +1,26 @@ +MAINTAINERCLEANFILES = Makefile.in + +liblassoincludedir = $(includedir)/lasso/xml/soap-1.1 + +INCLUDES = \ + -I$(top_builddir) \ + -I$(top_srcdir) \ + $(LASSO_CORE_CFLAGS) \ + -DG_LOG_DOMAIN=\"lasso\" + +noinst_LTLIBRARIES = liblasso-xml-soap11.la + +liblasso_xml_soap11_la_SOURCES = \ + soap_body.c \ + soap_detail.c \ + soap_fault.c \ + soap_envelope.c \ + soap_header.c + +liblassoinclude_HEADERS = \ + soap_body.h \ + soap_detail.h \ + soap_fault.h \ + soap_envelope.h \ + soap_header.h \ + xml_soap11.h diff --git a/lasso/xml/soap_body.c b/lasso/xml/soap-1.1/soap_body.c index 26eb4931..22f089f7 100644 --- a/lasso/xml/soap_body.c +++ b/lasso/xml/soap-1.1/soap_body.c @@ -22,9 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "private.h" -#include "soap_body.h" -#include "private.h" +#include "../private.h" +#include "./soap_body.h" /** * SECTION:soap_body diff --git a/lasso/xml/soap_body.h b/lasso/xml/soap-1.1/soap_body.h index e8591193..7d017743 100644 --- a/lasso/xml/soap_body.h +++ b/lasso/xml/soap-1.1/soap_body.h @@ -29,7 +29,7 @@ extern "C" { #endif /* __cplusplus */ -#include "xml.h" +#include "../xml.h" #define LASSO_TYPE_SOAP_BODY (lasso_soap_body_get_type()) #define LASSO_SOAP_BODY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ diff --git a/lasso/xml/soap_detail.c b/lasso/xml/soap-1.1/soap_detail.c index 1f6e7924..1f5f423a 100644 --- a/lasso/xml/soap_detail.c +++ b/lasso/xml/soap-1.1/soap_detail.c @@ -22,8 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "private.h" -#include "soap_detail.h" +#include "./soap_detail.h" +#include "../private.h" /* * diff --git a/lasso/xml/soap_detail.h b/lasso/xml/soap-1.1/soap_detail.h index 6c477f09..5870564f 100644 --- a/lasso/xml/soap_detail.h +++ b/lasso/xml/soap-1.1/soap_detail.h @@ -29,7 +29,7 @@ extern "C" { #endif /* __cplusplus */ -#include "xml.h" +#include "../xml.h" #define LASSO_TYPE_SOAP_DETAIL (lasso_soap_detail_get_type()) #define LASSO_SOAP_DETAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ diff --git a/lasso/xml/soap_envelope.c b/lasso/xml/soap-1.1/soap_envelope.c index 4ca0e6e0..491c2ed6 100644 --- a/lasso/xml/soap_envelope.c +++ b/lasso/xml/soap-1.1/soap_envelope.c @@ -22,9 +22,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "private.h" -#include "soap_envelope.h" -#include "../utils.h" +#include "../private.h" +#include "./soap_envelope.h" +#include "../../utils.h" /** * SECTION:soap_envelope @@ -103,6 +103,9 @@ lasso_soap_envelope_new_from_message(const gchar *message) g_return_val_if_fail(message != NULL, NULL); envelope = LASSO_SOAP_ENVELOPE(lasso_node_new_from_dump(message)); + if (! LASSO_IS_SOAP_ENVELOPE(envelope)) { + lasso_release_gobject(envelope); + } return envelope; } diff --git a/lasso/xml/soap_envelope.h b/lasso/xml/soap-1.1/soap_envelope.h index 1f6f2e29..18146112 100644 --- a/lasso/xml/soap_envelope.h +++ b/lasso/xml/soap-1.1/soap_envelope.h @@ -29,9 +29,9 @@ extern "C" { #endif /* __cplusplus */ -#include "xml.h" -#include "soap_body.h" -#include "soap_header.h" +#include "../xml.h" +#include "./soap_body.h" +#include "./soap_header.h" #define LASSO_TYPE_SOAP_ENVELOPE (lasso_soap_envelope_get_type()) #define LASSO_SOAP_ENVELOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ diff --git a/lasso/xml/soap_fault.c b/lasso/xml/soap-1.1/soap_fault.c index 6939634e..166f8c6d 100644 --- a/lasso/xml/soap_fault.c +++ b/lasso/xml/soap-1.1/soap_fault.c @@ -22,9 +22,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "./private.h" #include "./soap_fault.h" -#include "../utils.h" +#include "../private.h" +#include "../../utils.h" /** * SECTION:soap_fault diff --git a/lasso/xml/soap_fault.h b/lasso/xml/soap-1.1/soap_fault.h index 144d3164..8d37f545 100644 --- a/lasso/xml/soap_fault.h +++ b/lasso/xml/soap-1.1/soap_fault.h @@ -29,8 +29,8 @@ extern "C" { #endif /* __cplusplus */ -#include "xml.h" -#include "soap_detail.h" +#include "../xml.h" +#include "./soap_detail.h" #define LASSO_TYPE_SOAP_FAULT (lasso_soap_fault_get_type()) #define LASSO_SOAP_FAULT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ diff --git a/lasso/xml/soap_header.c b/lasso/xml/soap-1.1/soap_header.c index 1e1fd3b5..e0809cc6 100644 --- a/lasso/xml/soap_header.c +++ b/lasso/xml/soap-1.1/soap_header.c @@ -22,8 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "private.h" -#include "soap_header.h" +#include "../private.h" +#include "./soap_header.h" /** * SECTION:soap_header diff --git a/lasso/xml/soap_header.h b/lasso/xml/soap-1.1/soap_header.h index efa5e127..8b2872d5 100644 --- a/lasso/xml/soap_header.h +++ b/lasso/xml/soap-1.1/soap_header.h @@ -29,7 +29,7 @@ extern "C" { #endif /* __cplusplus */ -#include "xml.h" +#include "../xml.h" #define LASSO_TYPE_SOAP_HEADER (lasso_soap_header_get_type()) #define LASSO_SOAP_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ diff --git a/lasso/xml/soap-1.1/xml_soap11.h b/lasso/xml/soap-1.1/xml_soap11.h new file mode 100644 index 00000000..36a10b0a --- /dev/null +++ b/lasso/xml/soap-1.1/xml_soap11.h @@ -0,0 +1,34 @@ +/* $Id$ + * + * Lasso - A free implementation of the Liberty Alliance specifications. + * + * Copyright (C) 2004-2007 Entr'ouvert + * http://lasso.entrouvert.org + * + * Authors: See AUTHORS file in top-level directory. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __LASSO_XML_SOAP11_H__ +#define __LASSO_XML_SOAP11_H__ + +#include "./soap_body.h" +#include "./soap_detail.h" +#include "./soap_envelope.h" +#include "./soap_fault.h" +#include "./soap_header.h" + +#endif /* __LASSO_XML_SOAP11_H__ */ diff --git a/lasso/xml/soap_binding.h b/lasso/xml/soap_binding.h index d8c94fc2..14b81892 100644 --- a/lasso/xml/soap_binding.h +++ b/lasso/xml/soap_binding.h @@ -25,9 +25,9 @@ #ifndef __LASSO_SOAP_BINDING_H__ #define __LASSO_SOAP_BINDING_H__ -#include "soap_binding_provider.h" -#include "soap_binding_correlation.h" -#include "soap_envelope.h" +#include "./soap_binding_provider.h" +#include "./soap_binding_correlation.h" +#include "./soap-1.1/soap_envelope.h" #ifdef __cplusplus extern "C" { diff --git a/lasso/xml/xml_idff.h b/lasso/xml/xml_idff.h index 27e332e9..5fc0f0bc 100644 --- a/lasso/xml/xml_idff.h +++ b/lasso/xml/xml_idff.h @@ -75,11 +75,6 @@ #include "./saml_subject_locality.h" #include "./saml_subject_statement_abstract.h" #include "./saml_subject_statement.h" -#include "./soap_body.h" -#include "./soap_detail.h" -#include "./soap_envelope.h" -#include "./soap_fault.h" -#include "./soap_header.h" #include "./strings.h" #include "./xml_enc.h" diff --git a/lasso/xml/xml_idwsf.h b/lasso/xml/xml_idwsf.h index c913734f..68e17418 100644 --- a/lasso/xml/xml_idwsf.h +++ b/lasso/xml/xml_idwsf.h @@ -82,11 +82,6 @@ #include "./soap_binding_processing_context.h" #include "./soap_binding_provider.h" #include "./soap_binding_usage_directive.h" -#include "./soap_body.h" -#include "./soap_detail.h" -#include "./soap_envelope.h" -#include "./soap_fault.h" -#include "./soap_header.h" #include "./utility_status.h" #endif |