mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
crda: check the word size of target instead of host machine.
Issue: LIN8-5177 When 'USE_OPENSSL=1' is configured for crda, key2pub.py doesn't create "keys-ssl.c" with target's word size. Pass 'SITEINFO_BITS' from building system to key2pub.py. (LOCAL REV: NOT UPSTREAM) -- sent to oe-devel on 20161130 Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
committed by
Joe MacDonald
parent
0fc2bd373a
commit
f25fd7a2ef
@@ -0,0 +1,58 @@
|
|||||||
|
From 8d2164a090f17286ea8291f30a123595cf447dc3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Haiqing Bai <Haiqing.Bai@windriver.com>
|
||||||
|
Date: Wed, 30 Nov 2016 10:27:36 +0800
|
||||||
|
Subject: [PATCH] crda: fix issues when 'USE_OPENSSL=1'.
|
||||||
|
|
||||||
|
Fxed the below issues if configured with 'USE_OPENSSL=1':
|
||||||
|
a. keys-ssl.c uses BN_ULONG but doesn't include the openssl headers leading
|
||||||
|
to build failures:
|
||||||
|
keys-ssl.c:2:8: error: unknown type name 'BN_ULONG'
|
||||||
|
static BN_ULONG e_0[1] = {
|
||||||
|
|
||||||
|
b. The large unqualified constants also break building:
|
||||||
|
keys-ssl.c:8:2: warning: overflow in implicit constant conversion [-Woverflow]
|
||||||
|
0x63a2705416a0d8e1, 0xdc9fca11c8ba757b,
|
||||||
|
|
||||||
|
c. keys-ssl.c: error: 'keys' defined but not used [-Werror=unused-variable]
|
||||||
|
static struct pubkey keys[] = {
|
||||||
|
|
||||||
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||||
|
Upsteam-Status: Pending
|
||||||
|
Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
|
||||||
|
---
|
||||||
|
utils/key2pub.py | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/utils/key2pub.py b/utils/key2pub.py
|
||||||
|
index 401d58a..3ae00b8 100755
|
||||||
|
--- a/utils/key2pub.py
|
||||||
|
+++ b/utils/key2pub.py
|
||||||
|
@@ -24,7 +24,7 @@ def print_ssl_64(output, name, val):
|
||||||
|
for v1, v2, v3, v4, v5, v6, v7, v8 in vnew:
|
||||||
|
if not idx:
|
||||||
|
output.write('\t')
|
||||||
|
- output.write('0x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x, ' % (ord(v1), ord(v2), ord(v3), ord(v4), ord(v5), ord(v6), ord(v7), ord(v8)))
|
||||||
|
+ output.write('0x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2xULL, ' % (ord(v1), ord(v2), ord(v3), ord(v4), ord(v5), ord(v6), ord(v7), ord(v8)))
|
||||||
|
idx += 1
|
||||||
|
if idx == 2:
|
||||||
|
idx = 0
|
||||||
|
@@ -60,6 +60,7 @@ def print_ssl_32(output, name, val):
|
||||||
|
def print_ssl(output, name, val):
|
||||||
|
import os
|
||||||
|
output.write('#include <stdint.h>\n')
|
||||||
|
+ output.write('#include <openssl/bn.h>\n')
|
||||||
|
if os.getenv('TARGET_BITS') == '64':
|
||||||
|
return print_ssl_64(output, name, val)
|
||||||
|
else:
|
||||||
|
@@ -78,7 +79,7 @@ struct pubkey {
|
||||||
|
|
||||||
|
#define KEYS(e,n) { KEY(e), KEY(n), }
|
||||||
|
|
||||||
|
-static struct pubkey keys[] = {
|
||||||
|
+static struct pubkey keys[] __attribute__((unused))= {
|
||||||
|
''')
|
||||||
|
for n in xrange(n + 1):
|
||||||
|
output.write(' KEYS(e_%d, n_%d),\n' % (n, n))
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
||||||
+34
@@ -0,0 +1,34 @@
|
|||||||
|
From c1c42513edd27c97341f2033af77c13a4724eb8f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Haiqing Bai <Haiqing.Bai@windriver.com>
|
||||||
|
Date: Fri, 25 Nov 2016 16:48:01 +0800
|
||||||
|
Subject: [PATCH] crda: Use target word size instead of host's.
|
||||||
|
|
||||||
|
In key2pub.py, the codes check the wordsize
|
||||||
|
of the host machine but not the target's, this fix
|
||||||
|
fetches the wordsize of target from the build system.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
|
||||||
|
---
|
||||||
|
utils/key2pub.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/utils/key2pub.py b/utils/key2pub.py
|
||||||
|
index 3e84cd2..401d58a 100755
|
||||||
|
--- a/utils/key2pub.py
|
||||||
|
+++ b/utils/key2pub.py
|
||||||
|
@@ -58,9 +58,9 @@ def print_ssl_32(output, name, val):
|
||||||
|
output.write('};\n\n')
|
||||||
|
|
||||||
|
def print_ssl(output, name, val):
|
||||||
|
- import struct
|
||||||
|
+ import os
|
||||||
|
output.write('#include <stdint.h>\n')
|
||||||
|
- if len(struct.pack('@L', 0)) == 8:
|
||||||
|
+ if os.getenv('TARGET_BITS') == '64':
|
||||||
|
return print_ssl_64(output, name, val)
|
||||||
|
else:
|
||||||
|
return print_ssl_32(output, name, val)
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
||||||
@@ -4,7 +4,7 @@ SECTION = "net"
|
|||||||
LICENSE = "copyleft-next-0.3.0"
|
LICENSE = "copyleft-next-0.3.0"
|
||||||
LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe"
|
LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe"
|
||||||
|
|
||||||
DEPENDS = "python-m2crypto-native python-native libgcrypt libnl"
|
DEPENDS = "python-m2crypto-native python-native libgcrypt libnl openssl"
|
||||||
|
|
||||||
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
|
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
|
||||||
file://do-not-run-ldconfig-if-destdir-is-set.patch \
|
file://do-not-run-ldconfig-if-destdir-is-set.patch \
|
||||||
@@ -12,6 +12,8 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
|
|||||||
file://fix-gcc-6-unused-variables.patch \
|
file://fix-gcc-6-unused-variables.patch \
|
||||||
file://0001-Makefile-respect-LDFLAGS-for-libreg.patch \
|
file://0001-Makefile-respect-LDFLAGS-for-libreg.patch \
|
||||||
file://make.patch \
|
file://make.patch \
|
||||||
|
file://use-target-word-size-instead-of-host-s.patch \
|
||||||
|
file://fix-issues-when-USE_OPENSSL-1.patch \
|
||||||
"
|
"
|
||||||
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
|
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
|
||||||
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
|
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
|
||||||
@@ -19,6 +21,9 @@ SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e
|
|||||||
inherit python-dir pythonnative
|
inherit python-dir pythonnative
|
||||||
# Recursive make problem
|
# Recursive make problem
|
||||||
EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg'"
|
EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg'"
|
||||||
|
EXTRA_OEMAKE_append = " USE_OPENSSL=1"
|
||||||
|
TARGET_BITS = "${SITEINFO_BITS}"
|
||||||
|
export TARGET_BITS
|
||||||
|
|
||||||
do_compile() {
|
do_compile() {
|
||||||
oe_runmake all_noverify
|
oe_runmake all_noverify
|
||||||
|
|||||||
Reference in New Issue
Block a user