GnuTLS 2.6.6/2.7.8 assumes AF_INET6 is available

Simon Josefsson simon at josefsson.org
Thu May 7 14:31:38 CEST 2009


"Tom G. Christensen" <tgc at jupiterrise.com> writes:

>> Oops, try this instead:
>> 
>> #ifndef HAVE_IPV6
>> # define sockaddr_storage sockaddr
>> #endif
>> 
>> There is another more complex work around mentioned at the end of:
>> 
>> http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/socket.h.html
>> 
>> Maybe the above won't work, and then maybe we need something like that.
>> 
> If I'm reading the referenced manpage correctly struct sockaddr is not
> expected to have an ss_family member so the above define will not work
> as is.
> Instead I replaced the reference to ss_family with sa_family and now it
> builds to completion.

Ok, so adding the following to the top of src/serv.c works?

#define sockaddr_storage sockaddr
#define ss_family sa_family

I've applied the earlier more obvious patch to GnuTLS 2.6.x and GnuTLS
2.7.x, but the sockaddr_storage part needs to be solved properly -- via
gnulib.

> I also ran the testsuite and it passes all tests.
> The full log from running the testsuite is available at
> http://jupiterrise.com/tmp

Thanks!

> I noticed that the compiler complained when building some of the test
> programs:
> x509self.c: In function 'server_start':
> x509self.c:360: warning: passing argument 4 of 'setsockopt' from
> incompatible pointer type
> x509self.c: In function 'server':
> x509self.c:434: warning: implicit declaration of function 'bzero'
> x509self.c:434: warning: incompatible implicit declaration of built-in
> function 'bzero'

Thanks, both looks easily fixable.

/Simon





More information about the Gnutls-devel mailing list