Re: [Qemu-devel] [PATCH v2 1/2] crypto: fix building complaint
On Mon, Sep 05, 2016 at 12:02:42PM +, Gonglei (Arei) wrote: > > > -Original Message- > > From: Daniel P. Berrange [mailto:berra...@redhat.com] > > Sent: Monday, September 05, 2016 7:04 PM > > To: Gonglei (Arei) > > Cc: qemu-devel@nongnu.org > > Subject: Re: [PATCH v2 1/2] crypto: fix building complaint > > > > On Mon, Sep 05, 2016 at 10:50:54AM +, Gonglei (Arei) wrote: > > > > > > > > > > -Original Message- > > > > From: Daniel P. Berrange [mailto:berra...@redhat.com] > > > > Sent: Monday, September 05, 2016 6:15 PM > > > > To: Gonglei (Arei) > > > > Cc: qemu-devel@nongnu.org; dmi...@daynix.com > > > > Subject: Re: [PATCH v2 1/2] crypto: fix building complaint > > > > > > > > On Tue, Aug 30, 2016 at 12:10:52PM +0800, Gonglei wrote: > > > > > gnutls commit 846753877d renamed LIBGNUTLS_VERSION_NUMBER to > > > > GNUTLS_VERSION_NUMBER. > > > > > If using gnutls before that verion, we'll get the below warning: > > > > > crypto/tlscredsx509.c:618:5: warning: "GNUTLS_VERSION_NUMBER" is > > not > > > > defined > > > > > > > > > > Signed-off-by: Gonglei> > > > > --- > > > > > crypto/tlscredsx509.c | 2 +- > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c > > > > > index 520d34d..f2fd80f 100644 > > > > > --- a/crypto/tlscredsx509.c > > > > > +++ b/crypto/tlscredsx509.c > > > > > @@ -615,7 +615,7 @@ > > qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 > > > > *creds, > > > > > } > > > > > > > > > > if (cert != NULL && key != NULL) { > > > > > -#if GNUTLS_VERSION_NUMBER >= 0x030111 > > > > > +#if defined(GNUTLS_VERSION_NUMBER) && > > > > GNUTLS_VERSION_NUMBER >= 0x030111 > > > > > char *password = NULL; > > > > > if (creds->passwordid) { > > > > > password = > > > > qcrypto_secret_lookup_as_utf8(creds->passwordid, > > > > > > > > Other places in this file still use LIBGNUTLS_VERSION_NUMBER, which is > > > > good, because gnutls 3.x still defines LIBGNUTLS_VERSION_NUMBER for > > > > back compat. > > > > > > > You mean using LIBGNUTLS_VERSION_NUMBER directly here? That's ok. > > > > Yes, > > > > > > The tests/test-crypto-tlscredsx509.c file also needs a similar fix. > > > > > > > Sorry? > > > > It also uses the GNUTLS_VERSION_NUMBER constant instead of > > LIBGNUTLS_VERSION_NUMBER > > > > What about the below patch? > > diff --git a/crypto/init.c b/crypto/init.c > index 1e564d9..16e099b 100644 > --- a/crypto/init.c > +++ b/crypto/init.c > @@ -59,8 +59,7 @@ > > #if (defined(CONFIG_GCRYPT) && \ > (!defined(CONFIG_GNUTLS) ||\ > - !defined(GNUTLS_VERSION_NUMBER) || \ > - (GNUTLS_VERSION_NUMBER < 0x020c00)) &&\ > + (LIBGNUTLS_VERSION_NUMBER < 0x020c00)) &&\ > (!defined(GCRYPT_VERSION_NUMBER) ||\ >(GCRYPT_VERSION_NUMBER < 0x010600))) > #define QCRYPTO_INIT_GCRYPT_THREADS > diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c > index 520d34d..50eb54f 100644 > --- a/crypto/tlscredsx509.c > +++ b/crypto/tlscredsx509.c > @@ -615,7 +615,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, > } > > if (cert != NULL && key != NULL) { > -#if GNUTLS_VERSION_NUMBER >= 0x030111 > +#if LIBGNUTLS_VERSION_NUMBER >= 0x030111 > char *password = NULL; > if (creds->passwordid) { > password = qcrypto_secret_lookup_as_utf8(creds->passwordid, > @@ -630,7 +630,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, > password, > 0); > g_free(password); > -#else /* GNUTLS_VERSION_NUMBER < 0x030111 */ > +#else /* LIBGNUTLS_VERSION_NUMBER < 0x030111 */ > if (creds->passwordid) { > error_setg(errp, "PKCS8 decryption requires GNUTLS >= 3.1.11"); > goto cleanup; > @@ -638,7 +638,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, > ret = gnutls_certificate_set_x509_key_file(creds->data, > cert, key, > GNUTLS_X509_FMT_PEM); > -#endif /* GNUTLS_VERSION_NUMBER < 0x030111 */ > +#endif > if (ret < 0) { > error_setg(errp, "Cannot load certificate '%s' & key '%s': %s", > cert, key, gnutls_strerror(ret)); > diff --git a/tests/crypto-tls-x509-helpers.h b/tests/crypto-tls-x509-helpers.h > index 356b49c..a8faa92 100644 > --- a/tests/crypto-tls-x509-helpers.h > +++ b/tests/crypto-tls-x509-helpers.h > @@ -26,7 +26,6 @@ > > #if !(defined WIN32) && \ > defined(CONFIG_TASN1) && \ > -defined(LIBGNUTLS_VERSION_NUMBER) && \ > (LIBGNUTLS_VERSION_NUMBER >= 0x020600) > # define QCRYPTO_HAVE_TLS_TEST_SUPPORT > #endif Yep, that looks reasonable. Regards, Daniel -- |: http://berrange.com -o-
Re: [Qemu-devel] [PATCH v2 1/2] crypto: fix building complaint
> -Original Message- > From: Daniel P. Berrange [mailto:berra...@redhat.com] > Sent: Monday, September 05, 2016 7:04 PM > To: Gonglei (Arei) > Cc: qemu-devel@nongnu.org > Subject: Re: [PATCH v2 1/2] crypto: fix building complaint > > On Mon, Sep 05, 2016 at 10:50:54AM +, Gonglei (Arei) wrote: > > > > > > > -Original Message- > > > From: Daniel P. Berrange [mailto:berra...@redhat.com] > > > Sent: Monday, September 05, 2016 6:15 PM > > > To: Gonglei (Arei) > > > Cc: qemu-devel@nongnu.org; dmi...@daynix.com > > > Subject: Re: [PATCH v2 1/2] crypto: fix building complaint > > > > > > On Tue, Aug 30, 2016 at 12:10:52PM +0800, Gonglei wrote: > > > > gnutls commit 846753877d renamed LIBGNUTLS_VERSION_NUMBER to > > > GNUTLS_VERSION_NUMBER. > > > > If using gnutls before that verion, we'll get the below warning: > > > > crypto/tlscredsx509.c:618:5: warning: "GNUTLS_VERSION_NUMBER" is > not > > > defined > > > > > > > > Signed-off-by: Gonglei> > > > --- > > > > crypto/tlscredsx509.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c > > > > index 520d34d..f2fd80f 100644 > > > > --- a/crypto/tlscredsx509.c > > > > +++ b/crypto/tlscredsx509.c > > > > @@ -615,7 +615,7 @@ > qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 > > > *creds, > > > > } > > > > > > > > if (cert != NULL && key != NULL) { > > > > -#if GNUTLS_VERSION_NUMBER >= 0x030111 > > > > +#if defined(GNUTLS_VERSION_NUMBER) && > > > GNUTLS_VERSION_NUMBER >= 0x030111 > > > > char *password = NULL; > > > > if (creds->passwordid) { > > > > password = > > > qcrypto_secret_lookup_as_utf8(creds->passwordid, > > > > > > Other places in this file still use LIBGNUTLS_VERSION_NUMBER, which is > > > good, because gnutls 3.x still defines LIBGNUTLS_VERSION_NUMBER for > > > back compat. > > > > > You mean using LIBGNUTLS_VERSION_NUMBER directly here? That's ok. > > Yes, > > > > The tests/test-crypto-tlscredsx509.c file also needs a similar fix. > > > > > Sorry? > > It also uses the GNUTLS_VERSION_NUMBER constant instead of > LIBGNUTLS_VERSION_NUMBER > What about the below patch? diff --git a/crypto/init.c b/crypto/init.c index 1e564d9..16e099b 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -59,8 +59,7 @@ #if (defined(CONFIG_GCRYPT) && \ (!defined(CONFIG_GNUTLS) ||\ - !defined(GNUTLS_VERSION_NUMBER) || \ - (GNUTLS_VERSION_NUMBER < 0x020c00)) &&\ + (LIBGNUTLS_VERSION_NUMBER < 0x020c00)) &&\ (!defined(GCRYPT_VERSION_NUMBER) ||\ (GCRYPT_VERSION_NUMBER < 0x010600))) #define QCRYPTO_INIT_GCRYPT_THREADS diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index 520d34d..50eb54f 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -615,7 +615,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, } if (cert != NULL && key != NULL) { -#if GNUTLS_VERSION_NUMBER >= 0x030111 +#if LIBGNUTLS_VERSION_NUMBER >= 0x030111 char *password = NULL; if (creds->passwordid) { password = qcrypto_secret_lookup_as_utf8(creds->passwordid, @@ -630,7 +630,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, password, 0); g_free(password); -#else /* GNUTLS_VERSION_NUMBER < 0x030111 */ +#else /* LIBGNUTLS_VERSION_NUMBER < 0x030111 */ if (creds->passwordid) { error_setg(errp, "PKCS8 decryption requires GNUTLS >= 3.1.11"); goto cleanup; @@ -638,7 +638,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, ret = gnutls_certificate_set_x509_key_file(creds->data, cert, key, GNUTLS_X509_FMT_PEM); -#endif /* GNUTLS_VERSION_NUMBER < 0x030111 */ +#endif if (ret < 0) { error_setg(errp, "Cannot load certificate '%s' & key '%s': %s", cert, key, gnutls_strerror(ret)); diff --git a/tests/crypto-tls-x509-helpers.h b/tests/crypto-tls-x509-helpers.h index 356b49c..a8faa92 100644 --- a/tests/crypto-tls-x509-helpers.h +++ b/tests/crypto-tls-x509-helpers.h @@ -26,7 +26,6 @@ #if !(defined WIN32) && \ defined(CONFIG_TASN1) && \ -defined(LIBGNUTLS_VERSION_NUMBER) && \ (LIBGNUTLS_VERSION_NUMBER >= 0x020600) # define QCRYPTO_HAVE_TLS_TEST_SUPPORT #endif > Regards, > Daniel > -- > |: http://berrange.com -o- > http://www.flickr.com/photos/dberrange/ :| > |: http://libvirt.org -o- > http://virt-manager.org :| > |: http://autobuild.org -o- > http://search.cpan.org/~danberr/ :| > |: http://entangle-photo.org -o- > http://live.gnome.org/gtk-vnc :|
Re: [Qemu-devel] [PATCH v2 1/2] crypto: fix building complaint
On Mon, Sep 05, 2016 at 10:50:54AM +, Gonglei (Arei) wrote: > > > > -Original Message- > > From: Daniel P. Berrange [mailto:berra...@redhat.com] > > Sent: Monday, September 05, 2016 6:15 PM > > To: Gonglei (Arei) > > Cc: qemu-devel@nongnu.org; dmi...@daynix.com > > Subject: Re: [PATCH v2 1/2] crypto: fix building complaint > > > > On Tue, Aug 30, 2016 at 12:10:52PM +0800, Gonglei wrote: > > > gnutls commit 846753877d renamed LIBGNUTLS_VERSION_NUMBER to > > GNUTLS_VERSION_NUMBER. > > > If using gnutls before that verion, we'll get the below warning: > > > crypto/tlscredsx509.c:618:5: warning: "GNUTLS_VERSION_NUMBER" is not > > defined > > > > > > Signed-off-by: Gonglei> > > --- > > > crypto/tlscredsx509.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c > > > index 520d34d..f2fd80f 100644 > > > --- a/crypto/tlscredsx509.c > > > +++ b/crypto/tlscredsx509.c > > > @@ -615,7 +615,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 > > *creds, > > > } > > > > > > if (cert != NULL && key != NULL) { > > > -#if GNUTLS_VERSION_NUMBER >= 0x030111 > > > +#if defined(GNUTLS_VERSION_NUMBER) && > > GNUTLS_VERSION_NUMBER >= 0x030111 > > > char *password = NULL; > > > if (creds->passwordid) { > > > password = > > qcrypto_secret_lookup_as_utf8(creds->passwordid, > > > > Other places in this file still use LIBGNUTLS_VERSION_NUMBER, which is > > good, because gnutls 3.x still defines LIBGNUTLS_VERSION_NUMBER for > > back compat. > > > You mean using LIBGNUTLS_VERSION_NUMBER directly here? That's ok. Yes, > > The tests/test-crypto-tlscredsx509.c file also needs a similar fix. > > > Sorry? It also uses the GNUTLS_VERSION_NUMBER constant instead of LIBGNUTLS_VERSION_NUMBER Regards, Daniel -- |: http://berrange.com -o-http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
Re: [Qemu-devel] [PATCH v2 1/2] crypto: fix building complaint
> -Original Message- > From: Daniel P. Berrange [mailto:berra...@redhat.com] > Sent: Monday, September 05, 2016 6:15 PM > To: Gonglei (Arei) > Cc: qemu-devel@nongnu.org; dmi...@daynix.com > Subject: Re: [PATCH v2 1/2] crypto: fix building complaint > > On Tue, Aug 30, 2016 at 12:10:52PM +0800, Gonglei wrote: > > gnutls commit 846753877d renamed LIBGNUTLS_VERSION_NUMBER to > GNUTLS_VERSION_NUMBER. > > If using gnutls before that verion, we'll get the below warning: > > crypto/tlscredsx509.c:618:5: warning: "GNUTLS_VERSION_NUMBER" is not > defined > > > > Signed-off-by: Gonglei> > --- > > crypto/tlscredsx509.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c > > index 520d34d..f2fd80f 100644 > > --- a/crypto/tlscredsx509.c > > +++ b/crypto/tlscredsx509.c > > @@ -615,7 +615,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 > *creds, > > } > > > > if (cert != NULL && key != NULL) { > > -#if GNUTLS_VERSION_NUMBER >= 0x030111 > > +#if defined(GNUTLS_VERSION_NUMBER) && > GNUTLS_VERSION_NUMBER >= 0x030111 > > char *password = NULL; > > if (creds->passwordid) { > > password = > qcrypto_secret_lookup_as_utf8(creds->passwordid, > > Other places in this file still use LIBGNUTLS_VERSION_NUMBER, which is > good, because gnutls 3.x still defines LIBGNUTLS_VERSION_NUMBER for > back compat. > You mean using LIBGNUTLS_VERSION_NUMBER directly here? That's ok. > The tests/test-crypto-tlscredsx509.c file also needs a similar fix. > Sorry? Regards, -Gonglei > Regards, > Daniel > -- > |: http://berrange.com -o- > http://www.flickr.com/photos/dberrange/ :| > |: http://libvirt.org -o- > http://virt-manager.org :| > |: http://autobuild.org -o- > http://search.cpan.org/~danberr/ :| > |: http://entangle-photo.org -o- > http://live.gnome.org/gtk-vnc :|
Re: [Qemu-devel] [PATCH v2 1/2] crypto: fix building complaint
On Tue, Aug 30, 2016 at 12:10:52PM +0800, Gonglei wrote: > gnutls commit 846753877d renamed LIBGNUTLS_VERSION_NUMBER to > GNUTLS_VERSION_NUMBER. > If using gnutls before that verion, we'll get the below warning: > crypto/tlscredsx509.c:618:5: warning: "GNUTLS_VERSION_NUMBER" is not defined > > Signed-off-by: Gonglei> --- > crypto/tlscredsx509.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c > index 520d34d..f2fd80f 100644 > --- a/crypto/tlscredsx509.c > +++ b/crypto/tlscredsx509.c > @@ -615,7 +615,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, > } > > if (cert != NULL && key != NULL) { > -#if GNUTLS_VERSION_NUMBER >= 0x030111 > +#if defined(GNUTLS_VERSION_NUMBER) && GNUTLS_VERSION_NUMBER >= 0x030111 > char *password = NULL; > if (creds->passwordid) { > password = qcrypto_secret_lookup_as_utf8(creds->passwordid, Other places in this file still use LIBGNUTLS_VERSION_NUMBER, which is good, because gnutls 3.x still defines LIBGNUTLS_VERSION_NUMBER for back compat. The tests/test-crypto-tlscredsx509.c file also needs a similar fix. Regards, Daniel -- |: http://berrange.com -o-http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
Re: [Qemu-devel] [PATCH v2 1/2] crypto: fix building complaint
On 30 August 2016 at 15:14, Eric Blakewrote: > On 08/29/2016 11:10 PM, Gonglei wrote: >> gnutls commit 846753877d renamed LIBGNUTLS_VERSION_NUMBER to >> GNUTLS_VERSION_NUMBER. >> If using gnutls before that verion, we'll get the below warning: > > s/verion/version/ > >> crypto/tlscredsx509.c:618:5: warning: "GNUTLS_VERSION_NUMBER" is not defined >> > > The C preprocessor is well-defined to treat an unknown macro name as 0. > Which compiler are you using that complains? Is this something that we > consistently work around, or is it better to figure out how to fix your > compiler to quit complaining? This is gcc's -Wundef, which we explicitly enable in configure. (The rationale is the usual one, ie that almost all the time this happens it's by accident and so it's worth putting in the extra effort to avoid the odd case where you were doing it deliberately.) thanks -- PMM
Re: [Qemu-devel] [PATCH v2 1/2] crypto: fix building complaint
On 08/29/2016 11:10 PM, Gonglei wrote: > gnutls commit 846753877d renamed LIBGNUTLS_VERSION_NUMBER to > GNUTLS_VERSION_NUMBER. > If using gnutls before that verion, we'll get the below warning: s/verion/version/ > crypto/tlscredsx509.c:618:5: warning: "GNUTLS_VERSION_NUMBER" is not defined > The C preprocessor is well-defined to treat an unknown macro name as 0. Which compiler are you using that complains? Is this something that we consistently work around, or is it better to figure out how to fix your compiler to quit complaining? > Signed-off-by: Gonglei> --- > crypto/tlscredsx509.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c > index 520d34d..f2fd80f 100644 > --- a/crypto/tlscredsx509.c > +++ b/crypto/tlscredsx509.c > @@ -615,7 +615,7 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, > } > > if (cert != NULL && key != NULL) { > -#if GNUTLS_VERSION_NUMBER >= 0x030111 > +#if defined(GNUTLS_VERSION_NUMBER) && GNUTLS_VERSION_NUMBER >= 0x030111 At any rate, this is the correct way to silence the warning (even if verbose), if we do want it, so: Reviewed-by: Eric Blake -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature