+iodine (0.5.0-2) UNRELEASED; urgency=low
+
+ * Update example script iodine-jigger; thanks to Stephan Walter for the bug
+ report and to Barak A. Pearlmutter for the updated version; add gawk to
+ Suggests (closes: #513221).
+
+ -- gregor herrmann <gregoa@debian.org> Thu, 29 Jan 2009 17:38:07 +0100
+
iodine (0.5.0-1) experimental; urgency=low
* New upstream release.
Package: iodine
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, udev | makedev, adduser
-Suggests: iproute, ipcalc, dnsutils, fping
+Suggests: iproute, ipcalc, dnsutils, fping, gawk
Description: tool for tunneling IPv4 data through a DNS server
This is a piece of software that lets you tunnel IPv4 data through a DNS
server. This can be usable in different situations where internet access is
## Minimal customization: put the two lines
## subdomain=your.tunnel.sub.domain
-## passed=password_for_that_tunnel
+## passwd=password_for_that_tunnel
## in the file /etc/default/iodine-client.
echo "${iodine_client_rc:=/etc/default/iodine-client}" > /dev/null
echo "${default_router}" > /dev/null
## Set if script uses the wrong hardware interface
-echo "{interface}" > /dev/null
+echo "${interface}" > /dev/null
## Set if the script should continue even if a command fails.
## Used to test script when running as non-root.
## ipcalc (for /usr/bin/ipcalc)
## dnsutils (for /usr/bin/dig)
## fping (for /usr/bin/fping)
+## gawk (for /usr/bin/gawk, to use gensub())
## The default tunnel MTU is 1024.
## If local DNS server restricts to 512 byte packets then do this:
n_net=$(ipcalc --nobinary ${n}/${prefix_len} | 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}
fi
done
## Bring up DNS tunnel
echo ==== Creating IP-over-DNS tunnel...
-iodine -P ${passwd} ${subdomain} || ${continue_on_error}
+iodine -P "${passwd}" "${subdomain}" || ${continue_on_error}
## Find DNS tunnel interface
## it *prints* it as it sets up the tunnel, so it does know it.)
tunnel_remote=$(ip -4 address show dev ${tunnel_interface} \
- | awk '$1=="inet" {print gensub("[.][0-9]*/.*", ".1", 1, $2)}' | head -1)
+ | gawk '$1=="inet" {print gensub("[.][0-9]*/.*", ".1", 1, $2)}' | head -1)
if [ -z ${tunnel_remote} ]; then
echo ERROR: Cannot find DNS tunnel remote endpoint.