Message ID | 33183CC9F5247A488A2544077AF19020B03B466A@SZXEMA503-MBS.china.huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Sep 05, 2016 at 12:02:42PM +0000, Gonglei (Arei) wrote: > > > -----Original Message----- > > From: Daniel P. Berrange [mailto:berrange@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 +0000, Gonglei (Arei) wrote: > > > > > > > > > > -----Original Message----- > > > > From: Daniel P. Berrange [mailto:berrange@redhat.com] > > > > Sent: Monday, September 05, 2016 6:15 PM > > > > To: Gonglei (Arei) > > > > Cc: qemu-devel@nongnu.org; dmitry@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 <arei.gonglei@huawei.com> > > > > > --- > > > > > 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
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