kumquat-buildroot/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch
Petr Vorel 21d075492e iputils: Bump to version s20180629
Add upstream patch to fix build error:
ping.c: In function ‘main’:
ping.c:212:23: error: ‘AI_CANONIDN’ undeclared (first use in this function); did you mean ‘AI_CANONNAME’?
   hints.ai_flags &= ~ AI_CANONIDN;

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-25 22:17:34 +02:00

58 lines
1.5 KiB
Diff

From 25899e849aa3abc1ad29ebf0b830262a859eaed5 Mon Sep 17 00:00:00 2001
From: Petr Vorel <petr.vorel@gmail.com>
Date: Sat, 21 Jul 2018 17:46:14 +0200
Subject: [PATCH] ping: Fix AI_CANONIDN usage on some systems
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 <petr.vorel@gmail.com>
---
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 <netinet/icmp6.h>
#include <linux/filter.h>
#include <resolv.h>
-#include <locale.h>
#ifdef CAPABILITIES
#include <sys/prctl.h>
@@ -36,6 +35,7 @@
#endif
#ifdef USE_IDN
+#include <locale.h>
#include <idn2.h>
#define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN)
#define getnameinfo_flags NI_IDN
--
2.19.0.rc2