build: Without getrandom() require gnutls 3.7.2
authorVolker Lendecke <vl@samba.org>
Mon, 17 Jan 2022 09:49:13 +0000 (10:49 +0100)
committerJeremy Allison <jra@samba.org>
Fri, 21 Jan 2022 21:42:08 +0000 (21:42 +0000)
gnutls before 3.7.2 and without getrandom() will open /dev/urandom at library
initialization time before main() is run. We use closefrom(3) in samba-bgqd and
samba-dcerpd, which closes /dev/urandom, which then breaks gnutls. On system
with getrandom(), no file descriptor is opened and gnutls 3.7.2+ will open and
close /dev/urandom whenever it needs to access it.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jan 21 21:42:08 UTC 2022 on sn-devel-184

wscript_configure_system_gnutls

index 9864235d17e4f427aa9686f3ebcd2f4f7b40ebd1..62fe3d5ddda40bfd6301d621f36ca675f1de728e 100644 (file)
@@ -6,6 +6,10 @@ def parse_version(v):
 
 gnutls_min_required_version = "3.4.7"
 
+conf.CHECK_FUNCS('getrandom', headers='sys/random.h')
+if not conf.CONFIG_SET('HAVE_GETRANDOM'):
+   gnutls_min_required_version = "3.7.2"
+
 gnutls_required_version = gnutls_min_required_version
 
 conf.CHECK_CFG(package='gnutls',