Import iodine-0.6.0rc1 as net/iodine, packaged for wip by Moritz Wilhelmy,

Georg Schwarz and MJ Turner.

iodine lets you tunnel IPv4 data through a DNS server. This can be usable in
different situations where internet access is firewalled, but DNS queries are
allowed.

It runs on Linux, Mac OS X, FreeBSD, NetBSD and OpenBSD and needs a TUN/TAP
device. The bandwidth is assymetrical with limited upstream and up to 1 Mbit/s
downstream.

Compared to other DNS tunnel implementations, iodine offers:
 * Higher performance: iodine uses the NULL type that allows the downstream
   data to be sent without encoding. Each DNS reply can contain nearly a
   kilobyte of payload data.

 * Portability: iodine runs on many different UNIX-like systems. Tunnels can be
   set up between two hosts no matter their endianness or operating system.

 * Security: iodine uses challenge-response login secured by MD5 hash. It also
   filters out any packets not coming from the IP and port used when logging
   in.

 * Less setup: iodine handles setting IP number on interfaces automatically,
   and up to 8 users can share one server at the same time.
This commit is contained in:
wiz 2012-12-12 13:19:06 +00:00
parent a4eb3a98ee
commit d7abf1e85f
6 changed files with 111 additions and 0 deletions

22
net/iodine/DESCR Normal file
View file

@ -0,0 +1,22 @@
iodine lets you tunnel IPv4 data through a DNS server. This can be usable in
different situations where internet access is firewalled, but DNS queries are
allowed.
It runs on Linux, Mac OS X, FreeBSD, NetBSD and OpenBSD and needs a TUN/TAP
device. The bandwidth is assymetrical with limited upstream and up to 1 Mbit/s
downstream.
Compared to other DNS tunnel implementations, iodine offers:
* Higher performance: iodine uses the NULL type that allows the downstream
data to be sent without encoding. Each DNS reply can contain nearly a
kilobyte of payload data.
* Portability: iodine runs on many different UNIX-like systems. Tunnels can be
set up between two hosts no matter their endianness or operating system.
* Security: iodine uses challenge-response login secured by MD5 hash. It also
filters out any packets not coming from the IP and port used when logging
in.
* Less setup: iodine handles setting IP number on interfaces automatically,
and up to 8 users can share one server at the same time.

21
net/iodine/Makefile Normal file
View file

@ -0,0 +1,21 @@
# $NetBSD: Makefile,v 1.1 2012/12/12 13:19:06 wiz Exp $
DISTNAME= iodine-0.6.0-rc1
PKGNAME= iodine-0.6.0rc1
CATEGORIES= net
MASTER_SITES= http://code.kryo.se/iodine/
MAINTAINER= mwilhelmy@users.sourceforge.net
HOMEPAGE= http://code.kryo.se/iodine/
COMMENT= Tool to tunnel IPv4 over DNS
LICENSE= mit
PKG_USERS= iodine:iodine
PKG_GROUPS= iodine
BUILD_DEFS+= VARBASE
MAKE_DIRS= ${VARBASE}/chroot
OWN_DIRS= ${VARBASE}/chroot/iodine
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

7
net/iodine/PLIST Normal file
View file

@ -0,0 +1,7 @@
@comment $NetBSD: PLIST,v 1.1 2012/12/12 13:19:06 wiz Exp $
man/man8/iodine.8
man/man8/iodined.8
sbin/iodine
sbin/iodined
share/doc/iodine/CHANGELOG
share/doc/iodine/README

7
net/iodine/distinfo Normal file
View file

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.1 2012/12/12 13:19:06 wiz Exp $
SHA1 (iodine-0.6.0-rc1.tar.gz) = 4fa9a248b8a84df8a727a5d749e669e58136edca
RMD160 (iodine-0.6.0-rc1.tar.gz) = 6974beac28e07b0c280d7095f15d13699e9cad65
Size (iodine-0.6.0-rc1.tar.gz) = 89827 bytes
SHA1 (patch-aa) = fb37ac47290f54aa87d84c89c5d0b1fcb179f2fb
SHA1 (patch-ab) = 767dde49b1d06935dc79ec7832b8204c5eef7ff2

View file

@ -0,0 +1,15 @@
$NetBSD: patch-aa,v 1.1 2012/12/12 13:19:06 wiz Exp $
Honour CPPFLAGS
--- src/Makefile.orig 2010-03-06 20:47:50.000000000 +0100
+++ src/Makefile 2010-03-06 20:54:32.000000000 +0100
@@ -28,7 +28,7 @@
.c.o:
@echo CC $<
- @$(CC) $(CFLAGS) $< -o $@
+ @$(CC) $(CPPFLAGS) $(CFLAGS) $< -o $@
base64u.o client.o iodined.o: base64u.h
base64u.c: base64.c

View file

@ -0,0 +1,39 @@
$NetBSD: patch-ab,v 1.1 2012/12/12 13:19:06 wiz Exp $
Fix 'install' target of upstream Makefile
--- Makefile.orig 2009-01-25 21:40:04.000000000 +0000
+++ Makefile
@@ -1,8 +1,3 @@
-prefix=/usr/local
-sbindir=$(prefix)/sbin
-datadir=$(prefix)/share
-mandir=$(datadir)/man
-
DESTDIR=
INSTALL=install
@@ -35,14 +30,15 @@ cross-mingw-dist: cross-mingw
@zip -r iodine-latest-win32.zip iodine-latest-win32
install: all
- $(MKDIR) $(MKDIR_FLAGS) $(DESTDIR)$(sbindir)
- $(INSTALL) $(INSTALL_FLAGS) bin/iodine $(DESTDIR)$(sbindir)/iodine
- chmod 755 $(DESTDIR)$(sbindir)/iodine
- $(INSTALL) $(INSTALL_FLAGS) bin/iodined $(DESTDIR)$(sbindir)/iodined
- chmod 755 $(DESTDIR)$(sbindir)/iodined
- $(MKDIR) $(MKDIR_FLAGS) $(DESTDIR)$(mandir)/man8
- $(INSTALL) $(INSTALL_FLAGS) man/iodine.8 $(DESTDIR)$(mandir)/man8/iodine.8
- chmod 644 $(DESTDIR)$(mandir)/man8/iodine.8
+ $(BSD_INSTALL_PROGRAM_DIR) $(DESTDIR)$(PREFIX)/sbin
+ $(BSD_INSTALL_PROGRAM) bin/iodine $(DESTDIR)$(PREFIX)/sbin/iodine
+ $(BSD_INSTALL_PROGRAM) bin/iodined $(DESTDIR)$(PREFIX)/sbin/iodined
+ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man8
+ $(BSD_INSTALL_MAN) man/iodine.8 $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man8/iodine.8
+ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(PREFIX)/share/doc/iodine
+ $(BSD_INSTALL_DATA) README $(DESTDIR)$(PREFIX)/share/doc/iodine/README
+ $(BSD_INSTALL_DATA) CHANGELOG $(DESTDIR)$(PREFIX)/share/doc/iodine/CHANGELOG
+ ln -sf iodine.8 $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man8/iodined.8
uninstall:
$(RM) $(RM_FLAGS) $(DESTDIR)$(sbindir)/iodine