Free software C library wich implements SAML 2.0 and Liberty Alliance standards
Go to file
John Dennis 1c31736ded Implement ECP client functionality
Implement everything needed to support a SAMLv2 ECP client.

Re-implement lasso_ecp_process_authn_request_msg() and
lasso_ecp_process_response_msg() to use the Lasso XML serialization
subsystem with the ECP and PASO LassoNode's introduced earlier. This
replaces one-off explicit direct use of the libxml API with Lasso
common code. In the process provide support for 100% of the ECP and
PAOS SAMLv2 parameters, not just a subset. Include support for
receiving an IDPList from the SP in conjuction with selecting an IdP
known to the ECP client. Add extensive documentation.

Modify LassoSamlp2AuthnRequest to preserve it's original XML (enable
keep_xmlnode flag) so that when serializing the SOAP request the
LassoSamlp2AuthnRequest received from the SP is exactly duplicated.

Add the following internal static utility functions:

is_provider_in_sp_idplist()
is_idp_entry_in_entity_id_list()
intersect_sp_idplist_with_entity_id_list()

Add the following exported utility functions:

lasso_ecp_is_provider_in_sp_idplist()
lasso_ecp_is_idp_entry_known_idp_supporting_ecp()
lasso_ecp_set_known_sp_provided_idp_entries_supporting_ecp()
lasso_ecp_has_sp_idplist()
lasso_ecp_get_endpoint_url_by_entity_id()
lasso_ecp_process_sp_idp_list()

Add the following members to the ECP class:

message_id
response_consumer_url
relaystate
issuer
provider_name
is_passive
sp_idp_list
known_sp_provided_idp_entries_supporting_ecp
known_idp_entity_ids_supporting_ecp

Signed-off-by: John Dennis <jdennis@redhat.com>
License: MIT
2015-08-24 16:05:29 +02:00
abi more work toward release 2.4.0 2013-12-19 09:00:17 +01:00
bindings Export LassonNode to SOAP with arbitrary SOAP headers 2015-08-24 16:05:29 +02:00
debian-squeeze Add 'debian-squeeze/' from commit '33d67ddd1352a2db97d252c7d18f7806ec91e616' 2015-04-03 10:01:56 +02:00
debian-wheezy Add 'debian-wheezy/' from commit '0001ab9af1e3a7e19000a65b75ebc3c42f76a739' 2015-04-03 10:01:19 +02:00
docs Implement ECP client functionality 2015-08-24 16:05:29 +02:00
examples/sp-cgi Improve top level commint in CGI script example 2014-10-17 23:02:12 +02:00
fedora configure.ac,fedora/lasso.spec: remove expat dependency 2013-12-19 10:14:52 +01:00
lasso Implement ECP client functionality 2015-08-24 16:05:29 +02:00
logos Added Lasso logo. 2004-07-30 08:02:08 +00:00
m4 Fix license boilerplates 2013-12-03 21:55:06 +01:00
tests Add checks for failure of an allocation function from libxml (#8070) 2015-08-24 10:25:03 +02:00
tools Add tool gitlog-to-changelog 2014-08-28 16:00:13 +02:00
website Release 2.4.1 2014-08-28 16:02:06 +02:00
win32 Fix license boilerplates 2013-12-03 21:55:06 +01:00
.gitignore Ignore some Perl binding files 2015-02-12 19:21:11 +01:00
AUTHORS Update AUHTORS file 2015-02-12 19:21:13 +01:00
COPYING Fix license boilerplates 2013-12-03 21:55:06 +01:00
ChangeLog Mention Python 3 support in the changelog 2015-02-12 19:21:12 +01:00
FAQ.rst FAQ: add section about getting the issuer before parsing the received message (#4378) 2015-08-24 10:25:03 +02:00
HACKING limit line length to 100 characters. 2004-11-25 22:25:51 +00:00
INSTALL Python 3: Fix Python 2 support (use six.print_) 2015-02-12 19:21:12 +01:00
Makefile.am configure: generate version number from git revision between tagged release 2013-05-15 11:28:25 +02:00
NEWS Fix release date of 2.4.1 2014-08-28 17:20:18 +02:00
README Fix license boilerplates 2013-12-03 21:55:06 +01:00
README.JAVA [Core] complete README.JAVA about later release of gcj 2010-07-21 13:57:00 +00:00
README.WIN32 fixing minor typo 2006-12-27 14:59:40 +00:00
autogen.sh Support automake 1.13 and 1.14 2013-12-05 17:20:51 +01:00
configure.ac Add LassoNode objects for ECP and PAOS 2015-08-24 16:05:29 +02:00
jenkins.sh jenkins.sh: do not ignore errors 2013-11-20 08:49:00 +01:00
lasso-src-config.in Perl module builds and links correctly. 2005-01-02 22:37:25 +00:00
lasso.doap [release] 2.3.6 2011-11-29 10:42:16 +01:00
lasso.pc.in pkgconfig: do not leak lasso dependencies to users 2013-03-07 13:52:03 +01:00

README

==============
Lasso Overview
==============

  Current homepage: <http://lasso.entrouvert.org>

Lasso (Liberty Alliance Single Sign-On) is a free (GNU GPL) implementation
of the Liberty Alliance specifications.  Those define processes for
federated identities, single sign-on and related protocols.  Lasso provides
both a C library and bindings for different languages.

  Liberty Alliance Project homepage: <http://www.project-liberty.org>


The latest version of Lasso can be found on the labs.libre-entreprise.org
website, <http://labs.libre-entreprise.org/frs/?group_id=31>


Lasso has several mailing lists:

- lasso-devel@lists.labs.libre-entreprise.org

  The mailing list for Lasso users and developers; discussions about both
  development and deployment of Lasso have their place on this list.

  <http://lists.labs.libre-entreprise.org/mailman/listinfo/lasso-devel>

- lasso-cvs-commits@lists.labs.libre-entreprise.org

  This list just distributes notices about commits to the Lasso CVS tree.
  It has no discussions, and it is not interesting unless you wish to
  take part in development.

  <http://lists.labs.libre-entreprise.org/mailman/listinfo/lasso-cvs-commits>

There is also a bug tracking system on the labs.libre-entreprise.org website,
  <http://labs.libre-entreprise.org/tracker/?atid=206&group_id=31>


Lasso was originally written by Nicolas Clapiès and Valéry Febvre.  Please
see the file AUTHORS_ for a list of major contributors, and the ChangeLog
for a detailed listing of all contributions.

::

  Copyright (c) 2004-2008 Entr'ouvert
  Excepted the Lasso logo, copyright (c) 2004, Entr'ouvert & Florent Monnier


  This program is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the Free
  Software Foundation; either version 2 of the License, or (at your option)
  any later version.

  This program is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  for more details.

  You should have received a copy of the GNU General Public License along
  with this program; if not, write to the Free Software Foundation, Inc.,
  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.

  In addition, as a special exception, Entr'ouvert gives permission to link
  the code of its release of Lasso with the OpenSSL project's "OpenSSL"
  library (or with modified versions of it that use the same license as the
  "OpenSSL" library), and distribute the linked executables.  You must obey
  the GNU General Public License in all respects for all of the code used
  other than "OpenSSL".  If you modify this file, you may extend this
  exception to your version of the file, but you are not obligated to do so.
  If you do not wish to do so, delete this exception statement from your
  version.