interesting! could you please try the attached patch?
It should be consistent with the use id.c and whack. The comment there suggested unistd.h. https://github.com/libreswan/libreswan/blob/master/lib/libswan/id.c#L26 #ifndef HOST_NAME_MAX /* POSIX 1003.1-2001 says <unistd.h> defines this */ Now I think the comment is for OpenBSD. Linux it is in limits.h which should come via sysdep.h https://github.com/libreswan/libreswan/blob/master/ports/linux/include/sysdep.h#L8 #include <limits.h> /* POSIX 1003.1-2001 says <unistd.h> defines this */ Here is my proposed patch. Actually, we may have to use another constant. Now it is 64, which is probably short, I was thinking it is 255. -antony On Mon, Aug 14, 2017 at 03:09:18PM +0300, Timo Teras wrote: > HOST_NAME_MAX is defined in limits.h according to POSIX. Include it > appropriately in ikev2_ipseckey.c. Namely, this fixes a build failure > on ppc64le with musl c-library: > > libreswan-3.21/programs/pluto/ikev2_ipseckey.c: In function 'build_dns_name': > libreswan-3.21/programs/pluto/ikev2_ipseckey.c:725:22: error: 'HOST_NAME_MAX' > undeclared (first use in this function) > if (id->name.len >= HOST_NAME_MAX) > ^~~~~~~~~~~~~ > libreswan-3.21/programs/pluto/ikev2_ipseckey.c:725:22: note: each undeclared > identifier is reported only once for each function it appears in > libreswan-3.21/programs/pluto/ikev2_ipseckey.c: In function 'qry_st_init': > libreswan-3.21/programs/pluto/ikev2_ipseckey.c:773:15: error: 'HOST_NAME_MAX' > undeclared (first use in this function) > char log_buf[HOST_NAME_MAX * 2]; /* this is local */ > ^~~~~~~~~~~~~ > > diff -ru libreswan-3.21.orig/programs/pluto/ikev2_ipseckey.c > libreswan-3.21/programs/pluto/ikev2_ipseckey.c > --- libreswan-3.21.orig/programs/pluto/ikev2_ipseckey.c 2017-08-09 > 20:47:34.000000000 +0000 > +++ libreswan-3.21/programs/pluto/ikev2_ipseckey.c 2017-08-14 > 12:00:26.380840562 +0000 > @@ -23,6 +23,7 @@ > #include <stddef.h> > #include <stdlib.h> > #include <unistd.h> > +#include <limits.h> > #include <errno.h> > #include <arpa/inet.h> /* for inet_ntop */ > #include <arpa/nameser.h> > _______________________________________________ > Swan-dev mailing list > [email protected] > https://lists.libreswan.org/mailman/listinfo/swan-dev
>From ee7952c5112a2b08c1b196cabd946e0b3c3dc74a Mon Sep 17 00:00:00 2001 From: Antony Antony <[email protected]> Date: Mon, 14 Aug 2017 20:52:18 +0200 Subject: [PATCH] posix: use HOST_NAME_MAX consitently from limits.h --- lib/libswan/id.c | 5 +---- ports/linux/include/sysdep.h | 2 +- programs/pluto/ikev2_ipseckey.c | 2 +- programs/pluto/rcv_whack.c | 4 ---- 4 files changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/libswan/id.c b/lib/libswan/id.c index 06cc751..b89650a 100644 --- a/lib/libswan/id.c +++ b/lib/libswan/id.c @@ -22,10 +22,6 @@ #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> -#include <unistd.h> -#ifndef HOST_NAME_MAX /* POSIX 1003.1-2001 says <unistd.h> defines this */ -#define HOST_NAME_MAX 255 /* upper bound, according to SUSv2 */ -#endif #include <libreswan.h> @@ -34,6 +30,7 @@ #include "libreswan/passert.h" #include "lswalloc.h" #include "lswlog.h" +#include "sysdep.h" #include "id.h" #include "x509.h" #include <cert.h> diff --git a/ports/linux/include/sysdep.h b/ports/linux/include/sysdep.h index deb2ac1..b782b2c 100644 --- a/ports/linux/include/sysdep.h +++ b/ports/linux/include/sysdep.h @@ -5,7 +5,7 @@ #define TimeZoneOffset timezone #include <limits.h> -/* POSIX 1003.1-2001 says <unistd.h> defines this */ +/* POSIX 1003.1-2001 says <limits.h> defines this */ #ifndef HOST_NAME_MAX /* some don't even use _POSIX_HOST_NAME_MAX */ # ifdef _POSIX_HOST_NAME_MAX diff --git a/programs/pluto/ikev2_ipseckey.c b/programs/pluto/ikev2_ipseckey.c index 45872ef..1d32d37 100644 --- a/programs/pluto/ikev2_ipseckey.c +++ b/programs/pluto/ikev2_ipseckey.c @@ -22,7 +22,6 @@ #include <string.h> #include <stddef.h> #include <stdlib.h> -#include <unistd.h> #include <errno.h> #include <arpa/inet.h> /* for inet_ntop */ #include <arpa/nameser.h> @@ -31,6 +30,7 @@ #include "unbound-event.h" #include "libreswan.h" #include "lswlog.h" +#include "sysdep.h" #include "defs.h" #include "log.h" #include "constants.h" /* for demux.h */ diff --git a/programs/pluto/rcv_whack.c b/programs/pluto/rcv_whack.c index baa9fdf..9a53ed5 100644 --- a/programs/pluto/rcv_whack.c +++ b/programs/pluto/rcv_whack.c @@ -28,10 +28,6 @@ #include <stddef.h> #include <stdlib.h> #include <string.h> -#include <unistd.h> -#ifndef HOST_NAME_MAX /* POSIX 1003.1-2001 says <unistd.h> defines this */ -# define HOST_NAME_MAX 255 /* upper bound, according to SUSv2 */ -#endif #include <errno.h> #include <sys/types.h> #include <sys/socket.h> -- 2.9.4
_______________________________________________ Swan-dev mailing list [email protected] https://lists.libreswan.org/mailman/listinfo/swan-dev
