summaryrefslogtreecommitdiffstats
path: root/lasso
Commit message (Collapse)AuthorAgeFilesLines
...
* SAML 2.0: in lasso_saml20_login_process_authn_response_msg always report ↵Benjamin Dauvergne2010-02-101-10/+13
| | | | | | | | signatures errors * lasso/saml-2.0/login.c: - in lasso_saml20_login_process_authn_response_msg keep around all error codes returned by intermediary steps. At the end report the first one.
* SAML 2.0: in lasso_saml20_profile_process_any_response do not stop on ↵Benjamin Dauvergne2010-02-101-9/+31
| | | | | | | | | | missing issuer * lasso/saml-2.0/profile.c: Issuer is not a mandatory element of SAML 2.0 response, but if we do not remember which issuer we sent the request (of if the response is spontaneous) then we will receive a provider not found error when trying to check the message signature.
* Use new SAML2 strings instead of hardcoding query string field namesBenjamin Dauvergne2010-02-103-6/+7
|
* Add documentation about runtime flagsBenjamin Dauvergne2010-02-101-0/+39
| | | | | | * lasso/lasso.c: add a table to Initialization documentation section about general runtime flags.
* Remove follow-idwsf-stupid-semantic flagBenjamin Dauvergne2010-02-101-10/+0
| | | | | * lasso/lasso.c: this flag is useless, that's me that is stupid.
* Add internal methods to LassoServer to get the signature and encryption ↵Benjamin Dauvergne2010-02-102-0/+37
| | | | | | | private keys * lasso/id-ff/server.c lasso/id-ff/serverprivate.h: add methods lasso_server_get_private_key and lasso_server_get_encryption_private_key.
* Add complete error code listing for lasso_login_process_response_msgBenjamin Dauvergne2010-02-101-1/+25
| | | | | * lasso/id-ff/login.c: list all error codes and their semantic with respect to this call.
* Update code example for LassoLoginBenjamin Dauvergne2010-02-101-14/+78
| | | | | * lasso/id-ff/login.c: add code for intializaing request for SAML 2.0, shows how to handler errors codes.
* Add error codes, update error codes documentation, reduce changes in ↵Benjamin Dauvergne2010-02-104-270/+301
| | | | | | | | | | | | | | | errors.c by ordering error codes * lasso/errors.h lasso/errors.c - add to report non schema conforming XML trees, decyrption failure due to missing private keys and invalid signatures on assertions. - update documentation of LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND, LASSO_SERVER_ERROR_ADD_PROVIDER_PROTOCOL_MISMATCH, * lasso/build_strerror.py: before outputting switch cases, order error codes name lexically in order to reduce change lines when adding new error codes.
* Add strings for SAML2 field names for POST, Redirect and Artifact bindingsBenjamin Dauvergne2010-02-101-0/+5
|
* Update documentation of the registry moduleBenjamin Dauvergne2010-02-101-11/+16
|
* Adapt LassoProvider methods to care for protocol profile version when ↵Benjamin Dauvergne2010-02-101-7/+31
| | | | | | | | | verifying signature * lasso/id-ff/provider.c: there is now 2 methods to verify signatures, methods calling the old one must now choose whether to call the liberty one of the SAML 2.0 one.
* Add a function to validate query signatures using SAML 2.0 semanticBenjamin Dauvergne2010-02-102-0/+121
| | | | | | | * lasso/xml/tools.c: this new function is a placeholder for the new SAML 2.0 semantic following query signature validation function. It will start with the old code of lasso_query_verify_signature.
* Core: in LassoServer constructors, test if private_key is loadableBenjamin Dauvergne2010-02-082-14/+26
| | | | | | | | | | | | * lasso/id-ff/server.c: mark private_key as not mandatory as regression tests expect it to not be mandatory. test if loading of private key to encryption_private_key private field worked, if not abort the constructor and return NULL. * lasso/id-ff/server.h: fix name of constructors argument to corresponds with comments (binding generator use this correspondance to apply annotation from comments to the model obtained by parsing the headers).
* in lasso_xmlsec_load_private_key_from_buffer, do not let xmlSecBase64Decode ↵Benjamin Dauvergne2010-02-081-0/+2
| | | | show warnings
* Core: Finish support for all XMLDsig key formatsBenjamin Dauvergne2010-02-041-41/+78
| | | | | | | | | | | | | | | * lasso/xml/tools.c: xmlsec is not able to load a certificate public key without checking it against trusted root certificate, so we must work around and load the key by hand. lasso_xmlsec_load_private_key_from_buffer is made more robust in the same (loading of the key was extracted inside _lasso_xmlsec_load_key_from_buffer) and now can load certificates and keys directly embedded inside KeyValue nodes (in total opposition to the XMLDsig specification but...), with or without PEM headers. * tests/metadata/Makefile.am tests/metadata/metadata_06.xml tests/metadata_tests.c: add test case for RSAKeyValue public keys.
* Core: in lasso_xmlsec_load_key_info add flag to let xmlSec load certificatesBenjamin Dauvergne2010-02-041-0/+1
| | | | | | | * lasso/xml/tools.c: adding the flag XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS make xmlSec able to load certificate, the 'hand made' code to load certificate is then useless.
* Core: in lasso_profile_get_request_type_from_soap_msg use ↵Benjamin Dauvergne2010-02-041-2/+10
| | | | | | | | lasso_xml_parse_memory_with_error * lasso/id-ff/profile.c: (lasso_profile_get_request_type_from_soap_msg) use lasso_xml_parse_memory_with_error instead of xmlParseMemory, use error code output argument to log error reports.
* Core: in provider.c, make lasso_provider_load_metadata_from_buffer the main ↵Benjamin Dauvergne2010-02-041-122/+62
| | | | | | | | | | | | | metadata loading function * (init_from_xml) fail initialization if we cannot load the metadatas, and log a warning. * extract _lasso_provider_load_metadata_from_buffer from lasso_provider_load_metadata_from_buffer, which accept a length parameter. use it inside lasso_provider_load_metadata, instead of xmlParseFile. * (lasso_provider_load_public_key) use lasso_xmlsec_load_key_info and lasso_xmlsec_load_private_key to load the public keys.
* Core: use lasso_xml_parse_file to load affiliation fileBenjamin Dauvergne2010-02-041-1/+1
|
* Core: in tools.c, add function to load XML files and KeyInfo nodesBenjamin Dauvergne2010-02-042-3/+156
| | | | | | | | | | | * tools.c: add lasso_xml_parse_file, based on g_file_get_contents and lasso_xml_parse_memory. add lasso_xml_parse_memory_with_error which instead of logging errors, can return the xmlError structure. add lasso_xmlsec_load_key_info, which allows to load keys from ds:KeyInfo XML nodes. It also support the "Lasso" bug of using ds:KeyValue directly to store base64 encoded keys and certificates.
* SAML 2.0: in name_id_management.c, rework lasso_name_id_management_new_from_dumpBenjamin Dauvergne2010-02-041-8/+6
|
* Core: add more memory tracing, add a tracing macroBenjamin Dauvergne2010-02-042-20/+41
| | | | | * lasso/utils.h: add lasso_trace, which as a printf signature. * xml/xml.c: add more trace to node initialization code.
* Core: use lasso_node_new_from_dump to implement _new_from_dump methodsBenjamin Dauvergne2010-02-046-95/+51
| | | | | | | | * provider.c: add annotation for nullable arguments (necessary for bindings of new_from_buffer). * server.c: add annotations, allow to set encryption_private_key from buffers
* SAML 2.0: in samlp2_response.c, simplify code path for assertion encryptionBenjamin Dauvergne2010-02-041-21/+15
|
* Fix leaksBenjamin Dauvergne2010-02-044-15/+15
| | | | | | | | | | | * lasso/id-wsf-2.0/profile.c: release private data object. * lasso/saml-2.0/login.c: free NameID content after construction. * lasso/xml/tools.c: free algorithm attribute content in lasso_node_decrypt_xmlnode. * lasso/xml/xml.c: release cutom_element->nodename in destructor. remove useless finalize method. * tests/basic_tests.c: release xmldoc after use. * tests/random_tests.c: free resut of lasso_node_dump.
* Fix leaks, change signature of lasso_provider_get_sp_name_qualifier, make it ↵Benjamin Dauvergne2010-02-047-14/+16
| | | | return a const char*
* in lasso/xml/tools.c, remove leaks of xmlSecKey and xmlNodeBenjamin Dauvergne2010-02-041-9/+11
|
* in lasso_xmlsec_load_private_key, do not leak the file buffer, in ↵Benjamin Dauvergne2010-02-042-5/+7
| | | | lasso_node_encrypt do not leak the keys manager
* ID-WSF: remove useless new_from_message methodsBenjamin Dauvergne2010-02-0155-478/+4
|
* Core: in utils.h, add macros to replace verbose g_return_val_if_failBenjamin Dauvergne2010-02-011-0/+12
|
* Core: document return values of lasso_login_validate_request_msgBenjamin Dauvergne2010-02-011-1/+17
|
* Utils: lasso_unref, a safe g_object_unref, and add some document about ↵Benjamin Dauvergne2010-02-012-9/+71
| | | | existing family of macros
* Core: do not emit messages inside lasso_check_versionBenjamin Dauvergne2010-02-011-12/+0
|
* SAML 2.0: fix annotations, documentation and signaturesBenjamin Dauvergne2010-01-297-13/+10
|
* ID-WSF 1.0: make LassoServer.services private with respect to the bindingsBenjamin Dauvergne2010-01-281-0/+2
|
* ID-WSF: change name of Personal Profile namespace symbols, add symbols for ↵Benjamin Dauvergne2010-01-285-12/+29
| | | | ID-SIS PP 1.1
* Core: fix gtk-doc annotationsBenjamin Dauvergne2010-01-287-9/+15
|
* Core: add new macros to lasso/utils.h, fix lasso_assign_new_list_of_gobjectsBenjamin Dauvergne2010-01-281-1/+24
| | | | | | | | | * lasso/utils.h: add: - lasso_assign_new_xml_node - lasso_assign_new_list_of_strings - lasso_assign_new_list_of_xml_node fix lasso_assign_new_list_of_gobjects, bad naming of release macro.
* XML: add missing element-type annotationsBenjamin Dauvergne2010-01-285-5/+5
|
* ID-WSF 1.0 & 2.0: complete lasso-sections.txt, add internal API to access ↵Benjamin Dauvergne2010-01-2610-32/+123
| | | | | | | | | | | | | | | | | | | | | | | | | SOAP headers, complete WS-Addressing support * docs/reference/lasso/lasso-sections.txt: complete documentation of LassoSoapEnvelope and LassoSoapFault with ID-WSF additions. * lasso/id-wsf-2.0/profile.c lasso/id-wsf-2.0/soap_binding.c lasso/id-wsf-2.0/soap_binding.h: add internal function _get_node and _get_header to simplify implementation of accessors for headers. change signature of lasso_soap_envelope_get_message_id and add new function lasso_soap_envelope_get_relates_to. update call points. add a message id when building a SOAP message. * lasso/xml/idwsf_strings.h: add element name for MessageID and RelatesTo WS-Addressing elements. * lasso/id-wsf/authentication.c lasso/id-wsf/data_service.c lasso/id-wsf/discovery.c lasso/id-wsf/wsf_profile.c lasso/id-wsf-2.0/saml2_login.c lasso/xml/disco_description.c: fix path name of header lasso/id-wsf/wsf_utils.h. make all internal include path relatives.
* Core XML: make lasso_node_set_custom_namespace/nodename take const stringBenjamin Dauvergne2010-01-262-4/+5
| | | | | | * lasso/xml/xml.c lasso/xml/xml.h: mark argument of lasso_node_set_custom_namespace and lasso_node_set_custom_nodename as const char* strings.
* Core XML: add function to get the namespace of a LassoNodeBenjamin Dauvergne2010-01-262-0/+28
| | | | | | * lasso/xml/xml.c lasso/xml/xml.h: if a custome namespace is set, return it, otherwise return the class namespace (klass->node_data->ns->href).
* in lasso/saml-2.0/logout.c, fix missing declarationBenjamin Dauvergne2010-01-261-1/+1
|
* Core: update errors.c fileBenjamin Dauvergne2010-01-261-0/+2
|
* in lasso/xml/saml_attribute_value.h, fix typo in content type annotationBenjamin Dauvergne2010-01-251-1/+1
|
* in lasso/xml/sa_sasl_response.h, add GList content type annotation to field ↵Benjamin Dauvergne2010-01-251-1/+1
| | | | 'any'
* Add new macro lasso_list_add_new_xml_nodeBenjamin Dauvergne2010-01-252-2/+8
| | | | | | | | | | * lasso/utils.h: fix lasso_list_add_xml_node, it must copy the node before assigning it. add lasso_list_add_new_xml_node for keeping the old behaviour. * lasso/xml/xml.c: fix use of lasso_list_add_xml_node, because copying the node before assigning it is a leak now.
* SAML 2.0 Logout: when in an SP initiated logout, ↵Benjamin Dauvergne2010-01-251-0/+19
| | | | | | | | | | lasso_logout_build_response_msg is the finishing call * lasso/saml-2.0/logout.c: when calling lasso_logout_build_response_msg(), if we known that we are in the middle of an SP initiated logout, i.e. if initial_remote_providerID is not NULL, then we can restore the intial response.
* Fix name of LASSO_WSSEC_BAD_PASSWORDBenjamin Dauvergne2010-01-253-6/+4
| | | | | | | * lasso/errors.c lasso/errors.h: LASSO_WSSE_BAD_PASSWORD -> LASSO_WSSEC_ERROR_BAD_PASSWORD * lasso/xml/ws/wsse_username_token.c: update client code.