Commit Graph

5116 Commits

Author SHA1 Message Date
Benjamin Dauvergne 8be7b0414d [core] add flags parameter to lasso_server_load_metadata to tune signature checking on metadata files
The flags parameter allows to control the checking of digital signature
upon EntityDescriptor and EntitiesDescriptor nodes in SAML 2.0 metadata
files.

The default behaviour is to check all found signatures and to inherit
signature from EntitiesDescriptor to their children.

By only enabling checking of EntityDescrtiptor node signatures it's also
possible to only check signature at the EntityDescriptor level and so
only trust individual entities and not the aggregating provider.
2011-04-14 16:45:43 +02:00
Benjamin Dauvergne 1171ee2e8b [core] update documentation of lasso_server_load_metadata 2011-04-04 18:52:00 +02:00
Benjamin Dauvergne cad3d305a9 [core] make lasso_server_load_metadata load any metadata file
The new code can load metadata file with a EntityDescriptor root node,
and with nested EntitiesDescriptor.

Idea and prototype by Olav Morken.
2011-04-04 18:34:06 +02:00
Benjamin Dauvergne 31a623aeee [server] in lasso_server_load_metadata do not duplicate checks already made by lasso_verify_signature
lasso_verify_signature already checks that reference is to the given
signed node, be it referenced through an ID or through an empty
reference.
2011-04-04 15:57:55 +02:00
Benjamin Dauvergne 6477d6043c [xml] if signature reference is empty check that signed node is the document root
An empty reference means the complete document, so the signed node is
the root element of this document. We must check that the parameter
signe_node dmatches our assumption.
2011-04-04 15:57:54 +02:00
Benjamin Dauvergne 345c3b50f8 [core] rename lasso_server_load_federation to lasso_server_load_metadata
The aim of this function is now to load any metadata file, and to
replace completely the use of lasso_server_add_provider.
The metadata content argument is replaced by a metadata file path to
more closely match other APIs.
2011-04-04 15:57:07 +02:00
Benjamin Dauvergne a9f9b3d9a2 [core] add a loaded_entity_ids output parameter to lasso_server_load_federation
It allows to know which entity has been loaded from the metadata file.
It must be freed by the caller.
2011-03-30 14:20:45 +02:00
Benjamin Dauvergne a0aba29273 [core] add a blacklisted_entity_ids parameter to lasso_server_load_federation
The goal is to prevent loading of provider known to have problems.
2011-03-30 11:15:39 +02:00
Benjamin Dauvergne 70562db09a [tests] remove spurious output 2011-03-29 18:46:32 +02:00
Benjamin Dauvergne fbb3e962ad [tests] continue improving the lasso_server_load_federation test cases 2011-03-29 18:46:32 +02:00
Benjamin Dauvergne 77c6c49bad [tests] test lasso_server_load_federation
The test operates on the metadata file of the french university network
Renater.
2011-03-29 18:46:02 +02:00
Benjamin Dauvergne a77570b2db [tests] add renater federation metadata file for testing 2011-03-29 18:45:23 +02:00
Benjamin Dauvergne f289edb534 [core] add a lasso_server_load_federation method
This method allows to load providers in bulk from what is called a
federation file, i.e a SAML metadata file containing declarations for
more than one provider. Those file are usually signed to bind some trust
to its content, so lasso_server_load_federation can take an optional
file path to a certificate chain file used to check the signature on the
given XML content. Only same document signature is accepted (i.e. there
must be only one XML signature reference and it should be to the empty
string meaning the « current » document).
2011-03-29 18:43:48 +02:00
Benjamin Dauvergne f840037c6a [core] add a private constructor to build LassoProvider object from an xmlNode
I'm not sure of the need outside lasso so I will let this method private
for the moment. It's an helper method for the
lasso_server_load_federation method which traverses an
EntitiesDescriptor node to find all the EntityDescriptor contained
inside.
2011-03-29 18:43:48 +02:00
Benjamin Dauvergne dac3f345ad [saml2] add and internal method to load a federation metadata file
It only loads one kind of provider (idp or sp). It's currently
impossible for a provider to have the two roles at the same time toward
a given LassoServer object, i.e. the current service is a service
provider or an identity provider, it cannot be the two at the same time.
2011-03-29 18:43:47 +02:00
Benjamin Dauvergne 8df7a0022c [saml2] improve reporting of errors when loading a provider metadata file 2011-03-29 18:43:47 +02:00
Benjamin Dauvergne 04dd5610b0 [xml] allow empty reference in XML signature (document signature) 2011-03-29 18:43:47 +02:00
Benjamin Dauvergne e84a1e8a8a [xml] make id_attr_name parameter optional for lasso_verify_signature 2011-03-29 18:14:35 +02:00
Benjamin Dauvergne 78c9a9382a [xml] fix lasso_node_get_xmlnode_for_any_type
xmlCopyPropList does not copy the property list into the target it just
copy it with respect to the target (mainly for namespace references).

This patch adds the real copy into the target node.
2011-03-07 16:25:17 +01:00
Benjamin Dauvergne 7ef67c8d7e [core] add missing namespace definitions to internal objects
Identity, Lecp, Login, Logout, NameIdentifierMapping, NameRegistration,
Session, AssertionQuery, Ecp and NameIdManagement objects were missing a
namespace association to their GObject class. It broke when you try to
dump a node created by lasso_node_new_from_dump.
2011-03-01 10:58:54 +01:00
Benjamin Dauvergne ff065bf750 [tests] add test case for multiple load and dump of the same object 2011-03-01 10:58:53 +01:00
Frédéric Péters e50d2d6206 [debian] adapt packaging to official section overrides 2011-02-08 11:15:19 +01:00
Frédéric Péters 862bcff904 [debian] sync packaging with official package 2011-02-08 11:14:28 +01:00
Benjamin Dauvergne 449b99532c Merge branch 'master' of git@dev.entrouvert.org:lasso 2011-01-25 15:38:21 +01:00
Jean-Marc Liger 2dcb20a925 [Fedora RPM] spec file update 2011-01-25 15:33:28 +01:00
Benjamin Dauvergne ea92dbe937 [tests] change perfs to accept a second parameter giving the data files to use
Also add metadata files to check performance with 512 and 1024 bit RSA
keys.
2011-01-24 14:49:35 +01:00
Frédéric Péters ce80031692 [php5] Comments starting with '#' are deprecated 2011-01-14 13:48:48 +01:00
Benjamin Dauvergne d502db18dd Remove right column with download, binary packages and source links
It is redundant with other columns.
2011-01-05 18:10:07 +01:00
Benjamin Dauvergne d3312e95f0 [web] fix date and version in news 19 2011-01-05 16:07:09 +01:00
Benjamin Dauvergne ccba7694ba [web] fix typo in news for release 2.3.5 2011-01-05 14:21:49 +01:00
Benjamin Dauvergne 1883d46ec2 Merge branch 'hotfixes-2.3.5' 2011-01-05 14:19:20 +01:00
Benjamin Dauvergne 6cb213e5f3 [ŕelease] Add release notes, update doap files and website 2011-01-05 11:41:46 +01:00
Benjamin Dauvergne 6c3684dc1f [dist] create Changelog directly from git 2011-01-05 11:41:22 +01:00
Benjamin Dauvergne d039ffc85f [tests] adapt Makefile.am to new path of metadata dir 2011-01-04 22:59:40 +01:00
Benjamin Dauvergne 20d2357451 Merge branch 'hotfixes-2.3.5' 2011-01-04 21:32:56 +01:00
Benjamin Dauvergne 346071a630 [wsf] fix wsf preprocessor conditionals 2011-01-04 16:43:06 +01:00
Benjamin Dauvergne 265f69e236 [bindings python] configure basic logging 2011-01-04 16:42:10 +01:00
Benjamin Dauvergne 433ebd9a99 [ghashtable] add G_GNUC_UNUSED to remove unused static functions warning 2011-01-04 16:39:34 +01:00
Benjamin Dauvergne 2b90dcd503 [saml2] when parsing short numbers reinitialize errno 2011-01-04 16:37:34 +01:00
Benjamin Dauvergne 03b15e3886 [bindings perl] fix get_hash_of_objects 2011-01-04 13:34:51 +01:00
Benjamin Dauvergne e3a035ba6a [bindings php5] remove hardcoding the php5 cli interpreter
The test script did fail under Centos/Fedora because the interpreter for
php5 is named php.
2011-01-04 11:16:00 +01:00
Benjamin Dauvergne f35901fdd2 Merge branch 'hotfixes-2.3.5' 2010-12-22 17:36:07 +01:00
Benjamin Dauvergne 9bfd555cda [bindings perl] downgrade requirement on perl version to 5 instead of 5.10 2010-12-22 17:35:14 +01:00
Benjamin Dauvergne e59c22aade [bindings perl] downgrade require on perl version to 5 instead of 5.10 2010-12-22 17:34:45 +01:00
Benjamin Dauvergne 908eef330d Merge branch 'hotfixes-2.3.5' 2010-12-22 17:00:33 +01:00
Benjamin Dauvergne d69649cc5d [xml] fix null pointer access in lasso_node_get_encryption 2010-12-22 11:03:52 +01:00
Benjamin Dauvergne fb37b807a7 [configure.ac] increment version and libtool version info 2010-12-21 17:44:38 +01:00
Benjamin Dauvergne cfd58003fa [saml2] fix errors in lasso)provider_get_first_http_method when a binding is unknown 2010-12-21 16:38:57 +01:00
Benjamin Dauvergne e401253f8d [saml2 provider] change critical messages to debug messages 2010-12-21 10:58:48 +01:00
Benjamin Dauvergne d8bff0dbb3 [saml2 profile] fix bug in binding_uri_to_http_method with the POST binding 2010-12-21 10:54:38 +01:00