aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch
blob: 93c836cf34ad4a27ce76918ee578fa1345c8ea22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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