Package: iodine
Version: 0.6.0~rc1-2

iodine-client-start launch iodine without '-r' option (-r seems skip raw UDP mode).

This behavior is not the best for me :
* When raw udp mode is able to work, iodine is not usefull, openvpn can
  be used for example
* No route is added to link directly the server, and default route in
  tunnelled by iodine, this can be result in a loop.

raw UDP mode rarely works, and when it works, it can make problems.

I propose in my patch to add a option in the configuration file. This option is set by default to skip the raw UDP mode.

Regards,

--
Jean-Benoist Leger
--- 0/iodine-client-start	2012-05-18 19:22:48.073442937 +0200
+++ 3/iodine-client-start	2012-05-18 19:34:22.883407594 +0200
@@ -102,6 +102,11 @@
     the default tunnel MTU is 1024, and if the local DNS server
     restricts to 512 byte packets you might need to use an MTU of 220.
 
+skip_raw_udp_mode
+    Set "-r" option in iodine command line. With this option, iodine
+    does not try to establish a direct UDP socket to the iodine server
+    on port 53. (default: true).
+
 continue_on_error
     Set if the script should continue even if a command fails.
     Use to test script when running as non-root. Defaults to false
@@ -189,6 +194,9 @@
 ##  - if local DNS server restricts to 512 byte packets then use MTU 220
 echo "${mtu}"					> /dev/null
 
+## Set it if you want try RAW udp mode
+echo "${skip_raw_udp_mode:=true}"           > /dev/null
+
 ## Set if the script should continue even if a command fails.
 ## Used to test script when running as non-root.
 if [ $(whoami) = root ]; then
@@ -315,7 +323,11 @@
 ## Bring up DNS tunnel
 
 echo ==== Creating IP-over-DNS tunnel...
-iodine -P "${passwd}" "${subdomain}" || ${continue_on_error}
+if ${skip_raw_udp_mode}; then
+    iodine_opts="${iodine_opts} -r"
+fi
+
+iodine ${iodine_opts} -P "${passwd}" "${subdomain}" || ${continue_on_error}
 
 ## Find DNS tunnel interface
 

Reply via email to