diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2016-04-06 12:12:06 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2016-04-12 18:06:51 +0200 |
commit | c229708848cc77b0277e7260f7e739d441c1d086 (patch) | |
tree | a9c124d67dcc8df97249011afbe9084d90ed64e1 /qemu-nbd.c | |
parent | 143605a200f9d418d62d25d91b1477b1d91c0b18 (diff) | |
download | qemu-c229708848cc77b0277e7260f7e739d441c1d086.zip qemu-c229708848cc77b0277e7260f7e739d441c1d086.tar.gz qemu-c229708848cc77b0277e7260f7e739d441c1d086.tar.bz2 |
block: initialize qcrypto API at startup
Any programs which call the qcrypto APIs should ensure that
qcrypto_init() has been called before anything else which
can use crypto. Essentially this means right at the start
of the main method before initializing anything else.
This is important because some versions of gnutls/gcrypt
require explicit initialization before use.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Alex Bligh <alex@alex.org.uk>
Tested-by: Alex Bligh <alex@alex.org.uk>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qemu-nbd.c')
-rw-r--r-- | qemu-nbd.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -31,6 +31,7 @@ #include "qapi/qmp/qstring.h" #include "qom/object_interfaces.h" #include "io/channel-socket.h" +#include "crypto/init.h" #include <getopt.h> #include <libgen.h> @@ -519,6 +520,12 @@ int main(int argc, char **argv) memset(&sa_sigterm, 0, sizeof(sa_sigterm)); sa_sigterm.sa_handler = termsig_handler; sigaction(SIGTERM, &sa_sigterm, NULL); + + if (qcrypto_init(&local_err) < 0) { + error_reportf_err(local_err, "cannot initialize crypto: "); + exit(1); + } + module_call_init(MODULE_INIT_QOM); qemu_add_opts(&qemu_object_opts); qemu_init_exec_dir(argv[0]); |