[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 6/6] crypto: Make QCryptoTLSCreds* structures private
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH v5 6/6] crypto: Make QCryptoTLSCreds* structures private |
Date: |
Fri, 18 Jun 2021 09:35:44 +0100 |
User-agent: |
Mutt/2.0.7 (2021-05-04) |
On Thu, Jun 17, 2021 at 02:18:30PM +0200, Philippe Mathieu-Daudé wrote:
> Code consuming the "crypto/tlscreds*.h" APIs doesn't need
> to access its internals. Move the structure definitions to
> the "tlscredspriv.h" private header (only accessible by
> implementations). The public headers (in include/) still
> forward-declare the structures typedef.
>
> Note, tlscreds.c and 3 of the 5 modified source files already
> include "tlscredspriv.h", so only add it to tls-cipher-suites.c
> and tlssession.c.
>
> Removing the internals from the public header solves a bug
> introduced by commit 7de2e856533 ("yank: Unregister function
> when using TLS migration") which made migration/qemu-file-channel.c
> include "io/channel-tls.h", itself sometime depends on GNUTLS,
> leading to a build failure on OSX:
>
> [2/35] Compiling C object libmigration.fa.p/migration_qemu-file-channel.c.o
> FAILED: libmigration.fa.p/migration_qemu-file-channel.c.o
> cc -Ilibmigration.fa.p -I. -I.. -Iqapi [ ... ] -o
> libmigration.fa.p/migration_qemu-file-channel.c.o -c
> ../migration/qemu-file-channel.c
> In file included from ../migration/qemu-file-channel.c:29:
> In file included from include/io/channel-tls.h:26:
> In file included from include/crypto/tlssession.h:24:
> include/crypto/tlscreds.h:28:10: fatal error: 'gnutls/gnutls.h' file not
> found
> #include <gnutls/gnutls.h>
> ^~~~~~~~~~~~~~~~~
> 1 error generated.
>
> Reported-by: Stefan Weil <sw@weilnetz.de>
> Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/407
> Fixes: 7de2e856533 ("yank: Unregister function when using TLS migration")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> crypto/tlscredspriv.h | 45 ++++++++++++++++++++++++++++++
> include/crypto/tls-cipher-suites.h | 6 ----
> include/crypto/tlscreds.h | 16 -----------
> include/crypto/tlscredsanon.h | 12 --------
> include/crypto/tlscredspsk.h | 12 --------
> include/crypto/tlscredsx509.h | 10 -------
> crypto/tls-cipher-suites.c | 7 +++++
> crypto/tlscredsanon.c | 2 ++
> crypto/tlscredspsk.c | 2 ++
> crypto/tlscredsx509.c | 1 +
> crypto/tlssession.c | 1 +
> 11 files changed, 58 insertions(+), 56 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
- [PATCH v5 0/6] crypto: Make QCryptoTLSCreds* structures private, Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 1/6] crypto/tlscreds: Introduce qcrypto_tls_creds_check_endpoint() helper, Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 2/6] block/nbd: Use qcrypto_tls_creds_check_endpoint(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 3/6] chardev/socket: Use qcrypto_tls_creds_check_endpoint(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 4/6] migration/tls: Use qcrypto_tls_creds_check_endpoint(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 5/6] ui/vnc: Use qcrypto_tls_creds_check_endpoint(), Philippe Mathieu-Daudé, 2021/06/17
- [PATCH v5 6/6] crypto: Make QCryptoTLSCreds* structures private, Philippe Mathieu-Daudé, 2021/06/17
- Re: [PATCH v5 6/6] crypto: Make QCryptoTLSCreds* structures private,
Daniel P . Berrangé <=
- Re: [PATCH v5 0/6] crypto: Make QCryptoTLSCreds* structures private, Akihiko Odaki, 2021/06/27