]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Make IDN support conditional
authorWaldemar Brodkorb <wbx@openadk.org>
Thu, 15 Jun 2017 15:44:59 +0000 (17:44 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 16 Jun 2017 13:13:16 +0000 (09:13 -0400)
[zj: rename HAVE_IDN to ENABLE_IDN]

configure.ac
src/basic/socket-util.c

index a47492df3e9b6cd6a62e2af5f506a84e7d258f42..3e7af7694c3727e2ec0a089d261c54a808250d3d 100644 (file)
@@ -1049,6 +1049,15 @@ if test "$have_libidn2" != "yes"; then
 fi
 AM_CONDITIONAL(HAVE_LIBIDN, [test "$have_libidn" = "yes"])
 
+# ------------------------------------------------------------------------------
+have_idn=no
+AC_ARG_ENABLE(idn, AS_HELP_STRING([--disable-idn], [disable IDN when printing host names]))
+if test "x$enable_idn" != "xno"; then
+        have_idn=yes
+        AC_DEFINE(ENABLE_IDN, [1], [IDN is enabled])
+fi
+AM_CONDITIONAL(ENABLE_IDN, [test "$have_idn" = "yes"])
+
 # ------------------------------------------------------------------------------
 have_libiptc=no
 AC_ARG_ENABLE(libiptc, AS_HELP_STRING([--disable-libiptc], [disable optional LIBIPTC support]))
@@ -1742,6 +1751,7 @@ AC_MSG_RESULT([
         libcurl:                           ${have_libcurl}
         libidn2:                           ${have_libidn2}
         libidn:                            ${have_libidn}
+        IDN:                               ${have_idn}
         libiptc:                           ${have_libiptc}
         ELFUTILS:                          ${have_elfutils}
         binfmt:                            ${have_binfmt}
index e5847dce00ac6a98330bd83e355bc723d7f44c40..49642c23474a9c29e57a1f1438fc1b9dd08b5e93 100644 (file)
 #include "utf8.h"
 #include "util.h"
 
+#ifdef ENABLE_IDN
+#  define IDN_FLAGS (NI_IDN|NI_IDN_USE_STD3_ASCII_RULES)
+#else
+#  define IDN_FLAGS 0
+#endif
+
 int socket_address_parse(SocketAddress *a, const char *s) {
         char *e, *n;
         unsigned u;
@@ -723,8 +729,7 @@ int socknameinfo_pretty(union sockaddr_union *sa, socklen_t salen, char **_ret)
 
         assert(_ret);
 
-        r = getnameinfo(&sa->sa, salen, host, sizeof(host), NULL, 0,
-                        NI_IDN|NI_IDN_USE_STD3_ASCII_RULES);
+        r = getnameinfo(&sa->sa, salen, host, sizeof(host), NULL, 0, IDN_FLAGS);
         if (r != 0) {
                 int saved_errno = errno;