mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
crypto: introduce some common functions for af_alg backend
The AF_ALG socket family is the userspace interface for linux crypto API, this patch adds af_alg family support and some common functions for af_alg backend. It'll be used by afalg-backend crypto latter. Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com> Maintainer: modified to report an error if AF_ALG is requested but cannot be supported Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
14a5a2aef4
commit
f0d92b56d8
4 changed files with 208 additions and 0 deletions
37
configure
vendored
37
configure
vendored
|
@ -375,6 +375,7 @@ libnfs=""
|
|||
coroutine=""
|
||||
coroutine_pool=""
|
||||
debug_stack_usage="no"
|
||||
crypto_afalg="no"
|
||||
seccomp=""
|
||||
glusterfs=""
|
||||
glusterfs_xlator_opt="no"
|
||||
|
@ -1124,6 +1125,10 @@ for opt do
|
|||
;;
|
||||
--enable-debug-stack-usage) debug_stack_usage="yes"
|
||||
;;
|
||||
--enable-crypto-afalg) crypto_afalg="yes"
|
||||
;;
|
||||
--disable-crypto-afalg) crypto_afalg="no"
|
||||
;;
|
||||
--disable-docs) docs="no"
|
||||
;;
|
||||
--enable-docs) docs="yes"
|
||||
|
@ -1518,6 +1523,7 @@ disabled with --disable-FEATURE, default is enabled if available:
|
|||
qom-cast-debug cast debugging support
|
||||
tools build qemu-io, qemu-nbd and qemu-image tools
|
||||
vxhs Veritas HyperScale vDisk backend support
|
||||
crypto-afalg Linux AF_ALG crypto backend driver
|
||||
|
||||
NOTE: The object files are built at the place where configure is launched
|
||||
EOF
|
||||
|
@ -4834,6 +4840,32 @@ if compile_prog "" "" ; then
|
|||
have_af_vsock=yes
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# check for usable AF_ALG environment
|
||||
hava_afalg=no
|
||||
cat > $TMPC << EOF
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <linux/if_alg.h>
|
||||
int main(void) {
|
||||
int sock;
|
||||
sock = socket(AF_ALG, SOCK_SEQPACKET, 0);
|
||||
return sock;
|
||||
}
|
||||
EOF
|
||||
if compile_prog "" "" ; then
|
||||
have_afalg=yes
|
||||
fi
|
||||
if test "$crypto_afalg" = "yes"
|
||||
then
|
||||
if test "$have_afalg" != "yes"
|
||||
then
|
||||
error_exit "AF_ALG requested but could not be detected"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#################################################
|
||||
# Sparc implicitly links with --relax, which is
|
||||
# incompatible with -r, so --no-relax should be
|
||||
|
@ -5315,6 +5347,7 @@ echo "seccomp support $seccomp"
|
|||
echo "coroutine backend $coroutine"
|
||||
echo "coroutine pool $coroutine_pool"
|
||||
echo "debug stack usage $debug_stack_usage"
|
||||
echo "crypto afalg $crypto_afalg"
|
||||
echo "GlusterFS support $glusterfs"
|
||||
echo "gcov $gcov_tool"
|
||||
echo "gcov enabled $gcov"
|
||||
|
@ -5826,6 +5859,10 @@ if test "$debug_stack_usage" = "yes" ; then
|
|||
echo "CONFIG_DEBUG_STACK_USAGE=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$crypto_afalg" = "yes" ; then
|
||||
echo "CONFIG_AF_ALG=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$open_by_handle_at" = "yes" ; then
|
||||
echo "CONFIG_OPEN_BY_HANDLE=y" >> $config_host_mak
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue