fix dnsmasq parsing of /etc/hosts for fqdn cases like "localhost."
authormbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 12 Feb 2007 22:47:25 +0000 (22:47 +0000)
committermbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 12 Feb 2007 22:47:25 +0000 (22:47 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6291 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/dnsmasq/patches/103-hosts-fqdn.patch [new file with mode: 0644]

diff --git a/package/dnsmasq/patches/103-hosts-fqdn.patch b/package/dnsmasq/patches/103-hosts-fqdn.patch
new file mode 100644 (file)
index 0000000..0541614
--- /dev/null
@@ -0,0 +1,15 @@
+--- dnsmasq-2.35/src/cache.c.orig      2007-02-12 14:35:58.000000000 -0800
++++ dnsmasq-2.35/src/cache.c   2007-02-12 14:36:51.000000000 -0800
+@@ -720,10 +720,11 @@
+      while ((token = strtok(NULL, " \t\n\r")) && (*token != '#'))
+        {
+        struct crec *cache;
++       int fqdn = !!strchr(token, '.');
+        if (canonicalise(token))
+          {
+            /* If set, add a version of the name with a default domain appended */
+-           if ((opts & OPT_EXPAND) && domain_suffix && !strchr(token, '.') && 
++           if ((opts & OPT_EXPAND) && domain_suffix && !fqdn && 
+                (cache = malloc(sizeof(struct crec) + 
+                                strlen(token)+2+strlen(domain_suffix)-SMALLDNAME)))
+              {