diff mbox

[v2,1/2] crypto: fix building complaint

Message ID 1472530253-94132-2-git-send-email-arei.gonglei@huawei.com (mailing list archive)
State New, archived
Headers show

Commit Message

Gonglei (Arei) Aug. 30, 2016, 4:10 a.m. UTC
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(-)

Comments

Eric Blake Aug. 30, 2016, 2:14 p.m. UTC | #1
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 <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

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 <eblake@redhat.com>
Peter Maydell Aug. 30, 2016, 2:21 p.m. UTC | #2
On 30 August 2016 at 15:14, Eric Blake <eblake@redhat.com> wrote:
> 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
Daniel P. Berrangé Sept. 5, 2016, 10:14 a.m. UTC | #3
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.

The tests/test-crypto-tlscredsx509.c file also needs a similar fix.

Regards,
Daniel
Gonglei (Arei) Sept. 5, 2016, 10:50 a.m. UTC | #4
> -----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.

> 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 :|
Daniel P. Berrangé Sept. 5, 2016, 11:04 a.m. UTC | #5
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

Regards,
Daniel
diff mbox

Patch

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,