!26 rename deprecated libtasn1 types to fix build error
From: @penelope_y Reviewed-by: @zhujianwei001 Signed-off-by: @zhujianwei001
This commit is contained in:
commit
46c6dac124
114
rename-deprecated-libtasn1-types-to-fix-build-error.patch
Normal file
114
rename-deprecated-libtasn1-types-to-fix-build-error.patch
Normal file
@ -0,0 +1,114 @@
|
||||
From 0b0041bda9df8bf704d7aff8c32da0d18cd9eb28 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Witschel <diabonas@archlinux.org>
|
||||
Date: Wed, 19 May 2021 10:30:41 +0200
|
||||
Subject: [PATCH] swtpm_cert: rename deprecated libtasn1 types
|
||||
|
||||
These types have been renamed in libtasn1 version 3.0 (released 2012-10-28).
|
||||
The most recent libtasn1 version 4.17.0 (released 2021-05-13) now prints
|
||||
deprecation warnings that are made fatal by -Werror:
|
||||
|
||||
ek-cert.c:76:13: error: 'ASN1_ARRAY_TYPE' macro is deprecated, use 'asn1_static_node' instead. [-Werror]
|
||||
76 | extern const ASN1_ARRAY_TYPE tpm_asn1_tab[];
|
||||
|^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
[...]
|
||||
|
||||
The new types were introduced almost ten years ago, so they should be pretty
|
||||
universally available by now.
|
||||
|
||||
Signed-off-by: Jonas Witschel <diabonas@archlinux.org>
|
||||
---
|
||||
src/swtpm_cert/ek-cert.c | 24 ++++++++++++------------
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/swtpm_cert/ek-cert.c b/src/swtpm_cert/ek-cert.c
|
||||
index 651d60f..cc1ec43 100644
|
||||
--- a/src/swtpm_cert/ek-cert.c
|
||||
+++ b/src/swtpm_cert/ek-cert.c
|
||||
@@ -72,9 +72,9 @@ enum cert_type_t {
|
||||
#define ALLOW_SIGNING_F 2 /* EK can be used for signing */
|
||||
#define DECRYPTION_F 4 /* EK can be used for decryption; default */
|
||||
|
||||
-extern const ASN1_ARRAY_TYPE tpm_asn1_tab[];
|
||||
+extern const asn1_static_node tpm_asn1_tab[];
|
||||
|
||||
-ASN1_TYPE _tpm_asn;
|
||||
+asn1_node _tpm_asn;
|
||||
|
||||
typedef struct tdTCG_PCCLIENT_STORED_CERT {
|
||||
uint16_t tag;
|
||||
@@ -318,7 +318,7 @@ asn_free(void)
|
||||
}
|
||||
|
||||
static int
|
||||
-encode_asn1(gnutls_datum_t *asn1, ASN1_TYPE at)
|
||||
+encode_asn1(gnutls_datum_t *asn1, asn1_node at)
|
||||
{
|
||||
int err;
|
||||
|
||||
@@ -346,7 +346,7 @@ encode_asn1(gnutls_datum_t *asn1, ASN1_TYPE at)
|
||||
}
|
||||
|
||||
static int
|
||||
-build_tpm_manufacturer_info(ASN1_TYPE *at,
|
||||
+build_tpm_manufacturer_info(asn1_node *at,
|
||||
const char *manufacturer,
|
||||
const char *tpm_model,
|
||||
const char *tpm_version)
|
||||
@@ -428,7 +428,7 @@ create_tpm_manufacturer_info(const char *manufacturer,
|
||||
const char *tpm_version,
|
||||
gnutls_datum_t *asn1)
|
||||
{
|
||||
- ASN1_TYPE at = ASN1_TYPE_EMPTY;
|
||||
+ asn1_node at = NULL;
|
||||
int err;
|
||||
|
||||
err = asn_init();
|
||||
@@ -460,7 +460,7 @@ create_tpm_manufacturer_info(const char *manufacturer,
|
||||
}
|
||||
|
||||
static int
|
||||
-build_platf_manufacturer_info(ASN1_TYPE *at,
|
||||
+build_platf_manufacturer_info(asn1_node *at,
|
||||
const char *manufacturer,
|
||||
const char *platf_model,
|
||||
const char *platf_version,
|
||||
@@ -554,7 +554,7 @@ create_platf_manufacturer_info(const char *manufacturer,
|
||||
gnutls_datum_t *asn1,
|
||||
bool forTPM2)
|
||||
{
|
||||
- ASN1_TYPE at = ASN1_TYPE_EMPTY;
|
||||
+ asn1_node at = NULL;
|
||||
int err;
|
||||
|
||||
err = asn_init();
|
||||
@@ -597,9 +597,9 @@ create_tpm_and_platform_manuf_info(
|
||||
gnutls_datum_t *asn1,
|
||||
bool forTPM2)
|
||||
{
|
||||
- ASN1_TYPE at = ASN1_TYPE_EMPTY;
|
||||
- ASN1_TYPE tpm_at = ASN1_TYPE_EMPTY;
|
||||
- ASN1_TYPE platf_at = ASN1_TYPE_EMPTY;
|
||||
+ asn1_node at = NULL;
|
||||
+ asn1_node tpm_at = NULL;
|
||||
+ asn1_node platf_at = NULL;
|
||||
int err;
|
||||
gnutls_datum_t datum = {
|
||||
.data = NULL,
|
||||
@@ -710,7 +710,7 @@ create_tpm_specification_info(const char *spec_family,
|
||||
unsigned int spec_revision,
|
||||
gnutls_datum_t *asn1)
|
||||
{
|
||||
- ASN1_TYPE at = ASN1_TYPE_EMPTY;
|
||||
+ asn1_node at = NULL;
|
||||
int err;
|
||||
unsigned int bigendian;
|
||||
unsigned char twoscomp[1 + sizeof(bigendian)] = { 0, };
|
||||
@@ -782,7 +782,7 @@ create_tpm_specification_info(const char *spec_family,
|
||||
static int
|
||||
create_cert_extended_key_usage(const char *oid, gnutls_datum_t *asn1)
|
||||
{
|
||||
- ASN1_TYPE at = ASN1_TYPE_EMPTY;
|
||||
+ asn1_node at = NULL;
|
||||
int err;
|
||||
|
||||
err = asn_init();
|
||||
@ -12,10 +12,11 @@
|
||||
Summary: TPM Emulator
|
||||
Name: swtpm
|
||||
Version: 0.3.3
|
||||
Release: 3
|
||||
Release: 4
|
||||
License: BSD
|
||||
Url: http://github.com/stefanberger/swtpm
|
||||
Source0: %{url}/archive/%{gitcommit}/%{name}-%{gitshortcommit}.tar.gz
|
||||
Patch0: rename-deprecated-libtasn1-types-to-fix-build-error.patch
|
||||
|
||||
BuildRequires: automake
|
||||
BuildRequires: autoconf
|
||||
@ -74,7 +75,7 @@ Requires: trousers >= 0.3.9 tpm-tools >= 1.3.8-6 expect bash net-tools gnu
|
||||
Tools for the TPM emulator from the swtpm package
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{gitcommit}
|
||||
%autosetup -n %{name}-%{gitcommit} -p1
|
||||
%selinux_relabel_pre -s %{selinuxtype}
|
||||
|
||||
%build
|
||||
@ -164,6 +165,9 @@ fi
|
||||
%attr( 755, tss, tss) %{_localstatedir}/lib/swtpm-localca
|
||||
|
||||
%changelog
|
||||
* Wed Apr 06 2022 xigaoxinyan <xigaoxinyan@h-partners.com> - 0.3.3-4
|
||||
- rename deprecated libtasn1 types to fix build error
|
||||
|
||||
* Tue Nov 16 2021 imxcc <xingchaochao@huawei.com> - 0.3.3-3
|
||||
- add selinux_relabel_pre
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user