Skip to content
Snippets Groups Projects
  1. Jul 19, 2019
  2. Sep 19, 2016
    • Daniel P. Berrangé's avatar
      crypto: use uint64_t for pbkdf iteration count parameters · 59b060be
      Daniel P. Berrangé authored
      
      The qcrypto_pbkdf_count_iters method uses a 64 bit int
      but then checks its value against INT32_MAX before
      returning it. This bounds check is premature, because
      the calling code may well scale the iteration count
      by some value. It is thus better to return a 64-bit
      integer and let the caller do range checking.
      
      For consistency the qcrypto_pbkdf method is also changed
      to accept a 64bit int, though this is somewhat academic
      since nettle is limited to taking an 'int' while gcrypt
      is limited to taking a 'long int'.
      
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      59b060be
  3. Mar 22, 2016
    • Markus Armbruster's avatar
      include/qemu/osdep.h: Don't include qapi/error.h · da34e65c
      Markus Armbruster authored
      
      Commit 57cb38b3 included qapi/error.h into qemu/osdep.h to get the
      Error typedef.  Since then, we've moved to include qemu/osdep.h
      everywhere.  Its file comment explains: "To avoid getting into
      possible circular include dependencies, this file should not include
      any other QEMU headers, with the exceptions of config-host.h,
      compiler.h, os-posix.h and os-win32.h, all of which are doing a
      similar job to this file and are under similar constraints."
      qapi/error.h doesn't do a similar job, and it doesn't adhere to
      similar constraints: it includes qapi-types.h.  That's in excess of
      100KiB of crap most .c files don't actually need.
      
      Add the typedef to qemu/typedefs.h, and include that instead of
      qapi/error.h.  Include qapi/error.h in .c files that need it and don't
      get it now.  Include qapi-types.h in qom/object.h for uint16List.
      
      Update scripts/clean-includes accordingly.  Update it further to match
      reality: replace config.h by config-target.h, add sysemu/os-posix.h,
      sysemu/os-win32.h.  Update the list of includes in the qemu/osdep.h
      comment quoted above similarly.
      
      This reduces the number of objects depending on qapi/error.h from "all
      of them" to less than a third.  Unfortunately, the number depending on
      qapi-types.h shrinks only a little.  More work is needed for that one.
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      [Fix compilation without the spice devel packages. - Paolo]
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      da34e65c
  4. Mar 17, 2016
    • Daniel P. Berrangé's avatar
      crypto: add support for PBKDF2 algorithm · 37788f25
      Daniel P. Berrangé authored
      
      The LUKS data format includes use of PBKDF2 (Password-Based
      Key Derivation Function). The Nettle library can provide
      an implementation of this, but we don't want code directly
      depending on a specific crypto library backend. Introduce
      a new include/crypto/pbkdf.h header which defines a QEMU
      API for invoking PBKDK2. The initial implementations are
      backed by nettle & gcrypt, which are commonly available
      with distros shipping GNUTLS.
      
      The test suite data is taken from the cryptsetup codebase
      under the LGPLv2.1+ license. This merely aims to verify
      that whatever backend we provide for this function in QEMU
      will comply with the spec.
      
      Reviewed-by: default avatarFam Zheng <famz@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      37788f25
    • Daniel P. Berrangé's avatar
      crypto: add cryptographic random byte source · b917da4c
      Daniel P. Berrangé authored
      
      There are three backend impls provided. The preferred
      is gnutls, which is backed by nettle in modern distros.
      The gcrypt impl is provided for cases where QEMU build
      against gnutls is disabled, but crypto is still desired.
      No nettle impl is provided, since it is non-trivial to
      use the nettle APIs for random numbers. Users of nettle
      should ensure gnutls is enabled for QEMU.
      
      Reviewed-by: default avatarFam Zheng <famz@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      b917da4c
  5. Jan 29, 2016
  6. Mar 13, 2014
  7. Jul 27, 2012
  8. Dec 05, 2009
Loading