Commit Graph

4708 Commits

Author SHA1 Message Date
Benjamin Dauvergne c07cd3898c SAML 2.0&ID-FF 1.2: simplify and complete metadata loading for multi-role support 2010-03-27 16:52:04 +00:00
Benjamin Dauvergne 16d4b4df24 Core: add XML schemas for SAML 2.0 2010-03-27 16:52:01 +00:00
Benjamin Dauvergne 688700f5b3 Doc: add all missing methods to documentation section file
* add missing LASSO_EXPORT too for functions already present in the
   documentation, but not exported previously.
2010-03-27 16:51:57 +00:00
Benjamin Dauvergne 6924bffe21 Tools: add script to check for missing functions in lasso-sections.txt 2010-03-27 16:51:55 +00:00
Benjamin Dauvergne 15a74effe6 XML: in lasso_node_build_xmlNode_from_snippets only set child name if SNIPPET is not of ANY type 2010-03-27 16:51:52 +00:00
Benjamin Dauvergne 4b9f6d8305 Core: add lasso_set_string_from_prop(char**,xmlNode*,..) function 2010-03-27 16:51:50 +00:00
Benjamin Dauvergne 9150b008cf Core: add method to check whether we are IdP or SP of another provider
* lasso/id-ff/profile.{c,h}:
   the method lasso_profile_sso_role_with, evaluate using the current
   LassoIdentity content if we are in a relation of IdP or SP toward
   another provider. This is based on the existence of a federation with
   this provider.
2010-03-27 16:51:47 +00:00
Benjamin Dauvergne f720e3233c SAML 2.0: add attribute profiles strings 2010-03-27 16:51:45 +00:00
Benjamin Dauvergne f5442dc84b SAML 2.0: add support for attribute, authentication and authorization authorities metadata
* server.c,serverprivate.h: add new private method
   lasso_server_get_firs_providerID_by_role(server, role)w
 * defederation.c: use new private method
   lasso_server_get_first_providerID_by_role for find providerID
   when the argument remote_providerID is null in
   lasso_defederation_init_notification.
 * lasso/id-ff/login.c (lasso_login_init_authn_request): use new private
   method lasso_server_get_first_providerID_by_role.
 * provider.h: add thre new provider role (authn,pdp,attribute) and
    four new services (authn,assertionid,attribute,authz) and also
    a ROLE_ANY value (-1) for catchall purpose and a ROLE_LAST for
    array sizing.
 * provider.h: add a LAST member to LassoMdProtocolType enum.
  * providerprivate.h,provider.c:
   - removes separate hashtable for descriptors depending on provider role,
     use only one table named Descriptors.
   - use the LAST members of enumerations to dimention static string arrays.
  * provider.h: add a LAST member to the e
2010-03-27 16:51:43 +00:00
Benjamin Dauvergne 3b1b382f8c XML: add support for setting attribute in any namespace using element tree syntax 2010-03-27 16:51:40 +00:00
Benjamin Dauvergne 97f37266e3 Support SignatureVerifyHint in SAML 2.0 SSO profile and common message handling 2010-03-27 16:51:38 +00:00
Benjamin Dauvergne d5994b2bae Add signature_verify_hint accessor methods to LassoProfile
* lasso/id-ff/profile.{c,h}:
   add a LassoProfileSignatureVerifyHint enumeration and two accessor
   methods:
    - lasso_profile_get_signature_verify_hint
    - lasso_profile_set_signature_verify_hint
 * lasso/id-ff/profileprivate.h:
   add private field signature_verify_hint.
2010-03-27 16:51:34 +00:00
Benjamin Dauvergne 7930eba5a3 Bindings: fix parsing of camelcased ident (Samlp2IDPList -> samlp2,idp,list) 2010-03-27 16:51:30 +00:00
Benjamin Dauvergne 7b8c1f6dab Binding python: fix problem of classes without an initializer 2010-03-27 16:51:26 +00:00
Benjamin Dauvergne bb5ca6546d Tests: add macros to test for string equality 2010-03-27 16:51:25 +00:00
Benjamin Dauvergne 04ad790347 Tests: in SAML 2.0 tests, use more check_ macros 2010-03-27 16:51:23 +00:00
Benjamin Dauvergne 7948fab3e2 Tests: add macros check_equals and check_not_equals 2010-03-27 16:51:21 +00:00
Benjamin Dauvergne cdaf637737 Core: change GObjectAnnotation of lasso_node_export_to_query to state that private_key_file is optional 2010-03-27 16:51:19 +00:00
Benjamin Dauvergne 5927c51f9e SAML 2.0 XML: add header listing strings from XML schema 2010-03-27 16:51:16 +00:00
Benjamin Dauvergne 139a31df80 SAML 2.0: fix uninitialized variable 2010-03-08 13:19:59 +00:00
Benjamin Dauvergne 53485f7608 ID-WSF 1.0: fix bad header name in all inclusive header lasso/id-wsf/id_wsf.h 2010-03-08 13:19:58 +00:00
Benjamin Dauvergne 8f7e9b5167 Binding PHP5 tests: fix assertion dump test 2010-03-02 11:58:05 +00:00
Benjamin Dauvergne 0ff7329ad2 XML: move registry mapping into the *_get_type() functions
* lassoxml/disco_send_single_logout.c:
 * lassoxml/id-wsf-2.0/sb2_user_interaction_header.c:
 * lassoxml/id-wsf-2.0/subsref_app_data.c:
 * lassoxml/lib_assertion.c:
 * lassoxml/saml-2.0/saml2_condition_abstract.c:
 * lassoxml/saml-2.0/saml2_encrypted_element.c:
 * lassoxml/ws/wsa_attributed_uri.c:
 * lassoxml/ws/wsa_endpoint_reference.c:
   class_init is only called the first time an object of the given type
   is created, registry mappings must exist before this time, so I moved
   the registration code to the _get_type() functions.
2010-03-02 11:58:04 +00:00
Benjamin Dauvergne 5098e33eb3 Core: add a level argument to lasso_node_debug 2010-03-02 11:58:02 +00:00
Benjamin Dauvergne 9f6bffcca1 ID-WSF 2.0: add lasso_soap_envelope_set_relates_to method 2010-03-02 11:58:01 +00:00
Benjamin Dauvergne 99454639cd Core: add macro to remove gobject from lists 2010-03-02 11:58:00 +00:00
Benjamin Dauvergne 75598ef566 Core: export lasso_build_unique_id into public API
* lasso/xml/tools.h:
   add new header to export lasso_build_unique_id as a public API.

 * lasso/xml/Makefile.am:
   add tools.h to header list

 * lasso/xml/tools.c:
   add GObjectIntrospection annotations to exported functions.
2010-03-02 11:57:58 +00:00
Benjamin Dauvergne 7d950e7457 SAML 2.0: change error code for empty ArtifactResolve response to LASSO_PROFILE_ERROR_MISSING_RESPONSE 2010-03-02 11:57:57 +00:00
Benjamin Dauvergne 0f8da3fbdd Bindings java: do not mask errors from the code generator 2010-03-02 11:57:56 +00:00
Benjamin Dauvergne 32794e6c89 Core: add an helper method to build a SOAP response in a LassoProfile object
* lasso/id-ff/profile.{c,h}:
   add lasso_profile_add_soap_fault_response(char* code, char *string,
   GList *details).
 * lasso/id-wsf-2.0/profile.{c,h}:
   change signature of lasso_idwsf2_profile_init_soap_fault_response.
 * lasso/id-wsf-2.0/data_service.c:
   use new function instead of manually intializing soap faults
 * lasso/id-wsf-2.0/discovery.c:
   init a soap fault when parsed request is of an unknown type, return
   proper error.
2010-03-02 11:57:53 +00:00
Benjamin Dauvergne 79271d3032 ID-WSF 2.0 python tests: finish tests for new ID-WSF 2.0 API
* bindings/python/tests/idwsf2_tests.py:
   all Discovery service request types are tested, and Data Service
   query is tested as well. Data Service testing and API should more
   tested, especially failure cases.
2010-03-02 11:57:48 +00:00
Benjamin Dauvergne 412e3e9606 ID-WSF 2.0: add service type to response, parse response before using it 2010-03-02 11:57:47 +00:00
Benjamin Dauvergne f47480a53b Core: in xml_insure_namespace do not segfault if ns is NULL 2010-03-02 11:57:45 +00:00
Benjamin Dauvergne 3f146262d1 Binding python: accept a functio as setter, if it has only two arguments 2010-03-02 11:57:44 +00:00
Benjamin Dauvergne 9b18350724 ID-WSF 2.0: in lasso_idwsf2_get_name_identifier, use lasso_saml2_assertion_decrypt_subject 2010-03-02 11:57:43 +00:00
Benjamin Dauvergne 8c39f9631a ID-WSF 2.0: in lasso_idwsf2_profile_check_security_mechanism, add common logic for SAML 2.0 secmech, check for presence of a server object, 2010-03-02 11:57:41 +00:00
Benjamin Dauvergne 4ee7be9d5d ID-WSF 2.0: fix MDAssociationQueryResponse handling
* lasso/id-wsf-2.0/discovery.c:
    - in lasso_idwsf2_discovery_validate_request, use svcmdids to
      intialize response to MSAssociationQuery requests.
    - in lasso_idwsf2_discovery_process_response_msg, extract received
      svcmdids; use lasso_check_good_rc when needed.
2010-03-02 11:57:40 +00:00
Benjamin Dauvergne e40b9f73ce ID-WSF 2.0: change signature of lasso_idwsf2_discovery_add_identity_to_epr
* lasso/id-wsf-2.0/discovery.c:
   - in lasso_idwsf2_discovery_add_identity_to_epr, receive an Epr
     instead of an EprMetadata node, and use
     lasso_wsa_endpoint_reference_add_security_token to add the
     assertion token instead of duplicating this logic.
   - in lasso_idwsf2_discovery_build_epr change the call site.
2010-03-02 11:57:38 +00:00
Benjamin Dauvergne 1aa100b483 ID-WSF 2.0: fix documentation of lasso_idwsf2_data_service_build_request_msg 2010-03-02 11:57:37 +00:00
Benjamin Dauvergne 27247cbd09 SAML 2.0: in lasso_saml2_assertion_get_issuer_provider, check type of server argument 2010-03-02 11:57:35 +00:00
Benjamin Dauvergne dce077bd99 Core: add do/while(0) around block of goto_cleanup_with_rc 2010-03-02 11:57:34 +00:00
Benjamin Dauvergne 49bed47bd2 Core: add PROFILE errors around assertion validation
* lasso/errors.c lasso/errors.h:
   - add errors concerning invalid assertion, assertion with invalid
     conditions, unknown issuers, or when the issuer is not a provider
     we marked as an IdP.
   - add error for missing sender id in an ID-WSF message.
2010-03-02 11:57:32 +00:00
Benjamin Dauvergne 8598c1327a Core: add a level argument to lasso_xmlnode_to_string and _lasso_node_export_to_xml 2010-03-02 11:57:29 +00:00
Benjamin Dauvergne 4c72a3662e Binding perl: add support for out parameters
* bindings/perl/lang.py:
   support GObject out parameters.
2010-02-22 15:18:29 +00:00
Benjamin Dauvergne a45c5844dd SAML 2.0: LassoSaml2ConditionAbstract does not match its element name anymore, add a registry mapping
* lasso/xml/saml-2.0/saml2_condition_abstract.c:
   last commit to this file changed the element name from
   ConditionAbstract to Condition so the XML parser cannot find the
   corresponding GObject class anymore.
2010-02-22 15:18:28 +00:00
Benjamin Dauvergne 887da70933 SAML 2.0: add more accessors for Conditions
* lasso/saml-2.0/saml2_helper.{c,h}:
   distribute code from lasso_saml2_assertion_validate_conditions to
   lasso_saml2_assertion_validate_time_checks and
   lasso_saml2_assertion_validate_audience.
   add lasso_saml2_assertion_allows_proxying and
   lasso_saml2_assertion_allows_proxying_to, to respectively check for
   proxying of the current assertion, and for proxying to a specific
   provider (you must call both of them to test completely the proxying
   status of an assertion).
 * docs/reference/lasso/lasso-sections.txt:
   reference new functions into documentation.
2010-02-22 13:30:48 +00:00
Benjamin Dauvergne 333aee05e4 Bindings python: use more accessors from utils.py
* binings/python/lang.py: remove direct access to type tuples in favor
   of using accesors from utils.py.
2010-02-22 13:30:46 +00:00
Benjamin Dauvergne 008b815194 Bindings: make is_int more robust, and fix remove_modifiers 2010-02-22 13:30:45 +00:00
Benjamin Dauvergne ad2a507468 Bindings php5: use accessort from bindings/utils.py
* bindings/php5/wrapper_source.py:
   do not handle 'type/variable' tuple directly, use accessors.
2010-02-22 13:30:43 +00:00
Benjamin Dauvergne 24c7a4f8a7 Binding python: add pickling support to LassoNode
* bindings/python/lang.py:
   support pickling protocol methods __getstate__ and __setstate__
   leveraging the lasso_node_dump and lasso_node_new_from_dump methods
   from Lasso.
2010-02-22 13:30:42 +00:00