From 714e2b458c151c5bdfe93647445cd00dd8e36fff Mon Sep 17 00:00:00 2001 From: Petr Vorel Date: Sat, 21 Jul 2018 17:46:14 +0200 Subject: [PATCH] ping: Fix AI_CANONIDN usage on some systems Upstream-Status: Backport Signed-off-by: Ross Burton Commit 99f67db used AI_CANONIDN in a way, which broke compilation on systems where AI_CANONIDN is not defined in netdb.h (e.g. glibc < 2.3.4, alternative libcs that don't support IDN: e.g. current musl 1.1.19 and uClibc-ng 1.0.30) when not using the system libidn2. Fixes: 99f67db ping: Fix ping name encoded using ACE on C locale Reported-by: Nicholas Fish Signed-off-by: Petr Vorel --- ping.c | 2 +- ping.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ping.c b/ping.c index 733477f..b241815 100644 --- a/ping.c +++ b/ping.c @@ -207,9 +207,9 @@ main(int argc, char **argv) #ifdef USE_IDN setlocale(LC_ALL, ""); -#endif if (!strcmp(setlocale(LC_ALL, NULL), "C")) hints.ai_flags &= ~ AI_CANONIDN; +#endif /* Support being called using `ping4` or `ping6` symlinks */ if (argv[0][strlen(argv[0])-1] == '4') diff --git a/ping.h b/ping.h index 3e09685..8a0c4ef 100644 --- a/ping.h +++ b/ping.h @@ -28,7 +28,6 @@ #include #include #include -#include #ifdef CAPABILITIES #include @@ -36,6 +35,7 @@ #endif #ifdef USE_IDN +#include #include #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN) #define getnameinfo_flags NI_IDN