Compare commits

...

No commits in common. "imports/c10s/xmlsec1-1.2.37-8.el10" and "c8s" have entirely different histories.

11 changed files with 220 additions and 212 deletions

4
.gitignore vendored
View File

@ -1,3 +1 @@
/xmlsec1-1.2.36.tar.gz
/xmlsec1-1.2.37.tar.gz
/xmlsec1-1.3.0.tar.gz
/xmlsec1-1.2.25.tar.gz

View File

@ -1,108 +0,0 @@
From ffb327376f5bb69e8dfe7f805529e45a40118c2b Mon Sep 17 00:00:00 2001
From: lsh123 <aleksey@aleksey.com>
Date: Mon, 20 Nov 2023 11:50:43 -0500
Subject: [PATCH] Fix libxml2 v2.12.0 includes (#729)
---
Dropped mscrypto changes as unused and conflicting with older sources
apps/crypto.c | 1 +
apps/xmlsec.c | 3 ++-
include/xmlsec/xmlsec.h | 1 +
src/errors_helpers.h | 10 +++++-----
4 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/apps/crypto.c b/apps/crypto.c
index 8561dd659..4411233da 100644
--- a/apps/crypto.c
+++ b/apps/crypto.c
@@ -12,6 +12,7 @@
#endif
#include <string.h>
+#include <stdlib.h>
#include <xmlsec/xmlsec.h>
#include <xmlsec/keys.h>
diff --git a/apps/xmlsec.c b/apps/xmlsec.c
index 7655c1dbd..4bedb16a7 100644
--- a/apps/xmlsec.c
+++ b/apps/xmlsec.c
@@ -22,6 +22,7 @@
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
+#include <libxml/xmlsave.h>
#include <libxml/xpathInternals.h>
#ifndef XMLSEC_NO_XSLT
@@ -3030,7 +3031,7 @@ xmlSecAppInit(void) {
/* Init libxml */
xmlInitParser();
LIBXML_TEST_VERSION
- xmlTreeIndentString = "\t";
+ xmlThrDefTreeIndentString("\t");
#ifndef XMLSEC_NO_XSLT
xmlIndentTreeOutput = 1;
#endif /* XMLSEC_NO_XSLT */
diff --git a/include/xmlsec/xmlsec.h b/include/xmlsec/xmlsec.h
index 5757fc570..6f9101229 100644
--- a/include/xmlsec/xmlsec.h
+++ b/include/xmlsec/xmlsec.h
@@ -12,6 +12,7 @@
#define __XMLSEC_H__
#include <libxml/tree.h>
+#include <libxml/parser.h>
#include <xmlsec/version.h>
#include <xmlsec/exports.h>
diff --git a/src/errors_helpers.h b/src/errors_helpers.h
index 1a4f41837..470fdde65 100644
--- a/src/errors_helpers.h
+++ b/src/errors_helpers.h
@@ -136,7 +136,7 @@ extern "C" {
*/
#define xmlSecXmlError(errorFunction, errorObject) \
{ \
- xmlErrorPtr error = xmlGetLastError(); \
+ const xmlError * error = xmlGetLastError(); \
int code = (error != NULL) ? error->code : 0; \
const char* message = (error != NULL) ? error->message : NULL; \
xmlSecError(XMLSEC_ERRORS_HERE, \
@@ -159,7 +159,7 @@ extern "C" {
*/
#define xmlSecXmlError2(errorFunction, errorObject, msg, param) \
{ \
- xmlErrorPtr error = xmlGetLastError(); \
+ const xmlError * error = xmlGetLastError(); \
int code = (error != NULL) ? error->code : 0; \
const char* message = (error != NULL) ? error->message : NULL; \
xmlSecError(XMLSEC_ERRORS_HERE, \
@@ -181,7 +181,7 @@ extern "C" {
*/
#define xmlSecXmlParserError(errorFunction, ctxt, errorObject) \
{ \
- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
+ const xmlError * error = xmlCtxtGetLastError(ctxt);\
int code = (error != NULL) ? error->code : 0; \
const char* message = (error != NULL) ? error->message : NULL; \
xmlSecError(XMLSEC_ERRORS_HERE, \
@@ -205,7 +205,7 @@ extern "C" {
*/
#define xmlSecXmlParserError2(errorFunction, ctxt, errorObject, msg, param) \
{ \
- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
+ const xmlError * error = xmlCtxtGetLastError(ctxt);\
int code = (error != NULL) ? error->code : 0; \
const char* message = (error != NULL) ? error->message : NULL; \
xmlSecError(XMLSEC_ERRORS_HERE, \
@@ -227,7 +227,7 @@ extern "C" {
*/
#define xmlSecXsltError(errorFunction, ctxt, errorObject) \
{ \
- xmlErrorPtr error = xmlGetLastError(); \
+ const xmlError * error = xmlGetLastError(); \
int code = (error != NULL) ? error->code : 0; \
const char* message = (error != NULL) ? error->message : NULL; \
xmlSecError(XMLSEC_ERRORS_HERE, \

88
0001-resource-leaks.patch Normal file
View File

@ -0,0 +1,88 @@
diff -up xmlsec1-1.2.25/src/c14n.c.orig xmlsec1-1.2.25/src/c14n.c
--- xmlsec1-1.2.25/src/c14n.c.orig 2017-09-12 15:21:09.000000000 +0200
+++ xmlsec1-1.2.25/src/c14n.c 2024-05-14 09:55:35.800202266 +0200
@@ -228,7 +228,10 @@ xmlSecTransformC14NPushXml(xmlSecTransfo
/* we are using a semi-hack here: we know that xmlSecPtrList keeps
* all pointers in the big array */
nsList = xmlSecTransformC14NGetNsList(transform);
- xmlSecAssert2(xmlSecPtrListCheckId(nsList, xmlSecStringListId), -1);
+ if (! xmlSecPtrListCheckId(nsList, xmlSecStringListId)) {
+ xmlOutputBufferClose(buf);
+ xmlSecAssert2(0, -1);
+ };
ret = xmlSecTransformC14NExecute(transform->id, nodes, (xmlChar**)(nsList->data), buf);
if(ret < 0) {
@@ -292,7 +295,10 @@ xmlSecTransformC14NPopBin(xmlSecTransfor
/* we are using a semi-hack here: we know that xmlSecPtrList keeps
* all pointers in the big array */
nsList = xmlSecTransformC14NGetNsList(transform);
- xmlSecAssert2(xmlSecPtrListCheckId(nsList, xmlSecStringListId), -1);
+ if (! xmlSecPtrListCheckId(nsList, xmlSecStringListId)) {
+ xmlOutputBufferClose(buf);
+ xmlSecAssert2(0, -1);
+ }
ret = xmlSecTransformC14NExecute(transform->id, transform->inNodes, (xmlChar**)(nsList->data), buf);
if(ret < 0) {
@@ -732,4 +738,3 @@ xmlSecTransformId
xmlSecTransformRemoveXmlTagsC14NGetKlass(void) {
return(&xmlSecTransformRemoveXmlTagsC14NKlass);
}
-
diff -up xmlsec1-1.2.25/src/gcrypt/asymkeys.c.orig xmlsec1-1.2.25/src/gcrypt/asymkeys.c
--- xmlsec1-1.2.25/src/gcrypt/asymkeys.c.orig 2017-09-12 15:21:09.000000000 +0200
+++ xmlsec1-1.2.25/src/gcrypt/asymkeys.c 2024-05-14 09:55:35.801202265 +0200
@@ -186,6 +186,9 @@ xmlSecGCryptAsymKeyDataAdoptKey(xmlSecKe
pub_key = NULL; /* data owns it now */
priv_key = NULL; /* data owns it now */
+ /* Adopt functions assume ownership thus the caller would expect this to be released */
+ gcry_sexp_release(key_pair);
+
/* success */
res = 0;
diff -up xmlsec1-1.2.25/src/parser.c.orig xmlsec1-1.2.25/src/parser.c
--- xmlsec1-1.2.25/src/parser.c.orig 2017-09-12 15:21:09.000000000 +0200
+++ xmlsec1-1.2.25/src/parser.c 2024-05-14 09:55:35.802202264 +0200
@@ -354,7 +354,6 @@ xmlDocPtr
xmlSecParseFile(const char *filename) {
xmlParserCtxtPtr ctxt;
xmlDocPtr res = NULL;
- char *directory = NULL;
int ret;
xmlSecAssert2(filename != NULL, NULL);
@@ -371,23 +370,15 @@ xmlSecParseFile(const char *filename) {
/* crashes on x64 xmlCtxtUseOptions (ctxt, XML_PARSE_HUGE); */
/* todo: set directories from current doc? */
- if ((ctxt->directory == NULL) && (directory == NULL)) {
- directory = xmlParserGetDirectory(filename);
- if(directory == NULL) {
+ if (ctxt->directory == NULL) {
+ ctxt->directory = xmlParserGetDirectory(filename);
+ if(ctxt->directory == NULL) {
xmlSecXmlError2("xmlParserGetDirectory", NULL,
"filename=%s", xmlSecErrorsSafeString(filename));
xmlFreeParserCtxt(ctxt);
return(NULL);
}
}
- if ((ctxt->directory == NULL) && (directory != NULL)) {
- ctxt->directory = (char *) xmlStrdup(BAD_CAST directory);
- if(ctxt->directory == NULL) {
- xmlSecStrdupError(BAD_CAST directory, NULL);
- xmlFreeParserCtxt(ctxt);
- return(NULL);
- }
- }
/* required for c14n! */
ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
@@ -547,4 +538,3 @@ xmlSecParseMemory(const xmlSecByte *buff
xmlFreeParserCtxt(ctxt);
return(res);
}
-

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1 +1 @@
SHA512 (xmlsec1-1.2.37.tar.gz) = 99220cb28a346ffac0023f9f177d6a7be3ddcea04bea434b7dc926c1f0aaa5564d75f74f92896ac100179c04d77e001f688ddf46fed4e0a0b4f20b7b87c24900
SHA512 (xmlsec1-1.2.25.tar.gz) = ac61547a1cbf9016d7f75be3dc5249d6bc8a526bc51715e53ede13f056c1c72c57433a6be200c886000a25826c3e473954ded3ae988f25d37ac4ef4d777c66a6

1
tests/.fmf/version Normal file
View File

@ -0,0 +1 @@
1

5
tests/provision.fmf Normal file
View File

@ -0,0 +1,5 @@
---
standard-inventory-qcow2:
qemu:
m: 3G
smp: 2

View File

@ -0,0 +1,12 @@
#!/bin/bash
export GIT_SSL_NO_VERIFY=true
git clone https://github.com/latchset/federation_testing.git
cd federation_testing
if [ ! -d /tmp/artifacts ]; then
mkdir -p /tmp/artifacts
fi
./setup.sh
./test_xmlsec.sh

12
tests/tests.yml Normal file
View File

@ -0,0 +1,12 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
tests:
- mod_auth_mellon:
dir: scripts
run: ./run_tests.sh
required_packages:
- git

View File

@ -0,0 +1,55 @@
Please see this bug report for full details:
https://github.com/lsh123/xmlsec/issues/164
commit e303e077fb3e13654ba711b2816ff1a94247338b
Author: lsh123 <aleksey@aleksey.com>
Date: Wed Apr 11 17:13:43 2018 -1000
Add missing return(-1). (#165)
Fixed issue #164. All other crypto libraries are ok.
diff --git a/src/openssl/x509.c b/src/openssl/x509.c
index 15fe70db..b98e62d1 100644
--- a/src/openssl/x509.c
+++ b/src/openssl/x509.c
@@ -870,6 +870,7 @@ xmlSecOpenSSLX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlSecInternalError2("xmlSecOpenSSLX509CertificateNodeRead",
xmlSecKeyDataGetName(data),
"node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ return(-1);
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SubjectName, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509SubjectNameNodeRead(data, cur, keyInfoCtx);
@@ -877,6 +878,7 @@ xmlSecOpenSSLX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlSecInternalError2("xmlSecOpenSSLX509SubjectNameNodeRead",
xmlSecKeyDataGetName(data),
"node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ return(-1);
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerSerial, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509IssuerSerialNodeRead(data, cur, keyInfoCtx);
@@ -884,6 +886,7 @@ xmlSecOpenSSLX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlSecInternalError2("xmlSecOpenSSLX509IssuerSerialNodeRead",
xmlSecKeyDataGetName(data),
"node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ return(-1);
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SKI, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509SKINodeRead(data, cur, keyInfoCtx);
@@ -891,6 +894,7 @@ xmlSecOpenSSLX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlSecInternalError2("xmlSecOpenSSLX509SKINodeRead",
xmlSecKeyDataGetName(data),
"node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ return(-1);
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509CRL, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509CRLNodeRead(data, cur, keyInfoCtx);
@@ -898,6 +902,7 @@ xmlSecOpenSSLX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlSecInternalError2("xmlSecOpenSSLX509CRLNodeRead",
xmlSecKeyDataGetName(data),
"node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ return(-1);
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD) != 0) {
/* laxi schema validation: ignore unknown nodes */

View File

@ -1,29 +1,25 @@
Summary: Library providing support for "XML Signature" and "XML Encryption" standards
Name: xmlsec1
Version: 1.2.37
Version: 1.2.25
Release: 8%{?dist}%{?extra_release}
Epoch: 1
License: MIT
Source0: https://www.aleksey.com/xmlsec/download/xmlsec1-%{version}.tar.gz
Source0: http://www.aleksey.com/xmlsec/download/xmlsec1-%{version}.tar.gz
URL: http://www.aleksey.com/xmlsec/
# https://github.com/lsh123/xmlsec/pull/729
Patch0: 0001-Fix-libxml2-v2.12.0-includes.patch
BuildRequires: make
BuildRequires: pkgconfig(libxml-2.0) >= 2.8.0
BuildRequires: pkgconfig(libxslt) >= 1.0.20
BuildRequires: pkgconfig(openssl) >= 3.0.0
BuildRequires: pkgconfig(nss) >= 3.49.0
BuildRequires: pkgconfig(nspr) >= 4.25.0
BuildRequires: pkgconfig(openssl) >= 1.0.0
BuildRequires: pkgconfig(nss) >= 3.11.1
BuildRequires: pkgconfig(nspr) >= 4.4.1
BuildRequires: libgcrypt-devel >= 1.4.0
BuildRequires: pkgconfig(gnutls) >= 3.6.13
BuildRequires: pkgconfig(gnutls) >= 2.8.0
BuildRequires: libtool-ltdl-devel
# autoreconf stuff
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext-devel
BuildRequires: libtool
Patch0: 0001-resource-leaks.patch
Patch1: xmlSecOpenSSLX509DataNodeRead-error.patch
%description
XML Security Library is a C library based on LibXML2 and OpenSSL.
@ -32,7 +28,7 @@ standards "XML Digital Signature" and "XML Encryption".
%package devel
Summary: Libraries, includes, etc. to develop applications with XML Digital Signatures and XML Encryption support.
Requires: xmlsec1%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1%{?_isa} = %{version}-%{release}
Requires: openssl-devel%{?_isa} >= 1.0.0
%description devel
@ -41,7 +37,7 @@ Signatures and XML Encryption support.
%package openssl
Summary: OpenSSL crypto plugin for XML Security Library
Requires: xmlsec1%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1%{?_isa} = %{version}-%{release}
%description openssl
OpenSSL plugin for XML Security Library provides OpenSSL based crypto services
@ -49,15 +45,15 @@ for the xmlsec library.
%package openssl-devel
Summary: OpenSSL crypto plugin for XML Security Library
Requires: xmlsec1-devel%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-openssl%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-devel%{?_isa} = %{version}-%{release}
Requires: xmlsec1-openssl%{?_isa} = %{version}-%{release}
%description openssl-devel
Libraries, includes, etc. for developing XML Security applications with OpenSSL
%package gcrypt
Summary: GCrypt crypto plugin for XML Security Library
Requires: xmlsec1%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1%{?_isa} = %{version}-%{release}
%description gcrypt
GCrypt plugin for XML Security Library provides GCrypt based crypto services
@ -65,15 +61,16 @@ for the xmlsec library.
%package gcrypt-devel
Summary: GCrypt crypto plugin for XML Security Library
Requires: xmlsec1-devel%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-gnutls-devel%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-devel%{?_isa} = %{version}-%{release}
Requires: xmlsec1-gnutls-devel%{?_isa} = %{version}-%{release}
%description gcrypt-devel
Libraries, includes, etc. for developing XML Security applications with GCrypt.
%package gnutls
Summary: GNUTls crypto plugin for XML Security Library
Requires: xmlsec1%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1%{?_isa} = %{version}-%{release}
Requires: xmlsec1-gcrypt%{?_isa} = %{version}-%{release}
%description gnutls
GNUTls plugin for XML Security Library provides GNUTls based crypto services
@ -81,8 +78,9 @@ for the xmlsec library.
%package gnutls-devel
Summary: GNUTls crypto plugin for XML Security Library
Requires: xmlsec1-devel%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-openssl-devel%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-devel%{?_isa} = %{version}-%{release}
Requires: xmlsec1-openssl-devel%{?_isa} = %{version}-%{release}
Requires: libgcrypt-devel%{?_isa} >= 1.2.0
Requires: gnutls-devel%{?_isa} >= 1.0.20
%description gnutls-devel
@ -90,7 +88,7 @@ Libraries, includes, etc. for developing XML Security applications with GNUTls.
%package nss
Summary: NSS crypto plugin for XML Security Library
Requires: xmlsec1%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1%{?_isa} = %{version}-%{release}
%description nss
NSS plugin for XML Security Library provides NSS based crypto services
@ -98,15 +96,14 @@ for the xmlsec library
%package nss-devel
Summary: NSS crypto plugin for XML Security Library
Requires: xmlsec1-devel%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-nss%{?_isa} = 1:%{version}-%{release}
Requires: xmlsec1-devel%{?_isa} = %{version}-%{release}
Requires: xmlsec1-nss%{?_isa} = %{version}-%{release}
%description nss-devel
Libraries, includes, etc. for developing XML Security applications with NSS.
%prep
%setup -q
%patch -P0 -p1
%autosetup -p1
%build
autoreconf -vfi
@ -131,7 +128,7 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc
%ldconfig_scriptlets openssl
%files
%doc AUTHORS ChangeLog NEWS Copyright
%doc AUTHORS ChangeLog NEWS README Copyright
%{_mandir}/man1/xmlsec1.1*
%{_libdir}/libxmlsec1.so.*
%{_bindir}/xmlsec1
@ -140,7 +137,9 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc
%{_bindir}/xmlsec1-config
%dir %{_includedir}/xmlsec1
%dir %{_includedir}/xmlsec1/xmlsec
%dir %{_includedir}/xmlsec1/xmlsec/private
%{_includedir}/xmlsec1/xmlsec/*.h
%{_includedir}/xmlsec1/xmlsec/private/*.h
%{_libdir}/libxmlsec1.so
%{_libdir}/pkgconfig/xmlsec1.pc
%{_libdir}/xmlsec1Conf.sh
@ -181,81 +180,21 @@ mv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc
%{_libdir}/pkgconfig/xmlsec1-nss.pc
%changelog
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:1.2.37-8
- Bump release for June 2024 mass rebuild
* Fri May 31 2024 Tomas Halman <thalman@redhat.com> - 1.2.25-8
- Add gating tests
Related: RHEL-36185
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.2.37-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon May 20 2024 Tomas Halman <thalman@redhat.com> - 1.2.25-7
- Fix adopt function the same way as in upstream
Related: RHEL-36185
* Wed Dec 13 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1:1.2.37-6
- Fix build with libxml2-2.12.0
* Fri May 17 2024 Tomas Halman <thalman@redhat.com> - 1.2.25-6
- Add xmlsec1-gnutls dependency on xmlsec1-gcrypt
Related: RHEL-36185
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.2.37-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 22 2023 Tomas Halman <thalman@redhat.com> - 1.2.37-4
- Resolves: rhbz#2187631 - Cannot load modules/mod_auth_mellon.so
Revert to previous version
* Fri Apr 14 2023 Tomas Halman <thalman@redhat.com> - 1.3.0-1
- Resolves: rhbz#2186304 - rebase to version 1.3.0
* Tue Mar 7 2023 Tomas Halman <thalman@redhat.com> - 1.2.37-3
- migrated to SPDX license
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.37-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Nov 29 2022 Tomas Halman <thalman@redhat.com> - 1.2.37-1
- Resolves: rhbz#2149129 latest upstream release
* Tue Nov 08 2022 Caolán McNamara <caolanm@redhat.com> - 1.2.36-1
- Resolves: rhbz#2138484 latest upstream release
* Thu Oct 27 2022 Caolán McNamara <caolanm@redhat.com> - 1.2.35-1
- Resolves: rhbz#2137430 latest upstream release
* Mon Oct 24 2022 David King <amigadave@amigadave.com> - 1.2.34-3
- Rebuild against libxml2 (#2136800)
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.34-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed May 18 2022 Caolán McNamara <caolanm@redhat.com> - 1.2.34-1
- Resolves: rhbz#2081413 latest upstream release
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.33-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Nov 14 2021 Caolán McNamara <caolanm@redhat.com> - 1.2.33-1
- Resolves: rhbz#1826433 latest upstream release
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.2.29-5
- Rebuilt with OpenSSL 3.0.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.29-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.29-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Caolán McNamara <caolanm@redhat.com> - 1.2.29-1
- New upstream release
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.27-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Oct 23 2018 Simo Sorce <simo@redhat.com> - 1.2.27-1
- New upstream release
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.25-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon May 13 2024 Tomas Halman <thalman@redhat.com> - 1.2.25-5
- Fix memory leaks found by SAST
Resolves: RHEL-36185
* Thu Apr 12 2018 John Dennis <jdennis@redhat.com> - 1.2.25-4
- Resolves: rhbz#1566748