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 <s...@weilnetz.de> > Suggested-by: Daniel P. Berrangé <berra...@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é <phi...@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é <berra...@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 :|