Compare commits

...

1 Commits
c8 ... c10

Author SHA1 Message Date
335b159869 import UBI libtasn1-4.20.0-1.el10 2025-05-14 15:51:35 +00:00
9 changed files with 140 additions and 346 deletions

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/gpgkey-1F42418905D8206AA754CCDC29EE58B996865171.gpg
SOURCES/libtasn1-4.13.tar.gz
gpgkey-B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE.gpg
libtasn1-4.20.0.tar.gz

View File

@ -1,2 +0,0 @@
a5442dfcf7f1b60f55f0e270e014a57710e75069 SOURCES/gpgkey-1F42418905D8206AA754CCDC29EE58B996865171.gpg
a84afb4cd8187c1fa5901c6bc1cf1486eea66635 SOURCES/libtasn1-4.13.tar.gz

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEqBLL/fzcTQvnoJMSnV6q9pATuEIFAlpeOtEACgkQnV6q9pAT
uEIWNAf/YnmT4u3ShAfhUKE4sIap+8ivG5AxCPw1Rwgwc8qcS2VKOVeiwYTWmt9t
g5CDrVu27DTPbCkdS7sTKrHQT3Pjc2DRJWHJbaHr5J717sNp50XWWXjNyZGrmyN4
ais1d7no0GMXRsR6SUOFi+M52Q/vWhhYz4gaDAV9XSOqbJ6MPiw4BhjqyVSQ4lwD
Lfn4upk+1JFjzCpVft7iXrx1P4RXvFJC1sBYpUJAbdm9y0rO5jGiY7EHokDNq1rT
71hBWUclo37GsJnF65CRD1Mb5/wdZxm2wvEL/SFlHKqnY/uB3y4u7il91fi9zrwY
mDmVimu7E563pqum16000pybZIEmFw==
=LTAv
-----END PGP SIGNATURE-----

View File

@ -1,11 +0,0 @@
--- a/lib/int.h 2022-11-30 14:21:26.985600761 -0500
+++ b/lib/int.h 2022-11-30 14:23:25.856065950 -0500
@@ -97,7 +97,7 @@
#define ETYPE_TAG(etype) (_asn1_tags[etype].tag)
#define ETYPE_CLASS(etype) (_asn1_tags[etype].class)
#define ETYPE_OK(etype) (((etype) != ASN1_ETYPE_INVALID && \
- (etype) <= _asn1_tags_size && \
+ (etype) < _asn1_tags_size && \
_asn1_tags[(etype)].desc != NULL)?1:0)
#define ETYPE_IS_STRING(etype) ((etype == ASN1_ETYPE_GENERALSTRING || \

View File

@ -1,280 +0,0 @@
From 4082ca2220b5ba910b546afddf7780fc4a51f75a Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@gnu.org>
Date: Sat, 19 Oct 2024 02:47:04 +0900
Subject: [PATCH 1/2] asn1_der_decoding2: optimize _asn1_find_up call with node
cache
If we are parsing a sequence or set and the current node is a direct
child of it, there is no need to traverse the list back to the
leftmost one as we have a node cache.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Signed-off-by: Simon Josefsson <simon@josefsson.org>
---
lib/decoding.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/decoding.c b/lib/decoding.c
index d2f6dea..1e0fcb3 100644
--- a/lib/decoding.c
+++ b/lib/decoding.c
@@ -1570,7 +1570,14 @@ asn1_der_decoding2 (asn1_node *element, const void *ider, int *max_ider_len,
move = UP;
}
if (move == UP)
- p = _asn1_find_up (p);
+ {
+ /* If we are parsing a sequence or set and p is a direct
+ child of it, no need to traverse the list back to the leftmost node. */
+ if (tcache.tail == p)
+ p = tcache.head;
+ else
+ p = _asn1_find_up (p);
+ }
}
_asn1_delete_not_used (*element);
--
2.47.1
From 869a97aa259dffa2620dabcad84e1c22545ffc3d Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@gnu.org>
Date: Fri, 8 Nov 2024 16:05:32 +0900
Subject: [PATCH 2/2] asn1_find_node: optimize "?NUMBER" node lookup with
indexing
To avoid linear search of named nodes, this adds a array of child
nodes to their parent nodes as a cache.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Signed-off-by: Simon Josefsson <simon@josefsson.org>
---
lib/element.c | 56 ++++++++++++++++++++++++++++++++++++++++++------
lib/element.h | 10 +++++++++
lib/int.h | 8 +++++++
lib/parser_aux.c | 10 +++++++++
lib/structure.c | 13 +++++++++++
5 files changed, 90 insertions(+), 7 deletions(-)
diff --git a/lib/element.c b/lib/element.c
index 850bef4..528df41 100644
--- a/lib/element.c
+++ b/lib/element.c
@@ -33,6 +33,8 @@
#include "structure.h"
#include "element.h"
+#include <limits.h>
+#include "intprops.h"
void
_asn1_hierarchical_name (asn1_node node, char *name, int name_size)
@@ -129,6 +131,41 @@ _asn1_convert_integer (const unsigned char *value, unsigned char *value_out,
return ASN1_SUCCESS;
}
+int
+_asn1_node_array_set (struct asn1_node_array_st *array, size_t position,
+ asn1_node node)
+{
+ if (position >= array->size)
+ {
+ size_t new_size = position, i;
+ asn1_node *new_nodes;
+
+ if (INT_MULTIPLY_OVERFLOW (new_size, 2))
+ return ASN1_GENERIC_ERROR;
+ new_size *= 2;
+
+ if (INT_ADD_OVERFLOW (new_size, 1))
+ return ASN1_GENERIC_ERROR;
+ new_size += 1;
+
+ if (INT_MULTIPLY_OVERFLOW (new_size, sizeof (*new_nodes)))
+ return ASN1_GENERIC_ERROR;
+
+ new_nodes = realloc (array->nodes, new_size * sizeof (*new_nodes));
+ if (!new_nodes)
+ return ASN1_MEM_ALLOC_ERROR;
+
+ for (i = array->size; i < new_size; i++)
+ new_nodes[i] = NULL;
+
+ array->nodes = new_nodes;
+ array->size = new_size;
+ }
+
+ array->nodes[position] = node;
+ return ASN1_SUCCESS;
+}
+
/* Appends a new element into the sequence (or set) defined by this
* node. The new element will have a name of '?number', where number
* is a monotonically increased serial number.
@@ -145,6 +182,7 @@ _asn1_append_sequence_set (asn1_node node, struct node_tail_cache_st *pcache)
asn1_node p, p2;
char temp[LTOSTR_MAX_SIZE];
long n;
+ int result;
if (!node || !(node->down))
return ASN1_GENERIC_ERROR;
@@ -177,17 +215,21 @@ _asn1_append_sequence_set (asn1_node node, struct node_tail_cache_st *pcache)
pcache->tail = p2;
}
- if (p->name[0] == 0)
- _asn1_str_cpy (temp, sizeof (temp), "?1");
- else
+ n = 0;
+ if (p->name[0] != 0)
{
- n = strtol (p->name + 1, NULL, 0);
- n++;
- temp[0] = '?';
- _asn1_ltostr (n, temp + 1);
+ n = strtol (p->name + 1, NULL, 10);
+ if (n <= 0 || n >= LONG_MAX - 1)
+ return ASN1_GENERIC_ERROR;
}
+ temp[0] = '?';
+ _asn1_ltostr (n + 1, temp + 1);
_asn1_set_name (p2, temp);
/* p2->type |= CONST_OPTION; */
+ result = _asn1_node_array_set (&node->numbered_children, n, p2);
+ if (result != ASN1_SUCCESS)
+ return result;
+ p2->parent = node;
return ASN1_SUCCESS;
}
diff --git a/lib/element.h b/lib/element.h
index 732054e..b84e3a2 100644
--- a/lib/element.h
+++ b/lib/element.h
@@ -38,4 +38,14 @@ int _asn1_convert_integer (const unsigned char *value,
void _asn1_hierarchical_name (asn1_node node, char *name, int name_size);
+static inline asn1_node
+_asn1_node_array_get (const struct asn1_node_array_st *array, size_t position)
+{
+ return position < array->size ? array->nodes[position] : NULL;
+}
+
+int
+_asn1_node_array_set (struct asn1_node_array_st *array, size_t position,
+ asn1_node node);
+
#endif
diff --git a/lib/int.h b/lib/int.h
index 4f2d98d..41b12b0 100644
--- a/lib/int.h
+++ b/lib/int.h
@@ -31,6 +31,12 @@
#define ASN1_SMALL_VALUE_SIZE 16
+struct asn1_node_array_st
+{
+ asn1_node *nodes;
+ size_t size;
+};
+
/* This structure is also in libtasn1.h, but then contains less
fields. You cannot make any modifications to these first fields
without breaking ABI. */
@@ -47,6 +53,8 @@ struct asn1_node_st
asn1_node left; /* Pointer to the next list element */
/* private fields: */
unsigned char small_value[ASN1_SMALL_VALUE_SIZE]; /* For small values */
+ asn1_node parent; /* Pointer to the parent node */
+ struct asn1_node_array_st numbered_children; /* Array of unnamed child nodes for caching */
/* values used during decoding/coding */
int tmp_ival;
diff --git a/lib/parser_aux.c b/lib/parser_aux.c
index 415905a..4281cc9 100644
--- a/lib/parser_aux.c
+++ b/lib/parser_aux.c
@@ -21,6 +21,7 @@
#include <int.h>
#include <hash-pjw-bare.h>
+#include <limits.h>
#include "parser_aux.h"
#include "gstr.h"
#include "structure.h"
@@ -126,6 +126,7 @@ asn1_find_node (asn1_node pointer, const char *name)
const char *n_start;
unsigned int nsize;
unsigned int nhash;
+ const struct asn1_node_array_st *numbered_children;
if (pointer == NULL)
return NULL;
@@ -209,6 +210,7 @@ asn1_find_node (asn1_node pointer, const char *name)
if (p->down == NULL)
return NULL;
+ numbered_children = &p->numbered_children;
p = p->down;
if (p == NULL)
return NULL;
@@ -222,6 +224,12 @@ asn1_find_node (asn1_node pointer, const char *name)
}
else
{ /* no "?LAST" */
+ if (n[0] == '?' && isdigit (n[1]))
+ {
+ long position = strtol (n + 1, NULL, 10);
+ if (position > 0 && position < LONG_MAX)
+ p = _asn1_node_array_get (numbered_children, position - 1);
+ }
while (p)
{
if (p->name_hash == nhash && !strcmp (p->name, n))
@@ -509,6 +517,8 @@ _asn1_remove_node (asn1_node node, unsigned int flags)
if (node->value != node->small_value)
free (node->value);
}
+
+ free (node->numbered_children.nodes);
free (node);
}
diff --git a/lib/structure.c b/lib/structure.c
index 9c95b9e..32692ad 100644
--- a/lib/structure.c
+++ b/lib/structure.c
@@ -31,6 +31,9 @@
#include <structure.h>
#include "parser_aux.h"
#include <gstr.h>
+#include <ctype.h>
+#include "element.h"
+#include <limits.h>
extern char _asn1_identifierMissing[];
@@ -391,6 +394,16 @@ asn1_delete_element (asn1_node structure, const char *element_name)
if (source_node == NULL)
return ASN1_ELEMENT_NOT_FOUND;
+ if (source_node->parent
+ && source_node->name[0] == '?'
+ && isdigit (source_node->name[1]))
+ {
+ long position = strtol (source_node->name + 1, NULL, 10);
+ if (position > 0 && position < LONG_MAX)
+ _asn1_node_array_set (&source_node->parent->numbered_children,
+ position - 1, NULL);
+ }
+
p2 = source_node->right;
p3 = _asn1_find_left (source_node);
if (!p3)
--
2.47.1

View File

@ -0,0 +1,22 @@
-----BEGIN PGP SIGNATURE-----
iQNTBAAWCgL7FiEEo8ychwudMQq61M8vUXIrCP5HRaIFAmeksWHCHCYAmDMEXJLO
tBYJKwYBBAHaRw8BAQdACIcrZIvhrxDBkK9fV+QlTmXxo2naObDuGtw58YaxlOu0
JVNpbW9uIEpvc2Vmc3NvbiA8c2ltb25Aam9zZWZzc29uLm9yZz6IlgQTFggAPgIb
AwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYhBLHSvRN1vst4TPT4xNc89jjFPAa+
BQJl/YgIBQkLehFUAAoJENc89jjFPAa+CboA+wUa06RD5e5VTCxvSWtPS75Wq2qB
eYGZnf0jvUMxa2n4AP4xkUeAPPnNuMsTm2fsFCDIGaEM2Yn6Vb2huzzT1Fw/BLgz
BFySz4EWCSsGAQQB2kcPAQEHQOxTCIOaeXAxI2hIX4HK9bQTpNVei708oNr1Klm8
qCGKiPUEGBYIACYCGwIWIQSx0r0Tdb7LeEz0+MTXPPY4xTwGvgUCZf2IKwUJC3oQ
qgCBdiAEGRYIAB0WIQSjzJyHC50xCrrUzy9RcisI/kdFogUCXJLPgQAKCRBRcisI
/kdFoqdMAQCgH45aseZgIrwKOvUOA9QfsmeE8GZHYNuFHmM9FEQS6AD6A4x5aYvo
Y6lo98pgtw2HPDhmcCXFItjXCrV4A0GmJA4JENc89jjFPAa+GcYA/26YQY05bLtn
XiIjTiAzrGQrRXxTHPA8Av7TDFHvIetWAP9sHSoU8OfTwmTiEnGwLlsV7QJclZg3
YNz/Ypcp9TqQBrg4BFySz2oSCisGAQQBl1UBBQEBB0AxlRumDW6nZY7A+VCfek9V
pEx6PJmdJyYPt3lNHMd6HAMBCAeIfgQYFggAJgIbDBYhBLHSvRN1vst4TPT4xNc8
9jjFPAa+BQJl/YgwBQkLehDGAAoJENc89jjFPAa+phoA/jrDqIrl/55vUMBhIQv+
TP635d2iCTEnyFmbUcP9+gh6APoDsXalVd2cOGxQtSC+TF8PkZMn1TLkJKAjVxr+
xx40AgAKCRBRcisI/kdFok6DAP9PaJmARJKk05qvNQdGbfn2LGqiUQpifZtSktP/
LSl/1AD/Sh1QtFKGUtS1+fMRDMwProNEGpwf1TvVuaol1TC9IQk=
=Ghwk
-----END PGP SIGNATURE-----

View File

@ -1,41 +1,51 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 1;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
Summary: The ASN.1 library used in GNUTLS
Name: libtasn1
Version: 4.13
Release: 5%{?dist}
Version: 4.20.0
Release: %autorelease
# The libtasn1 library is LGPLv2+, utilities are GPLv3+
License: GPLv3+ and LGPLv2+
Group: System Environment/Libraries
License: GPL-3.0-or-later AND LGPL-2.1-or-later
URL: http://www.gnu.org/software/libtasn1/
Source0: http://ftp.gnu.org/gnu/libtasn1/%name-%version.tar.gz
Source1: http://ftp.gnu.org/gnu/libtasn1/%name-%version.tar.gz.sig
Source2: gpgkey-1F42418905D8206AA754CCDC29EE58B996865171.gpg
#Source2: gpgkey-1F42418905D8206AA754CCDC29EE58B996865171.gpg
#Source2: gpgkey-99415CE1905D0E55A9F88026860B7FBB32F8119D.gpg
Source2: gpgkey-B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE.gpg
Patch1: libtasn1-3.4-rpath.patch
Patch300: libtasn1-4.19-CVE-2021-46848.patch
Patch301: libtasn1-4.20-CVE-2024-12133.patch
BuildRequires: gnupg2
BuildRequires: gcc
BuildRequires: bison, pkgconfig, help2man
BuildRequires: autoconf, automake, libtool
%ifarch %{valgrind_arches}
BuildRequires: valgrind-devel
%endif
BuildRequires: make
BuildRequires: gtk-doc
# Wildcard bundling exception https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib) = 20130324
%package devel
Summary: Files for development of applications which will use libtasn1
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %name = %version-%release
Requires: %{name}-tools = %{version}-%{release}
Requires: pkgconfig
Requires(post): /sbin/install-info
Requires(postun): /sbin/install-info
%package tools
Summary: Some ASN.1 tools
Group: Applications/Text
License: GPLv3+
Requires: %name = %version-%release
Requires: %{name}%{?_isa} = %{version}-%{release}
%description
@ -58,8 +68,6 @@ gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
%setup -q
%patch1 -p1 -b .rpath
%patch300 -p1 -b .CVE-2021-46848
%patch301 -p1 -b .CVE-2024-12133
%build
autoreconf -v -f --install
@ -67,11 +75,11 @@ autoreconf -v -f --install
# libtasn1 likes to regenerate docs
touch doc/stamp_docs
make %{?_smp_mflags}
%make_build
%install
make DESTDIR="$RPM_BUILD_ROOT" install
%make_install
rm -f $RPM_BUILD_ROOT{%_libdir/*.la,%_infodir/dir}
@ -79,23 +87,9 @@ rm -f $RPM_BUILD_ROOT{%_libdir/*.la,%_infodir/dir}
%check
make check
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post devel
test -f %_infodir/%name.info.gz && \
/sbin/install-info --info-dir=%_infodir %_infodir/%name.info || :
%preun devel
test "$1" = 0 -a -f %_infodir/%name.info.gz && \
/sbin/install-info --info-dir=%_infodir --delete %_infodir/%name.info || :
%files
%{!?_licensedir:%global license %%doc}
%license COPYING*
%doc AUTHORS NEWS README THANKS
%doc AUTHORS NEWS README.md
%{_libdir}/*.so.6*
%files tools
@ -103,7 +97,6 @@ test "$1" = 0 -a -f %_infodir/%name.info.gz && \
%{_mandir}/man1/asn1*
%files devel
%doc doc/TODO doc/*.pdf
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/*
@ -112,14 +105,92 @@ test "$1" = 0 -a -f %_infodir/%name.info.gz && \
%changelog
* Wed Feb 12 2025 Alexander Sosedkin <asosedki@redhat.com> - 4.13.0-5
- Backport the fix for CVE-2024-12133
## START: Generated by rpmautospec
* Wed Feb 12 2025 Alexander Sosedkin <asosedkin@redhat.com> - 4.20.0-1
- Update to 4.20.0 to fix CVE-2024-12133
* Wed Nov 30 2022 Simo Sorce <simo@redhat.com> - 4.13.0-4
- Resolves: rhbz#2140600
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 4.19.0-9
- Bump release for October 2024 mass rebuild:
* Fri Aug 3 2018 Florian Weimer <fweimer@redhat.com> - 4.13-3
- Honor %%{valgrind_arches}
* Mon Oct 07 2024 Alexander Sosedkin <asosedkin@redhat.com> - 4.19.0-8
- Initial CI and gating setup for RHEL-10
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 4.19.0-7
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Sep 20 2023 Simo Sorce <simo@redhat.com> - 4.19.0-4
- Migrate license field to SPDX format
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.19.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.18.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.18.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Nov 9 2021 Simo Sorce <simo@redhat.com> - 4.18.0-1
- Update to 4.18.0 (#2021613)
* Wed Nov 3 2021 Simo Sorce <simo@redhat.com> - 4.17.0-1
- Update to 4.17.0 (#1960364)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.16.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Apr 06 2021 Simo Sorce <simo@redhat.com> - 4.16.0-5
- Add gtk-doc as BuildRequire
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.16.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.16.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 4.16.0-2
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Sun Feb 02 2020 Nikos Mavrogiannopoulos <nmav@redhat.com> - 4.16.0-1
- Update to 4.14 (#1621973)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Nov 21 2019 Simo Sorce <simo@redhat.com> - 4.15.0-1
- Update to 4.15.0 (#1775065)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 22 2019 Nikos Mavrogiannopoulos <nmav@redhat.com> - 4.14-1
- Update to 4.14 (#1621973)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.13-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Oct 29 2018 James Antill <james.antill@redhat.com> - 4.13-6
- Remove ldconfig scriptlet, now done via. transfiletrigger in glibc.
* Mon Oct 22 2018 Nikos Mavrogiannopoulos <nmav@redhat.com> - 4.13-5
- libtasn1-devel requires the tools subpackage; it is necessary for
development.
* Sat Jul 21 2018 Peter Robinson <pbrobinson@fedoraproject.org> 4.13-4
- Add missing gcc/gnupg2 deps, spec cleanups
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
@ -349,3 +420,6 @@ test "$1" = 0 -a -f %_infodir/%name.info.gz && \
* Tue Jun 10 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 0:0.2.4-0.fdr.1
- Initial build.
## END: Generated by rpmautospec

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (gpgkey-B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE.gpg) = a1a73fade272532de9d6f256a278ac76742c70065bdabaacc992011c55016d30119a74c2ac3d1972be7bf41e04f4d249e36487c16872d130a9451310860c51cc
SHA512 (libtasn1-4.20.0.tar.gz) = 0c0660085f5e80537aa3d65197967029be6cc5e27d7029789713902989c1694fdb49421ae0415b79b953e11893bb4bdaada85f7aff847dd0bb4075c91887e7b4