Sync from SUSE:SLFO:Main lasso revision faf507c6228ee8bb48d2f143c50582bf

This commit is contained in:
Adrian Schröter 2024-12-18 16:27:01 +01:00
commit 72ee2dbba9
7 changed files with 415 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
lasso-2.8.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
Index: b/autogen.sh
===================================================================
--- a/autogen.sh
+++ b/autogen.sh
@@ -27,7 +27,10 @@ cd "$srcdir"
DIE=1
}
-if automake-1.16 --version < /dev/null > /dev/null 2>&1; then
+if automake-1.17 --version < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake-1.17
+ ACLOCAL=aclocal-1.17
+elif automake-1.16 --version < /dev/null > /dev/null 2>&1; then
AUTOMAKE=automake-1.16
ACLOCAL=aclocal-1.16
elif automake-1.15 --version < /dev/null > /dev/null 2>&1; then

View File

@ -0,0 +1,17 @@
From 9767cdf7645a146bcc596a705ce32b855855a590 Mon Sep 17 00:00:00 2001
From: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date: Wed, 24 Jan 2024 15:08:56 +0100
Subject: [PATCH] misc: fix implicit function declaration errors (#85340)
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index 385858d1..bbc87d9f 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -47,6 +47,7 @@
#include <libxml/xmlIO.h>
#include <openssl/evp.h>
+#include <openssl/pem.h>
#include <xmlsec/base64.h>
#include <xmlsec/crypto.h>

View File

@ -0,0 +1,40 @@
diff --git a/lasso/lasso.c b/lasso/lasso.c
index 42b7d6bb..bc75f5e6 100644
--- a/lasso/lasso.c
+++ b/lasso/lasso.c
@@ -138,7 +138,13 @@ DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
#include "types.c"
static void
-lasso_xml_structured_error_func(G_GNUC_UNUSED void *user_data, xmlErrorPtr error)
+lasso_xml_structured_error_func(G_GNUC_UNUSED void *user_data,
+#if LIBXML_VERSION >= 21200
+ const xmlError *error
+#else
+ xmlErrorPtr error
+#endif
+ )
{
g_log("libxml2", G_LOG_LEVEL_DEBUG, "libxml2: %s", error->message);
}
diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c
index bbc87d9f..4d5fa78a 100644
--- a/lasso/xml/tools.c
+++ b/lasso/xml/tools.c
@@ -1450,7 +1450,14 @@ lasso_concat_url_query(const char *url, const char *query)
}
}
-static void structuredErrorFunc (void *userData, xmlErrorPtr error) {
+static void structuredErrorFunc (void *userData,
+#if LIBXML_VERSION >= 21200
+ const xmlError *error
+#else
+ xmlErrorPtr error
+#endif
+ )
+{
*(int*)userData = error->code;
}

169
lasso.changes Normal file
View File

@ -0,0 +1,169 @@
-------------------------------------------------------------------
Fri Nov 15 03:09:23 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>
- Fix build issues
* lasso-automake-1.17-support.patch
* lasso-fix-implicit-declarations.patch
* lasso-libxml2-2.12-support.patch
-------------------------------------------------------------------
Thu Mar 16 12:52:32 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to 2.8.2:
* Compatibility with EVP API of openssl 1.x
- Changes from 2.8.1:
* Major overhaul of OpenSSL API usage by using only the EVP API
as the low level API (RSA*, HMAC*) is deprecated.
* Fix wrong parsing of Count attribute on saml:ProxyRestriction.
* Perl: pass LDFLAGS to Makefile.PL
* Replace use of deprecated xmlSecBase64Decode by
xmlSecBase64Decode_ex.
* Fix overwrite of profile.signature_status in
lasso_saml20_login_process_response_status_and_assertion.
* Fix lot of GCC warnings
-------------------------------------------------------------------
Wed Mar 16 10:05:43 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>
- Updaet to 2.8.0:
* Improve choice of signature method and of allowed signature method (by Jakub
Hrozek <jhrozek@redhat.com>), it's now possible to completely forbid SHA1 for
example
* Change default RSA encryption padding to OAEP
* Fix: HMAC signature other than SHA1 (jhrozek@redhat.com)
* Fix: prevent multiple OneTimeUse elements
-------------------------------------------------------------------
Wed Sep 15 11:55:17 UTC 2021 - Marcus Meissner <meissner@suse.com>
- the required of xmlsec1 (which only has the commandline binariy)
in the library package seems unnecessary.
- some pkgconfig buildrequires conversion
-------------------------------------------------------------------
Fri Jun 18 22:29:40 UTC 2021 - Michael Ströder <michael@stroeder.com>
- Update to 2.7.0
* CVE-2021-28091 (boo#1186768):
Fix signature checking on unsigned response with multiple assertions
* Jenkinsfile: update name of main branch
* Python: improve display of warnings in the binding generator
* replace deprecated index() by strchr() (#51385)
* Fix: new provider reference count is incremented one time too many (#51420)
* docs: update gtk-doc-tools integration (#50441)
* Using reference documentation on https://developer.gnome.org/gtk-doc-manual/stable/index.html.en
* bindings: disable java tests when java is disabled
* Fix: RecursionError in python3 bindings (#51249)
* configure.ac: disable java bindings
* build: update to use origin/main
* debian: add packaging for debian-buster
* jenkins.sh: build against all available python versions (#44287)
* python: do not leak out_pyvalue if method call protocol is not respected (#44287)
* python: do not raise in valid_seq() (#44287)
* python: return NULL if get_list_of_strings() fails (#44287)
* python: return NULL if get_list_of_pygobject fails (#44287)
* python: return NULL if get_list_of_xml_nodes fails (#44287)
* python: return NULL if set_list_of_pygobject fails (#44287)
* python: return NULL if set_list_of_xml_nodes fails (#44287)
* python: return NULL if set_list_of_strings fails (#44287)
* python: return NULL if set_hashtable_of_strings fails (#44287)
* python: return NULL if set_hashtable_of_pygobject fails (#44287)
* python: free internal string buffer if needed in set_list_of_strings (#44287)
* python: check if hashtable is NULL before deallocatio (#44287)n
* python: add a failure label to method wrappers (#44287)
* python: add macro for early return (#44287)
* python: remove newline before method call (#44287)
* python: simplify get_logger_object (#44287)
* python: fix warning about discarded const modifier (#44287)
* python: replace exception by warning on logging path (#44287)
* python: use simpler call format to prevent warning about PY_SSIZE_T_CLEAN (#44287)
* python: remove deprecated PyErr_Warn (#44287)
* python: remove unused PyString_Size (#44287)
* python: Exception.message was removed in python3 (#45995)
* tools: reimplement xmlURIEscapeStr to respect RFC3986 (#45581)
* configure.ac: support php7 interpreter on CentOS 8 (#42299)
-------------------------------------------------------------------
Tue Apr 28 12:23:34 UTC 2020 - Kristyna Streitova <kstreitova@suse.com>
- Update to 2.6.1
* Keep order of SessionIndexes
* Clear SessionIndex when private SessionIndexes is empty
* misc: clear warnings about class_init signature using coccinelle
* tests: fix compilation with check>0.12
* Sort input file lists to make build deterministic
* Modify .gitignore for PHP 7 binding
* Add PHP 7 binding
* Fix tests broken by new DEBUG logs
* Improve error logging during node parsing
* Improve configure compatibility
* Improve compatibility with Solaris
* Fix reference count in lasso_server_add_provider2
* Fix python multi-version builds on jessie and stretch
* docs: do not use Internet to fetch DTDs, entities or documents
* fix missing include <strings.h> for index()
* PAOS: Do not populate "Destination" attribute
* export symbol lasso_log
* Do not ignore WantAuthnRequestSigned value with hint MAYBE
* Use io.open(encoding=utf8) in extract_symbols/sections.py
* xml: adapt schema in saml2:AuthnContext
* Fix ECP signature not found error when only assertion is signed
* autoconf: search python interpreters by versions
* python: make tools compatible with Py3
* python: run tests and tools with same interpreter as binding target
* improve resiliency of lasso_inflate
* fix segfault in lasso_get_saml_message
* python: add classmethod Profile.getIssuer
* website: add news about 2.6.0 release
* faq: fix references to lasso.profileGetIssuer
* python: add a classmethod for lasso.profileGetIssuer
* tools: fix segfault in lasso_get_saml_message
* jenkins.sh: add a make clean to prevent previous build to break new ones
* tools: set output buffer size in lasso_inflate to 20 times the input size
* Use python interpreter specified configure script
* Make Python scripts compatible with both Py2 and Py3
* fix duplicate definition of LogoutTestCase and logoutSuite
* Downcase UTF-8 file encoding name
* Make more Python scripts compatible with both Py2 and Py3
* Configure should search for versioned Python interpreter.
* Clean python cache when building python3 binding
* Move AC_SUBST declaration for AM_CFLAGS with alike
* Remove -Werror from --enable-debugging
* xml: fix parsing of saml:AuthnContext
- Remove upstreamed patches:
* use-specified-python-interpreter.patch
* duplicate-python-LogoutTestCase.patch
* versioned-python-configure.patch
* build-scripts-py3-compatible.patch
* 0005-tests-use-self-generated-certificate-to-sign-federat.patch
* 0006-Fix-ECP-signature-not-found-error-when-only-assertio.patch
* 0007-PAOS-Do-not-populate-Destination-attribute.patch
* 0008-Explicitly-define-tests-cases-and-add-them-to-tests.patch
-------------------------------------------------------------------
Wed Feb 26 11:23:31 UTC 2020 - Kristyna Streitova <kstreitova@suse.com>
- remove .la and .a files in a consistent way
-------------------------------------------------------------------
Tue Feb 25 16:19:03 UTC 2020 - Kristyna Streitova <kstreitova@suse.com>
- remove automake-version.patch that is not needed
- run spec-cleaner
-------------------------------------------------------------------
Sun Feb 9 16:18:15 UTC 2020 - Neal Gompa <ngompa13@gmail.com>
- Sync more patches from Fedora
* 0007-PAOS-Do-not-populate-Destination-attribute.patch
* 0008-Explicitly-define-tests-cases-and-add-them-to-tests.patch
-------------------------------------------------------------------
Sun Jul 21 23:15:56 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
- Simplify the packaging and drop all unused sections and subpackages
-------------------------------------------------------------------
Sun Jun 30 19:28:29 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
- Initial packaging based on Fedora spec

147
lasso.spec Normal file
View File

@ -0,0 +1,147 @@
#
# spec file for package lasso
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2019 Red Hat, Inc., Raleigh, North Carolina, United States of America.
# Copyright (c) 2020 Neal Gompa <ngompa13@gmail.com>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global with_wsf 0
# None of these extra bindings are working or wanted right now...
%global configure_args --disable-java --disable-perl --enable-php5=no
%global somajor 3
%global libname lib%{name}%{somajor}
%global devname lib%{name}-devel
%if %{with_wsf}
%global configure_args %{configure_args} --enable-wsf --with-sasl2=%{_prefix}/sasl2
%endif
Name: lasso
Version: 2.8.2
Release: 0
Summary: Liberty Alliance Single Sign On
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
URL: https://lasso.entrouvert.org/
Source: https://dev.entrouvert.org/lasso/lasso-%{version}.tar.gz
# PATCH-FIX-OPENSUSE lasso-automake-1.17-support.patch -- Fix builds with automake 1.17
Patch1: lasso-automake-1.17-support.patch
# PATCH-FIX-UPSTREAM lasso-fix-implicit-declarations.patch -- Fix implicit declarations
Patch2: lasso-fix-implicit-declarations.patch
# PATCH-FIX-UPSTREAM lasso-libxml2-2.12-support.patch -- Fix builds with libxml2 2.12
Patch3: lasso-libxml2-2.12-support.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: check-devel
BuildRequires: gtk-doc
BuildRequires: libtool
BuildRequires: libtool-ltdl-devel
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(openssl)
# The Lasso build system requires python, especially the binding generators
BuildRequires: python3
BuildRequires: python3-devel
BuildRequires: python3-lxml
BuildRequires: python3-six
BuildRequires: swig
BuildRequires: pkgconfig(xmlsec1) >= 1.2.25
BuildRequires: pkgconfig(xmlsec1-openssl) >= 1.2.25
BuildRequires: pkgconfig(zlib)
%if %{with_wsf}
BuildRequires: pkgconfig(cyrus-sasl)
%endif
%description
Lasso is a library that implements the Liberty Alliance Single Sign On
standards, including the SAML and SAML2 specifications. It allows to handle
the whole life-cycle of SAML based Federations, and provides bindings
for multiple languages.
%package -n %{libname}
Summary: Lasso runtime libraries
Group: System/Libraries
%description -n %{libname}
This package contains the runtime libraries for lasso (Liberty Alliance Single Sign On).
%package -n %{devname}
Summary: Lasso development headers and documentation
Group: Development/Libraries/C and C++
Requires: %{libname}%{?_isa} = %{version}-%{release}
%description -n %{devname}
This package contains the header files, static libraries and development
documentation for Lasso.
%package -n python3-%{name}
Summary: Liberty Alliance Single Sign On (lasso) Python bindings
Group: Development/Libraries/Python
Requires: %{libname}%{?_isa} = %{version}-%{release}
Requires: python3
%description -n python3-%{name}
Python language bindings for the lasso (Liberty Alliance Single Sign On)
library.
%prep
%autosetup -p1
# Remove any python script shebang lines (unless they refer to python3)
sed -i -E -e '/^#![[:blank:]]*(\/usr\/bin\/env[[:blank:]]+python[^3]?\>)|(\/usr\/bin\/python[^3]?\>)/d' \
`grep -r -l -E '^#![[:blank:]]*(%{_bindir}/python[^3]?)|(%{_bindir}/env[[:blank:]]+python[^3]?)' *`
%build
%if 0%{?suse_version} && 0%{?suse_version} < 1550
# Try to fix build on Leap 15.1...
export LC_ALL="C.UTF-8"
export LANG="C.UTF-8"
%endif
./autogen.sh
%configure %{configure_args} --with-python=python3
%make_build CFLAGS="%{optflags}"
%check
%make_build check
%install
#install -m 755 -d %{buildroot}%{_datadir}/gtk-doc/html
make install exec_prefix=%{_prefix} DESTDIR=%{buildroot}
find %{buildroot} -type f -regex ".*\(.la\|.a\)" -delete -print
# Remove bogus doc files
rm -fr %{buildroot}%{_datadir}/doc/%{name}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files -n %{libname}
%doc AUTHORS NEWS README
%license COPYING
%{_libdir}/liblasso.so.%{somajor}*
%{_libdir}/liblasso.so.%{somajor}.*
%files -n %{devname}
%{_libdir}/liblasso.so
%{_libdir}/pkgconfig/lasso.pc
%{_includedir}/%{name}
%files -n python3-%{name}
%{python3_sitearch}/lasso.py*
%{python3_sitearch}/_lasso.so
%changelog