summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* SWIG: implement change to LassoSession in the SWIG interface fileBenjamin Dauvergne2009-08-261-7/+5
| | | | | | * swig/Lasso.i: remove LassoSession::is_dirty attribute and rewrite the getProviderIds function.
* XML: only recurse into xml/id-wsf subdirs if --enable-wsf is trueBenjamin Dauvergne2009-08-261-1/+4
| | | | | * lasso/xml/Makefile.am: put id-wsf and id-wsf2 subdirs under a conditionnal.
* ID-WSF 1.0: remove absent header file from the Makefile.amBenjamin Dauvergne2009-08-261-1/+0
| | | | | * lasso/id-wsf/Makefile.am: remove data_service_private.h from header file list.
* Core: SOAP is also used by SAML bindingsBenjamin Dauvergne2009-08-263-12/+12
| | | | | | | | * 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&Core: Seal public field of LassoSessionBenjamin Dauvergne2009-08-2610-39/+81
| | | | | | | | | | | | | | | | | | * 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.
* ID-WSF 2.0: remove unused variableBenjamin Dauvergne2009-08-261-4/+0
| | | | - lasso/id-wsf-2.0/discovery.c: remove unused variable in discovery.c
* Core: fix bad name of lasso_unlink_and_release_nodeBenjamin Dauvergne2009-08-261-1/+4
| | | | | | | * lasso/utils.h: - rename lasso_unlink_and_release_node to lasso_release_list_of_xml_node. - add a GList iteration macro: lasso_foreach.
* ID-WSF: Lots of modificationsBenjamin Dauvergne2009-08-2611-1298/+1633
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Core: Add new error typesBenjamin Dauvergne2009-08-262-5/+18
| | | | | | | | | * 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: Add time formatting function for ISO 8601 formatBenjamin Dauvergne2009-08-262-7/+19
| | | | | | * xml/private.h: * xml/tools.c: add util function to format time_t values in the ISO 8601 format.
* XML: Add any attribute parsing to Saml2AttributeValueBenjamin Dauvergne2009-08-262-0/+3
| | | | | | | * 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.
* XML: add documentation for lasso_eval_xpath_expressionBenjamin Dauvergne2009-08-261-0/+14
| | | | | * lasso/xml/tools.c: add documentation for xpath helper evaluation function lasso_eval_xpath_expression.
* XML: add string constant for client soap errorsBenjamin Dauvergne2009-08-261-0/+2
| | | | | * lasso/xml/strings.h: add new string constant LASSO_SOAP_FAULT_CODE_CLIENT.
* XML: add documentation for lasso_idwsf2_disco_svc_md_register_new_fullBenjamin Dauvergne2009-08-261-0/+12
| | | | | * lasso/xml/id-wsf-2.0/disco_svc_md_register.c: add documentation for constructor function lasso_idwsf2_disco_svc_md_register_new_full.
* ID-WSF 1.0: Add new error to signal unknown entryBenjamin Dauvergne2009-08-262-0/+5
| | | | | * lasso/errors.{c,h}: add a new error for the ID-WSF 1.0 module, to signal unknown entry in discovery responses.
* SWIG Binding: reflect changes in the signature of struct LassoIdWsfDiscoveryBenjamin Dauvergne2009-08-261-9/+9
| | | | | | * swig/Lasso-wsf2.i (LassoIdWsfDiscovery): add new fields metadatas and svcMDIDS, remove old ones (metadata and svcMDID).
* ID-WSF 1.0: fix off-by one ref counting error in ↵Benjamin Dauvergne2009-08-261-1/+1
| | | | | | | | 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.
* ID-WSF 1.0: improve error recovery in ↵Benjamin Dauvergne2009-08-261-18/+39
| | | | | | | | | | | | | 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).
* ID-WSF 1.0: fix memory leakBenjamin Dauvergne2009-08-261-1/+0
| | | | | | * 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.
* ID-WSF 2.0: publicize lasso_idwsf2_profile_build_soap_envelopeBenjamin Dauvergne2009-08-262-10/+5
| | | | | | | | * 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.
* ID-WSF 2.0: review lasso_idwsf2_discovery_process_metadata_register_response_msgBenjamin Dauvergne2009-08-261-10/+10
| | | | | | | * 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,
* ID-WSF 2.0: review lasso_idwsf2_discovery_process_metadata_register_msgBenjamin Dauvergne2009-08-262-36/+52
| | | | | | | | | | | | | | | * 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.
* ID-WSF 2.0: review lasso_idwsf2_discovery_metadata_register_selfBenjamin Dauvergne2009-08-261-3/+3
| | | | | | * lasso/id-wsf-2.0/discovery.c (lasso_idwsf2_discovery_metadata_register_self): Add documentation, add code for getting the service URL.
* ID-WSF 2.0: add documentation to lasso_idwsf2_discovery_register_selfBenjamin Dauvergne2009-08-261-11/+5
| | | | | | * 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
* ID-WSF 2.0: simplify gobject boilerplateBenjamin Dauvergne2009-08-261-16/+0
| | | | | | * lasso/id-wsf-2.0/discovery.c: (get_xmlNode, instance_init, class_init) remove useless method get_xmlNode, remove useless NULLing or instance fields.
* ID-WSF 2.0: use new macrosBenjamin Dauvergne2009-08-263-5/+5
| | | | | | | | | | | | | | * 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
* ID-WSF 2.0: add a new constructor for UtilStatusBenjamin Dauvergne2009-08-262-0/+28
| | | | | | | | - 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.
* ID-WSF 2.0: add initialization of local variablesBenjamin Dauvergne2009-08-261-3/+3
|
* ID-WSF 2.0: Use new XPath API in DSTBenjamin Dauvergne2009-08-261-24/+30
| | | | | | | | - 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.
* XML: add API to simplify evaluation of XPath expressionsBenjamin Dauvergne2009-08-262-0/+42
| | | | | | | | | | | | | * lasso/xml/tools.c,lasso/xml/private.h: - lasso_eval_xpath_expression(xmlXPathContextPtr xpathCtx, const char *expression, xmlXPathObjectPtr *xpathObjectPtr, int *xpathErrorCode) is a boolean returning function handling call to libxml API to evaluate en XPath expression in the xpathCtx context. It eventually save the returned nodeset in the variable pointed by xpathObjectPtr if it is not-NULL (and eventually deallocate previous value) and if an error happend it copy its code into the variable pointed to by xpathErrorCode if it is not NULL.
* Tests: Add a fourth data loading testBenjamin Dauvergne2009-08-262-0/+60
| | | | | * tests/data/response-4: test content * tests/tests2.c: add loading of the new file.
* Only recurse into id-wsf if it is enabledBenjamin Dauvergne2009-07-061-1/+4
| | | | | * lasso/Makefile.am: only add id-wsf and id-wsf-2.0 to SUBDIRS if wsf is enabled.
* Fix: backward_comp.h is missing from tarballs.Benjamin Dauvergne2009-07-061-1/+1
| | | | | * lasso/Makefile.am: add backward_comp.h to EXTRA_DIST
* Python Binding: fix bug of uninitialized ppos argument to PyDict_NextBenjamin Dauvergne2009-06-151-2/+3
| | | | | | | | | | * bindings/pyhton/wrapper_top.c (set_hashtable_of_pygobject): second argument (int*ppos) of PyDict_Next must be reinitialized to zero before each traversal (see Python C API http://docs.python.org/c-api/dict.html). Patch from Iban Rodríguez of the Desarrollo de Producto Electrónico, Spain.
* Update doap fileBenjamin Dauvergne2009-06-151-0/+10
|
* Do not remove signatures on assertion when using HTTP RedirectBenjamin Dauvergne2009-06-151-2/+1
| | | | | | | * lasso/saml-2.0/profile.c: HTTP Redirect binding mandate to remove signature at the SAML message level, but signatures at the assertion, especially if the SP asked for it, must be preserved.
* Fix bug in lasso_registry_destroy / shutdownBenjamin Dauvergne2009-05-071-1/+4
| | | | | * lasso/registry.c: if not initialized, do not free. do not segfault on NULL argument.
* Do not respect default semantic of dst:QueryBenjamin Dauvergne2009-05-073-41/+87
| | | | | | | | | | | | | | * lasso/id-wsf-2.0/data_service.c: the specification for data service template indicat that the query must fail at the first failing query, we think this is a stupid behaviour so I set the default to keep running query until the last one and returning a partial result if at least one failed and a failed result if absolutely no query matched. * lasso/id-wsf-2.0/private.h: declare the lasso_flag_follow_id_wsf_supid_semantic flag. * lasso.c: declare the lasso_flag_follow_id_wsf_supid_semantic flag, it's conditionned by the LASSO_WSF_ENABLED preprocessor symbol.
* Add valgrind support to integration testsBenjamin Dauvergne2009-04-302-6/+41
| | | | | | * tests/integration/saml2/__init__.py: if /usr/bin/valgrind exist, use script valgrind-wrapper.sh to launch tests, it stores log files in {authentic,lcs}_$ISODATE_pid$PID.log.
* Fix leak in python bindingBenjamin Dauvergne2009-04-301-3/+3
| | | | | * bindings/python/wrapper_top.c: keep a pointer on beginning of list to free it.
* Fix leak of mapping registryBenjamin Dauvergne2009-04-303-5/+38
| | | | | | | * lasso/lasso.c: * lasso/registry-private.h: * lasso/registry.c: make the registry be freed in lasso_shutdown.
* ID-FF 1.2: Fix leaks, reduce codeBenjamin Dauvergne2009-04-305-229/+173
| | | | | | | | | | * id-ff/login.c: * id-ff/logout.c: * id-ff/profile.c: * id-ff/provider.c: * id-ff/server.c: fix leaks by using field setting macros which frees previous values, it also reduce code length sometimes.
* Export the new flagBenjamin Dauvergne2009-04-301-0/+1
| | | | | * lasso/debug.h: export new flag lasso_flag_sign_messages.
* Fix leaks in testsBenjamin Dauvergne2009-04-304-41/+54
| | | | | | | | | * basic_tests.c: * login_tests.c: * login_tests_saml2.c: * random_tests.c: free replaced string, unref used nodes, initialize local variables when necessary, free newly allocated strings.
* Add a script to format suppression fileBenjamin Dauvergne2009-04-301-0/+43
| | | | | | * tests/format-suppressions.py: this is the script used to generate valgrind/lasso.supp and valgrind/glib.supp.
* Add a stress test for serializing/deserializing codeBenjamin Dauvergne2009-04-305-2/+201
| | | | | | | | | | | * Makefile.am: add targets * tests2.c: this simple makes lots of serializing, deserializing. * data/response-1: * data/response-2: * data/response-3: data test files
* SAML 2.0: Fix many leaksBenjamin Dauvergne2009-04-305-224/+194
| | | | | | | | | | | * lasso/saml-2.0/login.c: * lasso/saml-2.0/logout.c: * lasso/saml-2.0/name_id_management.c: * lasso/saml-2.0/profile.c: * lasso/saml-2.0/provider.c: do not mix g_malloc strings with libxml strings, use the string/gobject handling macros as much as possible, be a good memory citizen, don't put your elbows on the table.
* LassoNode: Fix leaksBenjamin Dauvergne2009-04-301-11/+22
| | | | | * lasso/xml/xml.c: fix more and more leaks.
* Add debugging code to lasso_node_impl_init_from_xmlBenjamin Dauvergne2009-04-301-0/+13
| | | | | * lasso/xml/xml.c: add more debugging code for the memory-debug flag.
* Add debugging code to lasso_set_orginal_xmlnodeBenjamin Dauvergne2009-04-301-2/+27
| | | | | | * lasso/xml/xml.c: add code to trace allocation and deallocation of original xmlnode associated to LassoNodes.