Blob Blame History Raw
From 32aea65d8f1c896a78f93d1183fb9bdf88eee7df Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 22 Feb 2019 13:28:01 +0100
Subject: [PATCH 058/187] lib:crypto: Don't build RC4 if we have GnuTLS >=
 3.4.7

We have a GnuTLS DCEPRC backupkey implementation for the server and the
test. However this is only working with GnuTLS >= 3.4.7. So we need to
keep this around till we can require at least GnuTLS in a newer version.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14031

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
(cherry picked from commit 9ede63fbada7842cd9ae120936bc6bd4b6ad16ac)
---
 lib/crypto/wscript_build | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/lib/crypto/wscript_build b/lib/crypto/wscript_build
index 46b0e084328..a26c10b627b 100644
--- a/lib/crypto/wscript_build
+++ b/lib/crypto/wscript_build
@@ -12,12 +12,27 @@ bld.SAMBA_SUBSYSTEM('GNUTLS_HELPERS',
                     ''',
                     deps='gnutls samba-errors');
 
+# We have a GnuTLS DCEPRC backupkey implementation for the server and the test.
+# However this is only working with GnuTLS >= 3.4.7. So we need to keep this
+# around till we can require at least GnuTLS in a newer version.
+bld.SAMBA_SUBSYSTEM('LIBCRYPTO_RC4',
+                    source='arcfour.c',
+                    deps='talloc',
+                    enabled=not bld.CONFIG_SET('HAVE_GNUTLS_3_4_7'))
+
 bld.SAMBA_SUBSYSTEM('LIBCRYPTO',
-        source='''md4.c arcfour.c
-        aes.c rijndael-alg-fst.c aes_cmac_128.c aes_ccm_128.c aes_gcm_128.c
-        ''',
-        deps='talloc' + extra_deps
-        )
+        source='''
+               md4.c
+               aes.c
+               rijndael-alg-fst.c
+               aes_cmac_128.c
+               aes_ccm_128.c
+               aes_gcm_128.c
+               ''',
+        deps='''
+             talloc
+             LIBCRYPTO_RC4
+             ''' + extra_deps)
 
 bld.SAMBA_SUBSYSTEM('TORTURE_LIBCRYPTO',
         source='''md4test.c
-- 
2.23.0