summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bindings python: in wrapper_top.c, mark internal function as potentially unusedBenjamin Dauvergne2010-01-041-13/+14
|
* Bindings: make the binding infrastructure understand GObject-introspections ↵Benjamin Dauvergne2010-01-0410-158/+481
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | annotations * bindings/bindings.py * bindings/utils.py: add convenience function to treat arguments tuple: (type,name,{annotations}). introduce new argument options, fix that arguments are 3-tuple of the form (type,name,annotations), where annotations is a dictionary. Key of this dictionnary can be: - optional, wheter the argument is necessary, it means it has a default value. - out, means that the pointer is a pointer of pointer, for bindings that can return exceptions, it will be returned instead of the integer error code, the only way to access error codes will be exceptions. - element-type, contained type of a list or an array, - key-type, value-type, type of respectively the key and value of a GHashTable. - transfer, wheter a the callee(for arguments)/caller(for return values) owns the values passed, it can be none,container(if the callee/caller only owns the container not the contained value) or full. doc.parameters is now a 3-tuple of (attribute-name, attribute-description, attribute-annotations) where attribute-annotations is a string of the form '(option1)(option2 option-arguments) etc.'. - add predicates for xml, list and time_t values. improve predicates for cstring and const modifier. * bindings/overrides.xml: 'out' arguments are not well supported for java, so skip functions using them. * bindings/java/lang.py bindings/php5/php_code.py bindings/php5/wrapper_source.py bindings/python/lang.py: - update language specifig binding generators for handling new annotations. - improve python method declaration, handle optional arguments with default values, factorize this chode in two methods, get_python_arg_decl and defval_to_python_value. * bindings/python/tests/Makefile.am bindings/python/tests/idwsf1_tests.py bindings/python/tests/idwsf2_tests.py: make test work with out of source build dir.
* Documentation: in lasso-docs.sgml, add glossary to the index, add book part ↵Benjamin Dauvergne2010-01-041-3/+12
| | | | | | | delimitations * docs/reference/lasso/lasso-docs.sgml: add the glossary to the index.
* Core: in registry.c, change type cast to compile on amd64 platformBenjamin Dauvergne2010-01-041-4/+5
| | | | | | | * registry.c: use ptrdiff_t to cast to integer big enough to receive a pointer, then apply integer operations, then cast to the pointer type expected by g_direct_hash.
* Core: in utils.h, change __STRING(x) for #xBenjamin Dauvergne2009-12-161-1/+2
| | | | | | * lasso/utils.h: __STRING(x) does not seem more portable than #x so change, problem with AIX.
* Downgrade version 2.2.90 to make a pre-releaseBenjamin Dauvergne2009-12-091-1/+1
|
* in tests/tests.h, Add checks for true and false conditionsBenjamin Dauvergne2009-12-081-4/+10
|
* Remove beginning of a PHP4 bindingBenjamin Dauvergne2009-12-086-2711/+0
|
* Upgrade version numberBenjamin Dauvergne2009-12-081-1/+1
|
* Add missing headers to makefile, to pass make distcheckBenjamin Dauvergne2009-12-082-2/+4
| | | | | | | * lasso/xml/id-wsf-2.0/Makefile.am: make xml_idwsf2.h appear in the distribution file * lasso/xml/ws/Makefile.am: make xml_ws.h appear in the distribution file
* in lasso_saml20_profile_export_to_query, checks return valuesBenjamin Dauvergne2009-12-041-0/+3
| | | | | | * lasso/saml-2.0/profile.c: in lasso_saml20_profile_export_to_query, check return value of of lasso_node_build_query and lasso_query_sign.
* Add SP initiated logout test to SAML 2.0 regression testsBenjamin Dauvergne2009-12-013-1/+85
| | | | | | | | | * tests/login_tests_saml2.c: add logout to first SAML 2.0 login regression test. * tests/tests.h: add macros to simplify checking of return value with check macros (encapsulate fail_unless macro to check for NULL/non-NULL values and good rc value (0) or expected bad value).
* Restore ancient semantic of lasso_profile_is_session_dirtyBenjamin Dauvergne2009-11-301-1/+1
| | | | | * lasso/id-ff/profile.c: lasso_is_session_dirty must return FALSE if session is NULL.
* Fix double g_object_unrefBenjamin Dauvergne2009-11-301-2/+0
| | | | | | * lasso/id-ff/login.c: status is already freed by lasso_assign_gobject, do not free it first with lasso_node_destroy.
* Restore call to autoheader in autogen.shBenjamin Dauvergne2009-11-301-2/+3
| | | | | | * autogen.sh: call to autoheader was removed during simplification of the autogen.sh script.
* Remove message level signature on redirect messagesBenjamin Dauvergne2009-11-301-18/+52
| | | | | * lasso/saml-2.0/profile.c: remove message level signatures before building query strings.
* Add more check to remove_signatureBenjamin Dauvergne2009-11-301-1/+1
| | | | | * lasso/saml-2.0/profile.c: check for NULL when accessing klass datas.
* Augment query string limit for relaystate extraction to 8192 bytesBenjamin Dauvergne2009-11-021-2/+5
| | | | | | * lasso/xml/tools.c: some application transfer relaystate longer thant the specification advised 80 bytes, try to cater for their needs.
* Add documentation for lasso_get_relaystate_from_queryBenjamin Dauvergne2009-11-021-0/+9
| | | | | | * lasso/xml/tools.c: add documentation on the internal function lasso_get_relaystate_from_query
* Add C defines for SAML 2 'unspecified' authncontext classBenjamin Dauvergne2009-10-301-0/+3
| | | | | | * lasso/xml/strings.h: add C defines for AuhtnContextClassRef, urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified.
* Fix bad macro choice, precise error for bad formatted NIDM requestBenjamin Dauvergne2009-10-301-3/+3
| | | | | | | * saml-2.0/name_id_management.c: use specialized lasso_saml20_profile_set_response_status set 'MissingNameID' second level error with requester first level error code when request is missing a name id.
* Fix reporting of error in message parsingBenjamin Dauvergne2009-10-301-2/+3
| | | | | | | | * lasso/xml/xml.c: do not mix the return code from xmlSecBase64Decode and the return code for lasso_node_init_from_message_with_format. It fixes a segmentation fault in lasso_login_process_authn_request_msg.
* Core: factorize code to obtain a SPNameQualifierBenjamin Dauvergne2009-10-304-22/+55
| | | | | | | | | | * lasso/id-ff/provider.c lasso/id-ff/provider.h: add a method giving the SPNameQualifier for a provider (its entity id or its affiliation id). * lasso/id-ff/profile.c: * lasso/saml-2.0/login.c: update use sites.
* Make php4 and perl binding disabled by defaultBenjamin Dauvergne2009-10-301-2/+2
| | | | | | * configure.ac: make default for --enable-perl and --enable-php4 to "no". Those binding will not be maintained in the future.
* SAML2 Logout: initialize SessionIndex from the assertionBenjamin Dauvergne2009-10-301-0/+15
| | | | | | | * lasso/saml-2.0/logout.c: when creating a logout request message initialize the SessionIndex element with the correponding content in the stored assertion for this session.
* Tests: fix __FILE__ -> __file__Benjamin Dauvergne2009-10-301-1/+1
| | | | | * tests/integration/saml2/__init__.py: path to the current python file is __file__ not __FILE__.
* SAML2: change lasso_saml20_profile_set_response_status signatureBenjamin Dauvergne2009-10-306-118/+82
| | | | | | | | | | | | | | * lasso/saml-2.0/profile.c: * lasso/saml-2.0/profileprivate.h: make lasso_saml20_profile_set_response_status2 the new implementation of lasso_saml20_profile_set_response_status. add helper macros to set success, responder and requester first level status code. * saml-2.0/assertion_query.c: * saml-2.0/login.c: * saml-2.0/logout.c: * saml-2.0/name_id_management.c: adapt consumers to the new signature.
* ID-FF: add a partial_logout flag to LassoLogout private_dataBenjamin Dauvergne2009-10-302-1/+23
| | | | | | * lasso/id-ff/logout.c: * lasso/id-ff/logout.h: add a flag to store the status of a partial logout
* SAML2: add an equals operator to the NameID classBenjamin Dauvergne2009-10-302-0/+34
| | | | | | | * lasso/xml/saml-2.0/saml2_name_id.c: * lasso/xml/saml-2.0/saml2_name_id.h: add a lasso_saml2_name_id_equals method which return TRUE if two NameId are equal.
* SAML2: use the static get_provider helper method in generic profile methodsBenjamin Dauvergne2009-10-301-16/+4
| | | | | | * lasso/saml-2.0/profile.c: instead of accessing directly profile->server use the helper method get_provider.
* SAML2: in logout_build_response_msg do not fail on missing remote_providerIDBenjamin Dauvergne2009-10-301-7/+0
| | | | | | | | * lasso/saml-2.0/logout.c: remote_providerId is verified in build_redirect_simple and is not necessary for SOAP response with a failure and profile->response cannot be null (we just created a response if it was missing). So this error case is now unnecessary.
* ID-FF1.2 and SAML2: remove direct access to profile->server->providersBenjamin Dauvergne2009-10-3013-112/+74
| | | | | | * client of LassoServer should use lasso_server_get_provider. * LASSO_PROFILE_ERRROR_UNKNOWN_PROVIDER was a mistake, it is superfluous, use LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND.
* Core: in profile, use lasso_server_get_providerBenjamin Dauvergne2009-10-301-2/+4
| | | | | | - lasso/id-ff/profile.c: replace direct access to server->provider by lasso_server_get_provider.
* Tests: add a test of NameIDFormat extractionBenjamin Dauvergne2009-09-292-0/+24
| | | | | | | | - tests/basic_test.c: add test11_get_default_name_id_format which parse a metadata file and try to extract the default name id format. - tests/data/sp5-saml2/metadata.xml: add NameIDFormat node for testing.
* Core: add const modifier to return value of lasso_provider_get_metadata_listBenjamin Dauvergne2009-09-295-10/+10
| | | | | | | | | - lasso/id-ff/provider.c lasso/id-ff/provider.h: change return type of lasso_provider_get_metadata_list from GList* to const GList*. - lasso/id-ff/logout.c lasso/saml-2.0/logout.c lasso/saml-2.0/provider.c: change consumers of the API
* Core: Add const modifiers to LassoProvider methodsBenjamin Dauvergne2009-09-294-30/+30
| | | | | | * lasso/id-ff/provider.c lasso/id-ff/provider.h lasso/saml-2.0/provider.c lasso/saml-2.0/provider.h: add const modifier where they could be added.
* Do not use g_new, use g_new0Benjamin Dauvergne2009-09-299-9/+9
| | | | | | | | | | | | | * lasso/id-ff/federation.c: * lasso/id-ff/logout.c: * lasso/id-ff/profile.c: * lasso/id-ff/provider.c: * lasso/id-ff/server.c: * lasso/id-ff/session.c: * lasso/id-wsf/authentication.c: * lasso/saml-2.0/ecp.c: * lasso/xml/xml.c: even for private datas, use g_new0, it is safer.
* Change setting of default NameIDFormat for SAML 2.0 loginBenjamin Dauvergne2009-09-292-16/+59
| | | | | | | | | | * saml-2.0/login.c: in lasso_saml20_login_init_authn_request, lasso_saml20_login_init_idp_initiated_authn_request, if the service provider provided a list of supported name id formats, use the first one as default for new AuthnRequest. * id-ff/login.c: modify documentation to report the new way of choosing a default.
* Add method to Provider to retrieve default NameIDFormatBenjamin Dauvergne2009-09-292-0/+15
| | | | | | * lasso/id-ff/provider.c lasso/id-ff/provider.h: add lasso_provider_get_default_name_id_format, which returns the firs listed NameIDFormat from the SAML 2.0 metadatas of the provider.
* Complete documentation of lasso_login_init_authn_request concerning the ↵Benjamin Dauvergne2009-09-291-10/+16
| | | | | | | | NameIDFormat * lasso/id-ff/login.c: in lasso_login_init_authn_request, add docbook formatting, add remarks about the different NameIDFormat for ID-FF 1.2 and SAML 2.0.
* Fix bugs found via coverity (thanks to Bhaskar Jain)Benjamin Dauvergne2009-09-177-59/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lasso/id-wsf-2.0/data_service.c: fix uninitialized res variable in lasso_idwsf2_data_service_process_query_response_soap_fault_msg. * lasso/xml/saml-2.0/saml2_assertion.c: fix uninitialized rc variable in get_xmlNode. * lasso/saml-2.0/login.c: in lasso_saml20_login_accept_sso check for ni and ni->Format null-ness before dereferencing, remove idp_ni which is not used anymore. remote all use of federation->remote_nameIdentifier, SAML 2.0 only need one NameID, and it will be local_nameIdentifier. * lasso/xml/xml.c: in lasso_node_traversal, check null-ness of node before dereferencing it, add check for class null-ness also. * lasso/id-ff/provider.c: in lasso_provider_get_first_http_method, remove useless check for t2 null-ness -- if found is TRUE, t1 and t2 cannot be null. * lasso/xml/tools.c: in lasso_sign_node, add documentation, check for private_key_file and xmlnode null-ness. in lasso_get_public_key_from_private_key_file, add a cleanup phase, check for cert variabl null-ness befor appending, count the number of certificates added. in lasso_query_verify_signature, check that URL unescaping and base64 decoding are succesfull before using the decoded strings. * lasso/saml-2.0/name_id_management.c: in lasso_name_id_management_validate_request, fix mis-handling of federation, if federation does not match request name_id, return UNKNOWN_PRINCIPAL.
* ID-WSF: finish unsealing field « is_dirty » of LassoSessionBenjamin Dauvergne2009-09-171-1/+1
| | | | | * lasso/id-wsf-2.0/session.c: remove direct acces to LassoSession private field.
* Core: unseal LassoSession public fieldBenjamin Dauvergne2009-09-113-29/+26
| | | | | | | | | | | | * lasso/id-ff/session.c: * lasso/id-ff/session.h: * lasso/id-ff/sessionprivate.h: unseal session->is_dirty and session->assertions, remove the mirror version in the private data structure, and restore direct acces by methods. move the "private" comment before those two fields to hide them in the gtk-doc reference manual, normal access should be done by get_assertion and is_dirty methods.
* XML ID-WSF: Fix parsing of most ID-WSF elementsBenjamin Dauvergne2009-09-114-8/+28
| | | | | | | | | | | | | | | | | | * lasso/xml/disco_send_single_logout.c: * lasso/xml/id-wsf-2.0/sb2_user_interaction_header.c: * lasso/xml/id-wsf-2.0/subsref_app_data.c: * lasso/xml/xml.c: lots of ID-WSF 1.0/2.0 classes were not passing the new non-regression test on serialization/deserialization. The main reason was the absence of mapping for their namespace in the prefix_from_href_and_nodename function. The other reason is that some class name does not correspond 1-to-1 to the element name (SendSingleLogOut vs. SendSingleLogout, notice the capitalised 'O'). The last problem was that mapping from nodes to GObject classes was done after default mapping ("Lasso<prefix><node_name>"), now it's done before, to reflect the fact that it is a more specialized mapping.
* Core: remove warning when lasso_registry_get_direct_mapping failsBenjamin Dauvergne2009-09-111-1/+2
| | | | | | * lasso/registry.c (lasso_registry_get_direct_mapping): g_return_val_if_fail output a warning when condition fails, use a simple if instead.
* Tests: add more assertion to random testBenjamin Dauvergne2009-09-111-3/+44
| | | | | * tests/random_tests.c: add more assertion testing for various return values or field values.
* XML: Fix seg-fault bug introduced in commit 4108Benjamin Dauvergne2009-09-112-7/+1690
| | | | | | | | | * lasso/xml/xml.c: lasso_node_get_xmlnode_for_any_type is broken, if no original_xmlnode is present, return just cur. Also add all missing cases for the state of the pair (cur, orignal_xmlnode). * tests/basic_tests.c: add a non-regression test, testing all dump/restore functions.
* Core: add new macros to traverse listsBenjamin Dauvergne2009-09-111-0/+20
| | | | | | | * lasso/utils.h: lasso_foreach_full_begin(_type, _data, _iter, _list) traverse GList* _list, using _iter as iteration variable extract data field to variable _data of type _type.
* Test: fix Makefile.am to work with 'out of source' build directoryBenjamin Dauvergne2009-09-111-3/+3
| | | | | * tests/Makefile.am: rpath must refer to the build directory, not the source directory.
* Core: fix extract_symbols regular expressionBenjamin Dauvergne2009-09-111-1/+1
| | | | | | * lasso/extract_symbols.py: the regular expression was not matching declaration over multiple lines, and would catch argument starting with lasso_. Fixed.