mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
crypto: introduce new module for computing hash digests
Introduce a new crypto/ directory that will (eventually) contain all the cryptographic related code. This initially defines a wrapper for initializing gnutls and for computing hashes with gnutls. The former ensures that gnutls is guaranteed to be initialized exactly once in QEMU regardless of CLI args. The block quorum code currently fails to initialize gnutls so it only works by luck, if VNC server TLS is not requested. The hash APIs avoids the need to litter the rest of the code with preprocessor checks and simplifies callers by allocating the correct amount of memory for the requested hash. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-Id: <1435770638-25715-2-git-send-email-berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6b3f7f639e
commit
ddbb0d0966
12 changed files with 752 additions and 0 deletions
45
configure
vendored
45
configure
vendored
|
@ -330,6 +330,8 @@ glusterfs_zerofill="no"
|
|||
archipelago="no"
|
||||
gtk=""
|
||||
gtkabi=""
|
||||
gnutls=""
|
||||
gnutls_hash=""
|
||||
vte=""
|
||||
tpm="yes"
|
||||
libssh2=""
|
||||
|
@ -1118,6 +1120,10 @@ for opt do
|
|||
;;
|
||||
--enable-gtk) gtk="yes"
|
||||
;;
|
||||
--disable-gnutls) gnutls="no"
|
||||
;;
|
||||
--enable-gnutls) gnutls="yes"
|
||||
;;
|
||||
--enable-rdma) rdma="yes"
|
||||
;;
|
||||
--disable-rdma) rdma="no"
|
||||
|
@ -1328,6 +1334,7 @@ disabled with --disable-FEATURE, default is enabled if available:
|
|||
debug-info debugging information
|
||||
sparse sparse checker
|
||||
|
||||
gnutls GNUTLS cryptography support
|
||||
sdl SDL UI
|
||||
--with-sdlabi select preferred SDL ABI 1.2 or 2.0
|
||||
gtk gtk UI
|
||||
|
@ -2115,6 +2122,36 @@ if test "$gtk" != "no"; then
|
|||
fi
|
||||
fi
|
||||
|
||||
|
||||
##########################################
|
||||
# GNUTLS probe
|
||||
|
||||
if test "$gnutls" != "no"; then
|
||||
if $pkg_config --exists "gnutls"; then
|
||||
gnutls_cflags=`$pkg_config --cflags gnutls`
|
||||
gnutls_libs=`$pkg_config --libs gnutls`
|
||||
libs_softmmu="$gnutls_libs $libs_softmmu"
|
||||
libs_tools="$gnutls_libs $libs_tools"
|
||||
QEMU_CFLAGS="$QEMU_CFLAGS $gnutls_cflags"
|
||||
gnutls="yes"
|
||||
|
||||
# gnutls_hash_init requires >= 2.9.10
|
||||
if $pkg_config --exists "gnutls >= 2.9.10"; then
|
||||
gnutls_hash="yes"
|
||||
else
|
||||
gnutls_hash="no"
|
||||
fi
|
||||
elif test "$gnutls" = "yes"; then
|
||||
feature_not_found "gnutls" "Install gnutls devel"
|
||||
else
|
||||
gnutls="no"
|
||||
gnutls_hash="no"
|
||||
fi
|
||||
else
|
||||
gnutls_hash="no"
|
||||
fi
|
||||
|
||||
|
||||
##########################################
|
||||
# VTE probe
|
||||
|
||||
|
@ -4424,6 +4461,8 @@ fi
|
|||
echo "pixman $pixman"
|
||||
echo "SDL support $sdl"
|
||||
echo "GTK support $gtk"
|
||||
echo "GNUTLS support $gnutls"
|
||||
echo "GNUTLS hash $gnutls_hash"
|
||||
echo "VTE support $vte"
|
||||
echo "curses support $curses"
|
||||
echo "curl support $curl"
|
||||
|
@ -4782,6 +4821,12 @@ if test "$gtk" = "yes" ; then
|
|||
echo "CONFIG_GTKABI=$gtkabi" >> $config_host_mak
|
||||
echo "GTK_CFLAGS=$gtk_cflags" >> $config_host_mak
|
||||
fi
|
||||
if test "$gnutls" = "yes" ; then
|
||||
echo "CONFIG_GNUTLS=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$gnutls_hash" = "yes" ; then
|
||||
echo "CONFIG_GNUTLS_HASH=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$vte" = "yes" ; then
|
||||
echo "CONFIG_VTE=y" >> $config_host_mak
|
||||
echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue