diff mbox series

[oe,meta-oe,V2,3/3] opensc: Upgrade to 0.18.0

Message ID 20180906211606.4910-3-raj.khem@gmail.com
State Accepted
Commit 79d66aea14dc3d60457c6dd41ceabd1dfcee3401
Headers show
Series [oe,meta-oe,1/3] uftrace: Upgrade to 0.8.3 | expand

Commit Message

Khem Raj Sept. 6, 2018, 9:16 p.m. UTC
* Fixes build with OpenSSL 1.1.x
* Fix build with gcc8

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
v2: Fix build with gcc8

 ...-Fixed-gcc-8-compilation-errors-1353.patch | 73 +++++++++++++++++++
 .../{opensc_0.16.0.bb => opensc_0.18.0.bb}    |  9 ++-
 2 files changed, 79 insertions(+), 3 deletions(-)
 create mode 100644 meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch
 rename meta-oe/recipes-support/opensc/{opensc_0.16.0.bb => opensc_0.18.0.bb} (82%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch b/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch
new file mode 100644
index 0000000000..48d8327546
--- /dev/null
+++ b/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch
@@ -0,0 +1,73 @@ 
+From 87857d5cae7db94fdd776904886392b1e86053bd Mon Sep 17 00:00:00 2001
+From: Florian Bezdeka <1119693+fbezdeka@users.noreply.github.com>
+Date: Fri, 18 May 2018 18:54:56 +0200
+Subject: [PATCH] Fixed gcc 8 compilation errors (#1353)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The following errors occured during a compilation using gcc 8:
+
+In function »gids_create_file.constprop«,
+    inserted by »gids_save_certificate.isra.8« beicard-gids.c:1548:7:
+card-gids.c:465:2: Error: »strncpy« output may be truncated copying 8 bytes from a string of length 8 [-Werror=stringop-truncation]
+  strncpy(record->filename, filename, 8);
+  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+pkcs15-oberthur.c: In function »sc_pkcs15emu_oberthur_add_prvkey«:
+pkcs15-oberthur.c:741:5: Error: »strncpy« output may be truncated copying 254 bytes from a string of length 254 [-Werror=stringop-truncation]
+     strncpy(kobj.label, objs[ii]->label, sizeof(kobj.label) - 1);
+     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Backport [https://github.com/OpenSC/OpenSC/pull/1353]
+Signed-off-by Khem Raj <raj.khem@gmail.com>
+---
+ src/libopensc/card-gids.c       | 3 ++-
+ src/libopensc/pkcs15-oberthur.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/libopensc/card-gids.c b/src/libopensc/card-gids.c
+index fc5d2a7..ac3e579 100644
+--- a/src/libopensc/card-gids.c
++++ b/src/libopensc/card-gids.c
+@@ -33,6 +33,7 @@ Some features are undocumented like the format used to store certificates. They
+ 
+ #include <stdlib.h>
+ #include <string.h>
++#include "../common/compat_strlcpy.h"
+ 
+ #ifdef ENABLE_OPENSSL
+ /* openssl only needed for card administration */
+@@ -462,7 +463,7 @@ static int gids_create_file(sc_card_t *card, char* directory, char* filename) {
+ 	memset(masterfilebuffer + offset, 0, sizeof(gids_mf_record_t));
+ 	record = (gids_mf_record_t*) (masterfilebuffer + offset);
+ 	strncpy(record->directory, directory, 8);
+-	strncpy(record->filename, filename, 8);
++	strlcpy(record->filename, filename, sizeof(record->filename));
+ 	record->fileIdentifier = fileIdentifier;
+ 	record->dataObjectIdentifier = dataObjectIdentifier;
+ 
+diff --git a/src/libopensc/pkcs15-oberthur.c b/src/libopensc/pkcs15-oberthur.c
+index 4f841ed..3415be7 100644
+--- a/src/libopensc/pkcs15-oberthur.c
++++ b/src/libopensc/pkcs15-oberthur.c
+@@ -29,6 +29,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
++#include "../common/compat_strlcpy.h"
+ 
+ #include "pkcs15.h"
+ #include "log.h"
+@@ -738,7 +739,7 @@ sc_pkcs15emu_oberthur_add_prvkey(struct sc_pkcs15_card *p15card,
+ 			unsigned int id = path.value[path.len - 2] * 0x100 + path.value[path.len - 1];
+ 
+ 			if (id == ccont.id_cert)   {
+-				strncpy(kobj.label, objs[ii]->label, sizeof(kobj.label) - 1);
++				strlcpy(kobj.label, objs[ii]->label, sizeof(kobj.label));
+ 				break;
+ 			}
+ 		}
+-- 
+2.18.0
+
diff --git a/meta-oe/recipes-support/opensc/opensc_0.16.0.bb b/meta-oe/recipes-support/opensc/opensc_0.18.0.bb
similarity index 82%
rename from meta-oe/recipes-support/opensc/opensc_0.16.0.bb
rename to meta-oe/recipes-support/opensc/opensc_0.18.0.bb
index fd67181dc2..c389e0bb58 100644
--- a/meta-oe/recipes-support/opensc/opensc_0.16.0.bb
+++ b/meta-oe/recipes-support/opensc/opensc_0.18.0.bb
@@ -9,10 +9,12 @@  eID cards have also been confirmed to work."
 HOMEPAGE = "http://www.opensc-project.org/opensc/"
 SECTION = "System Environment/Libraries"
 
-SRC_URI = "${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz"
+SRC_URI = "${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz \
+           file://0001-Fixed-gcc-8-compilation-errors-1353.patch \
+          "
 
-SRC_URI[md5sum] = "724d128f23cd7a74b28d04300ce7bcbd"
-SRC_URI[sha256sum] = "3ac8c29542bb48179e7086d35a1b8907a4e86aca3de3323c2f48bd74eaaf5729"
+SRC_URI[md5sum] = "bce516f752e0db5327aa06cc0136fe27"
+SRC_URI[sha256sum] = "6ef62b00e8fdbe3e386c3ee25c2cadb56c1931ea42f1a11dce8c947f51b45033"
 
 DEPENDS = "openct pcsc-lite virtual/libiconv openssl"
 
@@ -21,6 +23,7 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
 
 inherit autotools pkgconfig
 
+S = "${WORKDIR}/OpenSC-${PV}"
 EXTRA_OECONF = " \
     --disable-static \
     --enable-openct \