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> 
 | 
Upstream-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 
 |