| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
WS-Security
* lasso/xml/ws/wsse_security_header.c:
register all namespace that contains a Security header object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/xml/xml.h lasso/xml/xml.c:
add a new public API lasso_node_set_custom_namespace(node, prefix,
href). It allows to set the precise namespace of a single object, all
other instance of the same class continue to use the default
namespace for the class.
It should be used for difficult consumer of certain nodes (like
wsse:Security) which only know certain namespace or do not use the
namespace going with the specified version of a specification (like
MSP not following ID-WSF 1.0 specification and using
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
instead of
http://schemas.xmlsoap.org/ws/2003/06/secext.
It also allows to share implementation of schema objects common to
many version of the same specification (wsse:Security between ID-WSF
1.0 and ID-WSF 2.0), without creating too many child classes.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/xml/misc_text_node.c:
* lasso/xml/misc_text_node.h:
it is often necessary to be able to put completely determined content
inside lasso generated request (for example when copying an assertion
for a Bearer authentication method). In this case you can use
lasso_node_get_original_xml_node to get at the original content and
lasso_misc_text_node_new_with_xml_node to get a LassNode with the
same content.
There are two additional function to acces this xml payload:
lasso_misc_text_node_get_xml_content and
lasso_misc_text_node_set_xml_content.
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/Makefile.am:
* lasso/xml/Makefile.am:
some files were missing from the dist files, add them.
|
|
|
|
|
|
| |
Some new functions were missing from the headers, others were deprecated
some time ago and as the API is not considered stable for ID-WSF, I
removed them definitely.
|
|
|
|
|
|
|
|
| |
not build directory
* lasso/Makefile.am:
the place for errors.c is in the source directory, not the build
directory.
|
|
|
|
|
|
|
| |
* lasso/saml-2.0/login.c:
profile->msg_url is released before being used ;( Restore the code
copying the URL before passing it to
lasso_saml20_profile_build_http_redirect, to free it after.
|
| |
|
|
|
|
|
|
|
|
| |
saml2_evidence.h
* xml/saml-2.0/saml2_advice.h xml/saml-2.0/saml2_evidence.h:
the declaration of LassoSaml2Assertion for supposedly preventing
recursive include is useless now.
|
|
|
|
|
| |
* lasso/errors.h:
remove useless semi-colon
|
|
|
|
|
| |
* lasso/lasso.h:
include lasso/saml-2.0/assertion_query.h
|
|
|
|
|
|
|
|
|
| |
* lasso/xml/xml_idff.h:
this header file reference all id-ff 1.2 elements
* lasso/xml/xml_idwsf.h:
this header file reference all id-wsf 1.0 elements
* lasso/xml/saml-2.0/xml_saml2.h:
this header file reference all saml-2.0 elements
|
|
|
|
|
|
|
| |
* lasso/registry.h:
include of lasso.h is useless, replace by including directly export.h
* lasso/registry.c:
directly include errors.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/Makefile.am:
distribute extract_sections.py
* docs/references/lasso/lasso.types.in: add missing class (mainly SAML2
and ID-WSF 1.0/2.0) from docs/references/lasso.types.in
* lasso/xml/strings.h:
add lots of documentation, or at least documentation template to
strings constants.
* id-ff/login.h:
* saml-2.0/assertion_query.h:
* xml/xml.h:
document undocumented enumerations.
* lasso/errors.h:
add proper documentation about error codes.
* lasso/errors.c:
new version of the lasso_strerror function
* lasso/build_strerror.py:
update the script that generater lasso_strerror from the
documentation comments.
Remove usage of OFTYPE
* lasso/id-ff/session.c:
* lasso/id-ff/session.h:
remove usage of oftype, prefer gtk-introspection annotations instead.
* lasso/id-wsf/data_service.h:
* lasso/id-wsf/data_service.c:
do the same.
Add a script to build lasso-sections.txt
* lasso/extract_sections.py:
this script parses header files and generated lasso-sections.txt
content for GObject class descriptions.
Add a template file for the lasso-section.txt file
* docs/references/lasso-sections.txt.in:
this file serves as a base for the generation of lasso-sections.txt
Update docs/references/Makefile.am for generating lasso-sections.txt
* docs/references/Makefile.am:
always rebuild template, using out of source build directory is too
weird without it.
call new script extract_sections.py to regenerate lasso-sections.txt
if header files changed.
Update lasso.sgml file with all missing sections
* docs/reference/lasso.sgml:
add all missing sections, mainly objects from XML schemas.
* docs/reference/lasso-sections.txt: update it
* *.c: add section documentation to some files.
* lasso/xml/strings.h: fix bad usage or docbook markup
|
|
|
|
|
| |
* lasso/Makefile.am:
errors.h is expected to be in srcdir not builddir.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am:
use new automake-1.11 silent rules if possible
move macros to m4 directory
* m4/gtk-doc.m4:
add gtk-doc macros.
* lasso/Makefile.am:
add missing -f flag to rm, to unbreak make distcheck
* docs/references/Makefile.am:
fix problem between libtool and gtk-doc
* autogen.sh:
update to autogen.sh from gtk-doc, add support for automake-1.11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use Coccinelle semantic patch tool (http://coccinelle.lip6.fr/) to
remove useless instance_init functions, the first patch applied was:
@@
type T,V;
identifier I, J;
parameter list P;
expression E1;
@@
V instance_init(T node)
{
<...
(
- E1 = 0;
|
- E1 = NULL;
|
- E1 = FALSE;
)
...>
}
It removes useless initialization to 0 (GObject already zeroes
allocated objects).
The second one is:
@ rule1 @
type T;
identifier node,fn;
@@
- static void fn(T *node) { }
@ rule2 extends rule1 @
typedef GType, GInstanceInitFunc;
identifier type_constructor;
@@
GType type_constructor()
{
<...
- (GInstanceInitFunc)fn
+ NULL
...>
}
It removes empty instance_init functions.
|
|
|
|
|
|
| |
* lasso/xml/id-wsf-2.0/sb2_target_identity.c:
* lasso/xml/id-wsf-2.0/sb2_target_identity.h:
add support for any content.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* nearly all C files: change includes for relative paths.
* lasso/id-wsf/id_wsf.h, lasso/id-wsf-2.0/id_wsf_2.h: add top level
public include files for ID-WSF 1.0 and ID-WSF 2.0.
* lasso/id-ff/server.*, lasso/id-ff/session.*, lasso/id-ff/identity.*:
remove most of the code related to ID-WSF and push into
lasso/id-wsf/id_ff_extensions.* and lasso/id-wsf-2.0/identity.c,
lasso/id-wsf-2.0/server.c, lasso/id-wsf-2.0/session.c.
* lasso/id-wsf-2.0/saml2_login.c,
lasso/id-wsf-2.0/saml2_login_private.h: same change but for ID-WSF
2.0 support in SAML2 SSO profile.
|
|
|
|
|
|
| |
* lasso/xml/saml-2.0/saml2_encrypted_element.h:
xmlSecKey is present in a function signature, so include
xmlsec/xmlsec.h.
|
|
|
|
|
| |
* lasso/xml/Makefile.am:
put id-wsf and id-wsf2 subdirs under a conditionnal.
|
|
|
|
|
| |
* lasso/id-wsf/Makefile.am:
remove data_service_private.h from header file list.
|
|
|
|
|
|
|
|
| |
* extract_symbols.py, extract_types.py:
export SOAP types whatever the value of the flag --enable-wsf.
It still worked because constructor for GObject calls get_type, but
there is a race condition: if you receive a SOAP message before
sending one, it fails. Only soap_binding types must be removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* id-ff/session.h: seal public fields.
* id-ff/session.c, id-ff/sessionprivate.h: add accessors for reading
the is_dirty flag and counting store assertions.
* id-ff/logout.c, id-ff/login.c, saml-2.0/login.c, saml-2.0/logout.c,
saml-2.0/profile.c: use the new accessors.
* id-ff/profile.c: include the private header file, use the new
accessors, and remove unnecessary setting of is_dirty to FALSE (it
should be false at instanciation).
* utils.h: add a macro to access private content, prepare for using
G_TYPE_INSTANCE_GET_PRIVATE and the GObject infrastructure for
private structures eventually.
|
|
|
|
| |
- lasso/id-wsf-2.0/discovery.c: remove unused variable in discovery.c
|
|
|
|
|
|
|
| |
* lasso/utils.h:
- rename lasso_unlink_and_release_node to
lasso_release_list_of_xml_node.
- add a GList iteration macro: lasso_foreach.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Migrate lots of code to use new utility macros. Try to simplify most
code paths or to factorize with LassoWsfProfile.
* lasso/id-wsf/wsf_profile.c:
Add API:
- lasso_wsf_profile_build_soap_response_msg to build SOAP fault for
Lasso errors,
- lasso_wsf_profile_set_msg_url_from_description, to set the
destination URL using the chosen LassoDiscoDescription (with
respect to the security mechanism),
- lasso_wsf_profile_init_soap_response to initialize a response to
the current request, to use in sub classes,
- lasso_wsf_profile_get_remote_provider_id, retrieve the SOAP
binding corresponding information,
- lasso_wsf_profile_get_remote_provider, simplification of
lasso_wsf_profile_get_remote_provider_id,
- lasso_wsf_profile_get_soap_fault, retrieve the last setted SOAP
fault, used by sub classes,
- lasso_wsf_profile_set_soap_fault, set a SOAP fault, to be returned
by the next call by lasso_wsf_profile_build_soap_response_msg, to
use in sub classes,
- lasso_wsf_profile_set/get_status_code, set/get the stored status
code, to use in the next lasso_xxx_build_response_message, to use
in sub classes.
Change name lasso_wsf_profile_get_description_autos to
lasso_wsf_profile_get_description_auto.
Do not access directly the session is_dirty field (it has been
sealed).
* lasso/id-wsf/wsf_profile.h:
Add helper macro lasso_wsf_profile_helper_set_status to set status
code of an ID-WSF response message containing a Status element using
the stored status code.
* lasso/id-wsf/wsf_profile_private.h:
Add new fields (moved public fields).
Add lasso_wsf_profile_set_msg_url_from_description,
lasso_wsf_profile_build_soap_fault_response_msg.
* lasso/id-wsf/data_service_private.h:
Remove file.
* lasso/id-wsf/data_service.h: Remove all public fields.
* lasso/id-wsf/data_service.c:
Remove private structure. Use the equivalents LassoWsfProfile private
fields. Update documentation. Use LassoWsfProfile generic functions
for initializing requests. Add API lasso_data_service_get_query_item,
lasso_data_service_get_answers, lasso_data_service_get_answer,
lasso_data_service_get_answers_by_select,
lasso_data_service_get_answer_for_item_id,
lasso_data_service_add_modification.
Remove lasso_data_service_need_redirect_user use equivalent function
lasso_interaction_profile_service_build_redirect_response_msg. Remove
lasso_data_service_get_resource_offering,
lasso_data_service_set_offering.
* lasso/id-wsf/discovery.c:
Add documentation. Change some signatures. Remove
lasso_discovery_get_description_auto. Change name of
lasso_discovery_init_insert to lasso_discovery_init_modify. Add a
generic lasso_discovery_process_request_msg.
Add internal function lasso_discovery_init_offering, to get
automatically an offering if possible. Remove useless init_from_xml.
Rework lasso_discovery_build_credential implementation.
overloading. Remove lasso_discovery_destroy.
* lasso/id-wsf/discovery.h:
Remove lasso_discovery_destroy.
* lasso/id-wsf/interaction_profile_service.c:
Add lasso_interaction_profile_service_build_redirect_response_msg.
* lasso/id-wsf/personal_profile_service.c:
Update lasso_personal_profile_service_get_email to use
lasso_data_service_get_answers_by_select.
* lasso/xml/dst_modify.c:
make modification parameter optional to the constructor.
|
|
|
|
|
|
|
|
|
| |
* lasso/errors.h lasso/errors.c:
add error types: LASSO_ERROR_CAST_FAILED,
LASSO_DATA_SERVICE_CANNOT_ADD_ITEM,
LASSO_WSF_PROFILE_ERROR_INVALID_OR_MISSING_REFERENCE_TO_MESSAGE_ID,
LASSO_DST_ERROR_QUERY_NOT_FOUND, LASSO_DST_ERROR_NO_DATA,
LASSO_DST_ERROR_MALFORMED_QUERY.
|
|
|
|
|
|
| |
* xml/private.h:
* xml/tools.c:
add util function to format time_t values in the ISO 8601 format.
|
|
|
|
|
|
|
| |
* xml/saml-2.0/saml2_attribute_value.h:
add new public field GHashTable *attributes;
* xml/saml-2.0/saml2_attribute_value.c:
add parsing instructions to populate attributes field.
|
|
|
|
|
| |
* lasso/xml/tools.c: add documentation for xpath helper evaluation
function lasso_eval_xpath_expression.
|
|
|
|
|
| |
* lasso/xml/strings.h: add new string constant
LASSO_SOAP_FAULT_CODE_CLIENT.
|
|
|
|
|
| |
* lasso/xml/id-wsf-2.0/disco_svc_md_register.c: add documentation
for constructor function lasso_idwsf2_disco_svc_md_register_new_full.
|
|
|
|
|
| |
* lasso/errors.{c,h}: add a new error for the ID-WSF 1.0 module, to
signal unknown entry in discovery responses.
|
|
|
|
|
|
|
|
| |
lasso_wsf_profile_init_soap_request
* lasso/id-wsf/wsf_profile.c (lasso_wsf_profile_init_soap_request):
envelope is an argument, increment its ref count
before storing it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lasso_wsf_profile_comply_with_saml_authentication
* lasso/id-wsf/wsf_profile.c
(lasso_wsf_profile_comply_with_saml_authentication):
reuse existing wsse-security element if present,
remove useless comments, move core code after argument type checks,
return error if enveloppe or header is missing,
fail if any referenced assertion is missing,
correctly handle reference count of wsse_security depending on
the situation (new or reused).
|
|
|
|
|
|
| |
* lasso/id-wsf/discovery.c (lasso_discovery_add_insert_entry):
the rule is that callee is responsible for becoming owner of a resource,
so no g_object_ref before a call on an argument.
|
|
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/profile.c, lasso/id-wsf-2.0/profile.h
(lasso_idwsf2_profile_build_soap_envelope):
as for ID-WSF 1.0 export this function to allow easier implementation
of external ID-WSF 2.0 services. remove FIXME comment and fill
equivalent bugzilla reports.
|
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/discovery.c
(lasso_idwsf2_discovery_process_metadata_register_response_msg):
change return code variable to rc, move argument casting after argument
type check, copy all the service metadata ids,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/discovery.c
(lasso_idwsf2_discovery_init_metadata_register):
add documentation comment, move argument casting after type checking,
change return code name to rc to comply with standardisation,
use lasso_build_unique_id instead of duplicating the code,
add iteration over all the registered service, add iteration
to return all the generated service metadata ids, use new assignment
macros.
* lasso/id-wsf-2.0/discovery.h (struct _LassoIdWsf2Discovery):
change field LassoIdWsf2DiscoSvcMetadata metadata to GList* metadatas
and gchar *svcMDID to GList *svcMDIDs in order to support multiple
services in requests.
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/discovery.c
(lasso_idwsf2_discovery_metadata_register_self):
Add documentation, add code for getting the service URL.
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/discovery.c (lasso_idwsf2_discovery_register_self)
move casting after argument type check, simplify code by using
lasso_build_unique_id, remove useless comments
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/discovery.c: (get_xmlNode, instance_init, class_init)
remove useless method get_xmlNode, remove useless NULLing or
instance fields.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lasso/id-wsf-2.0/data_service.c (lasso_idwsf2_data_service_init_query,
lasso_idwsf2_data_service_parse_query_items,
lasso_idwsf2_data_service_init_modify,
lasso_idwsf2_data_service_parse_one_modify_item,
lasso_idwsf2_data_service_parse_modify_items):
add cast, change macros for stealing version, fix name of macro
* lasso/id-wsf-2.0/profile.c: (lasso_idwsf2_profile_init_soap_request)
use list handling macro, add missing casts
* lasso/id-wsf-2.0/discovery.c:
(lasso_idwsf2_discovery_process_metadata_association_add_msg,
lasso_idwsf2_discovery_init_query) add missing casts
|
|
|
|
|
|
|
|
| |
- lasso/xml/id-wsf-2.0/utils_status.h (lasso_idwsf2_util_status_new_with_code):
this constructor allow to construct and fill a UtilStatus node with
one line. It has two arguments to construct nested two level
status objects (with two status codes). If you omit the second
argument you get a one level status object.
|
| |
|
|
|
|
|
|
|
|
| |
- lasso/id-wsf-2.0/data_service.c:
- lasso_idwsf2_data_service_parse_query_items: use the new API to
remove error outputs from libxml, and generate an additional status
code containing newly returned libxml error code.
- lasso_idwsf2_data_service_parse_one_modify_item: use the new API.
|