]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - bind/patches/bind-9.5-libidn3.patch
bind: Rework package.
[ipfire-3.x.git] / bind / patches / bind-9.5-libidn3.patch
diff --git a/bind/patches/bind-9.5-libidn3.patch b/bind/patches/bind-9.5-libidn3.patch
new file mode 100644 (file)
index 0000000..3fd5573
--- /dev/null
@@ -0,0 +1,21 @@
+diff -up bind-9.5.0b1/bin/dig/dighost.c.libidn3 bind-9.5.0b1/bin/dig/dighost.c
+--- bind-9.5.0b1/bin/dig/dighost.c.libidn3     2007-12-20 13:24:27.000000000 +0100
++++ bind-9.5.0b1/bin/dig/dighost.c     2007-12-20 13:27:10.000000000 +0100
+@@ -1859,10 +1859,13 @@ setup_lookup(dig_lookup_t *lookup) {
+       if (lookup->origin != NULL) {
+               result = libidn_locale_to_utf8 (lookup->origin->origin, utf8_str);
+               check_result (result, "convert origin to UTF-8");
+-              if (len + strlen (utf8_str) < MXNAME)
+-                      (void) strcpy (utf8_name + len, utf8_str);
+-              else
+-                      fatal ("Too long name + origin");
++              if (len > 0 && utf8_name[len - 1] != '.') {
++                      utf8_name[len++] = '.';
++                      if (len + strlen (utf8_str) < MXNAME)
++                              (void) strcpy (utf8_name + len, utf8_str);
++                      else
++                              fatal ("Too long name + origin");
++              }
+       }
+       result = libidn_utf8_to_ascii (utf8_name, ascii_name);