Commit Graph

43 Commits

Author SHA1 Message Date
frekky
87edca99b4 Added downstream window fragment timeout option (-j) 2015-10-27 17:25:56 +08:00
frekky
235d3be538 Improved timings + fixed immediate mode send interval.
Still switches to immediate mode too eagerly and reduces timeout very
quickly (especially with lots of SERVFAILs)
2015-10-17 22:28:10 +08:00
frekky
ceaac64814 Refactored client/server to use debug macro 2015-10-04 22:39:40 +08:00
frekky
41ec2ae79c Added statistics printout and command line option 2015-10-04 22:13:47 +08:00
frekky
1b85d23087 Fixed option handshake and query tracking (now works) 2015-10-03 22:09:34 +08:00
frekky
e454a7edb5 Modified options packet to change more than 1 option at a time 2015-09-28 20:06:23 +08:00
frekky
c7cff96055 More connection stats, timeout control + compression flags, client-side
query tracking; lazy mode is now possible with windowing protocol.
2015-09-28 13:07:00 +08:00
frekky
0449c465e7 Re-implemented working DNS tunnelling (with windows!) 2015-08-29 20:11:46 +08:00
frekky
8e08c007c5 Window buffer max_fragsize adjusted according to MAX_HOSTNAME and
current upstream codec
2015-08-23 22:14:27 +08:00
frekky
96f9270b7f Removed unhelpful coding errors. 2015-08-21 23:24:53 +08:00
frekky
844abefcf8 A little bit of refactoring - separated iodined.c into separate files
Fixed up client side compile issues
Removed old packet handling code - TODO: use sliding window buffer
instead
2015-08-21 16:57:54 +08:00
frekky
83f70608fc Client side sliding window implementation (requires further testing) 2015-08-21 11:08:47 +08:00
frekky
3e7cf55fe4 Added option for multiple nameservers, used in round-robin 2015-08-14 22:07:48 +08:00
Erik Ekman
c269a00344 Add support for Android L
Build position-indepent executables, required for Android L (5.0+)
They also work with kitkat.

Add new maketarget "cross-android-old" that builds without PIE
for older versions.

Include both new and old versions in latest-android.zip. Add arm64.

Hopefully solves github PR #14.
2015-08-05 19:36:28 +02:00
Erik Ekman
b4e9148df8 Support raw mode for both IPv4 and IPv6
Read destination address of IP request packet and return it.
Check length in client and use it as IPv4 or v6 depending on length.
2015-06-28 22:41:54 +02:00
Erik Ekman
9a45c4aa66 Change license wording to follow ISC license exactly
"Permission to use, copy, modify, and distribute this software" is now
"Permission to use, copy, modify, and/or distribute this software".

Add license header to source files missing one.
2014-08-07 21:18:33 +02:00
Barak A. Pearlmutter
46532539c2 Rename VERSION define
prep for autotools: autoconf defines VERSION so s/VERSION/PROTOCOL_VERSION/
2014-08-07 12:55:59 +02:00
Erik Ekman
eec0a868d9 Set correct sockaddr length when sending
Fix EINVAL error on NetBSD
2014-06-16 22:28:04 +02:00
Erik Ekman
3ebcd29b13 Add support for using an unspecified RR type
Add PRIVATE query type with id 65399 (private use range).
According to RFC3597 the reply data in a query with unspecified RR type must be handled
as unstructured binary data, which means it can contain raw packet data just like the NULL type.
Since the reply format is optimal it is ordered just after NULL in the priority order.
2014-06-09 20:06:36 +02:00
Erik Ekman
1f4b9250cf Check that supplied query type is valid 2014-06-09 18:56:32 +02:00
Erik Ekman
4d7678dc5b Prefix exported functions from client.c 2014-06-09 18:11:16 +02:00
Erik Ekman
a23899513d Remove trailing whitespace 2014-06-01 08:46:54 +02:00
Erik Ekman
388afe3845 Update copyright 2014-06-01 08:46:54 +02:00
Erik Ekman
d6c3426b84 Set C standard to C99
Also include strings.h where strcasecmp() is used
2014-05-29 18:38:43 +02:00
Erik Ekman
a1d88c4f0a IPv6 support for client (#107)
The iodine client now supports both IPv4 and IPv6 nameservers for
sending DNS queries to an IPv4 iodined. The nameserver will
transparently handle translation between IP protocols.

Windows port needs Vista or later to support IPv6.
2014-02-05 22:36:53 +01:00
Erik Ekman
97b5e688ef Fix warning, unused variable 'accepted_fragsize' 2014-01-29 19:33:54 +01:00
Erik Ekman
45a5d80c49 Adjust indentation 2012-02-06 20:28:42 +01:00
Marcel Bokhorst
a569030bb7 Android support (#105) patch from Marcel Bokhorst 2012-02-04 20:34:05 +01:00
Erik Ekman
b22e3da5a0 #89, use remote ip as second ip in ifconfig on FreeBSD 2012-02-04 20:34:05 +01:00
J. A. Bezemer
b177901d38 Applied patch from #88, thanks a lot! 2012-02-04 20:34:04 +01:00
Erik Ekman
1a26a91db3 #82, switch to gethostbyname() for win32 support 2012-02-04 20:34:04 +01:00
Erik Ekman
c5bdf07070 #82 update docs 2012-02-04 20:34:04 +01:00
Erik Ekman
365aab1d29 #82, fix resolving given nameserver on everything but win32 2012-02-04 20:34:04 +01:00
Erik Ekman
269499ba43 Print DNS errors only when requested packet has an error 2012-02-04 20:34:04 +01:00
Erik Ekman
326da432c9 Fix buggy set lazy mode function 2012-02-04 20:34:04 +01:00
J. A. Bezemer
3c48602747 merge client code #76 2012-02-04 20:34:04 +01:00
Erik Ekman
92b160a416 Fix mtu fragment size probing 2012-02-04 20:34:04 +01:00
J. A. Bezemer
2c2dd6f06e update client code #75 2012-02-04 20:34:03 +01:00
Erik Ekman
f9c2257ba9 Prune includes 2012-02-04 20:34:03 +01:00
Erik Ekman
a1a2e3cefe Refactored to make it easier to add unit tests 2012-02-04 20:34:03 +01:00
Guillaume Rischard
3879f96a80 Fix build error on OSX 10.6 by Guillaume Rischard, #79 2012-02-04 20:34:03 +01:00
Erik Ekman
0cdd537819 #78, print server tunnel ip 2012-02-04 20:34:03 +01:00
Erik Ekman
27fdc23433 Split the client code out from the file with the main() func 2012-02-04 20:34:03 +01:00