Free software C library wich implements SAML 2.0 and Liberty Alliance standards
Go to file
John Dennis 3d9d58d52c Make more Python scripts compatible with both Py2 and Py3
While porting other Python code in the repo to run under Py3 (as well
as Py2) it was discovered there were a number of other Python scripts
which also needed porting. However these scripts are never invoked
during a build so there was no easy way to test the porting work. I
assume these scripts are for developers only and/or are
historical. Because there was no way for me to test the porting
changes on these scripts I did not want to include the changes in the
patch for the Py3 porting which fixed scripts that are invoked during
the build (the former patch is mandatory, this patch is optional at
the moment). I did verify the scripts compile cleanly under both Py2
and Py3, however it's possible I missed porting something or the error
does not show up until run-time.

Examples of the required changes are:

* Replace use of the built-in function file() with open().  file()
  does not exist in Py3, open works in both Py2 and Py3.  The code was
  also modified to use a file context manager (e.g. with open(xxx) as
  f:). This assures open files are properly closed when the code block
  using the file goes out of scope. This is a standard modern Python
  idiom.

* Replace all use of the print keyword with the six.print_()
  function, which itself is an emulation of Py3's print function. Py3
  no longer has a print keyword, only a print() function.

* The dict methods .keys(), .values(), .items() no longer return a
  list in Py3, instead they return a "view" object which is an
  iterator whose result is an unordered set. The most notable
  consequence is you cannot index the result of these functions like
  your could in Py2 (e.g. dict.keys()[0] will raise a run time
  exception).

* Replace use of StringIO.StringIO and cStringIO with
  six.StringIO. Py3 no longer has cStringIO and the six variant
  handles the correct import.

* Py3 no longer allows the "except xxx, variable" syntax, where
  variable appering after the comma is assigned the exception object,
  you must use the "as" keyword to perform the variable assignment
  (e.g. execpt xxx as variable)

* Python PEP 3113 removed tuple parameter unpacking. Therefore you can
  no longer define a formal parameter list that contains tuple
  notation representing a single parameter that is unpacked into
  multiple arguments.

License: MIT
Signed-off-by: John Dennis <jdennis@redhat.com>
2018-07-24 11:03:09 +02:00
abi more work toward release 2.4.0 2013-12-19 09:00:17 +01:00
bindings Make more Python scripts compatible with both Py2 and Py3 2018-07-24 11:03:09 +02:00
debian-jessie debian-jessie: add build dependency on pkg-config 2015-08-24 16:36:35 +02:00
debian-squeeze Add 'debian-squeeze/' from commit '33d67ddd1352a2db97d252c7d18f7806ec91e616' 2015-04-03 10:01:56 +02:00
debian-stretch debian: sync with debian package (#24595) 2018-06-27 18:16:02 +02:00
debian-wheezy Add 'debian-wheezy/' from commit '0001ab9af1e3a7e19000a65b75ebc3c42f76a739' 2015-04-03 10:01:19 +02:00
docs Make more Python scripts compatible with both Py2 and Py3 2018-07-24 11:03:09 +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 Make more Python scripts compatible with both Py2 and Py3 2018-07-24 11:03:09 +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 Make more Python scripts compatible with both Py2 and Py3 2018-07-24 11:03:09 +02:00
tools Make more Python scripts compatible with both Py2 and Py3 2018-07-24 11:03:09 +02:00
website Make more Python scripts compatible with both Py2 and Py3 2018-07-24 11:03:09 +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 Release 2.5.1 2016-02-18 23:59:01 +01:00
FAQ.rst python: add a classmethod for lasso.profileGetIssuer (#24831) 2018-06-28 08:55:59 +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 Release 2.6.0 2018-05-30 17:06:47 +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 Replace xmlSecSoap functions with lasso implementations 2018-04-30 18:06:55 +02:00
configure.ac Release 2.6.0 2018-05-30 17:06:47 +02:00
jenkins.sh jenkins.sh: add a make clean to prevent previous build to break new ones 2018-06-28 11:32:33 +02: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.