Package: iodine
Version: 0.6.0~rc1-2

iodine-client-start script make point-to-point route for DNS servers found from /etc/resolv.conf before starting iodine client. In general case this is the normal behavior.

When DNS is used in loopback interface (like dnsmasq), it is a bug to do this.

So I propose a patch.

Regards,

--
Jean-Benoist Leger
--- 0/iodine-client-start	2012-05-18 19:22:48.073442937 +0200
+++ 2/iodine-client-start	2012-05-18 19:34:59.900072377 +0200
@@ -304,11 +304,14 @@
 
 for n in ${nameservers}; do
     n_net=$(ipcalc --nobinary ${n}/${prefix_len} | awk '$1=="Network:" {print $2}')
+    n_net8=$(ipcalc --nobinary ${n}/8 | awk '$1=="Network:" {print $2}')
     if [ "${n_net}" != "${local_net}" ]; then
-	echo ==== Adding point-to-point route for DNS server ${n}
-        ## remove point-to-point route first, in case it is already present
-	ip -4 route del ${n}/32 || true
-	ip -4 route add ${n}/32 via ${router} || ${continue_on_error}
+        if [ "${n_net8}" != "127.0.0.0/8" ]; then
+	        echo ==== Adding point-to-point route for DNS server ${n}
+            ## remove point-to-point route first, in case it is already present
+	        ip -4 route del ${n}/32 || true
+	        ip -4 route add ${n}/32 via ${router} || ${continue_on_error}
+        fi
     fi
 done
 

Reply via email to