Erik Ekman
f02339b3b2
IPv6: Create single way to format IP addresses
2014-02-06 19:44:26 +01: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
8baad91156
Make sure buffer is zero-terminated when getting external ip
...
Also switch to HTTP 1.0 to avoid chunked transfer coding.
2014-01-29 23:12:22 +01:00
Erik Ekman
fb9e930fee
Print git revision as version
2014-01-29 20:25:45 +01:00
Erik Ekman
900647fa0c
Merge pull request #4 from mscherer/systemd
...
Add socket activation for systemd, with a option to stop on idle
2014-01-29 09:25:00 -08:00
Michael Scherer
abd276ed9e
Add idle option, so we can stop iodine and start it on demand with systemd
2013-12-23 22:57:50 +01:00
Michael Scherer
27fb4c75cd
Add support to have on demand socket activation of iodine
2013-12-23 22:57:40 +01:00
Michael Scherer
64ff684754
Fix gcc warning -Wsizeof-pointer-memaccess
...
iodined.c: In function ‘write_dns_nameenc’:
iodined.c:2030:23: attention : argument to ‘sizeof’ in ‘memset’ call is the same
expression as the destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
memset(buf, 0, sizeof(buf));
sizeof buf will just give the size of the pointer, while buflen will clean the whole
memory.
2013-12-23 18:04:06 +01:00
Frank Denis
58dac78bd8
Fix NULL pointer deref
2013-05-20 10:30:43 -07:00
Frank Denis
2d90aaaf30
Wipe the whole buffer containing the DNS name, not the size of its pointer
2013-05-20 10:28:25 -07:00
Erik Ekman
43e4fb5448
Add automatic external IP lookup via '-n auto'
...
Leonard Lausen proposed iodined should use externalip.net api
to find external ip. Use -n auto to trigger a lookup.
2012-09-03 10:34:27 +02: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
0a968a5144
Initialize 'inside_topdomain'. Fixes #94
2012-02-04 20:34:05 +01:00
Erik Ekman
0be4332193
Fix things mentioned in #91
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
Erik Ekman
465cfe54a3
Fix build error on windows
2012-02-04 20:34:04 +01:00
jsbid1
7ae8d04955
Fix #86 , patch from jsbid1 gmail.com
2012-02-04 20:34:04 +01:00
J. A. Bezemer
b177901d38
Applied patch from #88 , thanks a lot!
2012-02-04 20:34:04 +01:00
J. A. Bezemer
d87432ec18
merge server code #76
2012-02-04 20:34:04 +01:00
J. A. Bezemer
60dfbf1b34
merge dns and user #76
2012-02-04 20:34:04 +01:00
Erik Ekman
d4d88d2ad0
Remove arg to inline_dotify
2012-02-04 20:34:04 +01:00
J. A. Bezemer
40167437d3
update server code #75
2012-02-04 20:34:04 +01:00
Erik Ekman
b6eb8d75d4
Fix FreeBSD build error, remove more includes
2012-02-04 20:34:03 +01:00
Erik Ekman
f9c2257ba9
Prune includes
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
01e558022e
#77 , get password from env variable
2012-02-04 20:34:03 +01:00
misc
7efdd01ae2
add -F option for writing pid file. Patch from misc@mandriva.org #70
2012-02-04 20:34:03 +01:00
Erik Ekman
ef8e3b7ea4
Fix win32 build error
2012-02-04 20:34:03 +01:00
Erik Ekman
cb926cf0c9
Fix some uninitialized variable warnings
2012-02-04 20:34:03 +01:00
Erik Ekman
473bb93951
#36 , Send ping message every 20 seconds
2012-02-04 20:34:03 +01:00
Erik Ekman
e5370ad95b
#36 , basic raw mode tunnel works
2012-02-04 20:34:02 +01:00
Erik Ekman
58d9615160
#36 , upstream traffic now sent in raw mode
2012-02-04 20:34:02 +01:00
Erik Ekman
a62ae8e562
Allow bind port and listen port to be the same if listenip doesnt include localhost. Also remove newlines from warnx
2012-02-04 20:34:02 +01:00
Sebastien Raveau
d5acb508bc
Add support for applying SELinux context
2012-02-04 20:34:02 +01:00
Erik Ekman
196b37c402
return 1 if opening tun fails and args are correct
2012-02-04 20:34:02 +01:00
Erik Ekman
f20b3c9511
Remove a global variable and some warnings
2012-02-04 20:34:02 +01:00
Erik Ekman
1235cb3e4a
#36 server now responds to raw login, quite a hack
2012-02-04 20:34:02 +01:00
Erik Ekman
c92ed9bad8
#36 send raw login packet directly to server
2012-02-04 20:34:02 +01:00
Erik Ekman
950c0870b2
Added CMC to I and S packet types
2012-02-04 20:34:02 +01:00
Erik Ekman
27fc039700
#36 , add way to request ip address from server
2012-02-04 20:34:02 +01:00
Erik Ekman
addd798712
Set interface MTU to 1200.
...
1188 is the uncompressed DNS reply payload size that gets through
unfragmented on Ethernet.
2012-02-04 20:34:01 +01:00
Erik Ekman
54195968c7
Use winsock2.h, use ws2tcpip.h for socklen_t
2012-02-04 20:34:01 +01:00
Erik Ekman
84f5965825
Increase default mtu to 1500
2012-02-04 20:34:01 +01:00
Erik Ekman
3e07afd13b
change all printf to fprintf on stderr for #49
2012-02-04 20:34:01 +01:00
Erik Ekman
4ae304a9b7
Use winsock2.2
2012-02-04 20:34:01 +01:00
Erik Ekman
bf46666fe8
#50 added syslog logging for version and login packets. no-op on windows
2012-02-04 20:34:00 +01:00
Erik Ekman
b6fc3fc0ef
Made dns_get_id return unsigned short, added test cases
2012-02-04 20:34:00 +01:00
Erik Ekman
10fd388bb7
use socklen_t
2012-02-04 20:34:00 +01:00
Erik Ekman
80ae712a6f
Add WSAStartup to iodined
2012-02-04 20:34:00 +01:00
Erik Ekman
94f412a8d8
Dont need plibc
2012-02-04 20:34:00 +01:00
Erik Ekman
155f0c6f37
Merged branch with mingw port. Compiles now, tun work to do
2012-02-04 20:34:00 +01:00
Erik Ekman
0836ad0a5b
revert cygwin stuff
2012-02-04 20:34:00 +01:00
Erik Ekman
97bf71e944
Make it build and fix tests in cygwin
2012-02-04 20:33:59 +01:00
Erik Ekman
352d75131f
Move superuser check to common.c
2012-02-04 20:33:59 +01:00
Erik Ekman
78d324a6b4
Enhanced checks on incoming queries, check user exists and is active
2012-02-04 20:33:59 +01:00
Erik Ekman
df93da00c6
#7 , add probe fragsize support for server. documented
2012-02-04 20:33:59 +01:00
Erik Ekman
9ababcaa96
#7 , set max fragsize with -m in the client
2012-02-04 20:33:59 +01:00
Erik Ekman
d4e077aff4
downstream fragsize is now per user
2012-02-04 20:33:59 +01:00
Erik Ekman
23fad5b628
Downstream fragmentation now working. Currently fragment size is hardcoded to 1200. More tweaking left, as well as fragsize auto detection. ( #7 )
2012-02-04 20:33:59 +01:00
Erik Ekman
cc17083222
add downstream data header and basic parsing in client, for #7
2012-02-04 20:33:59 +01:00
Erik Ekman
3ed5f7e674
Create send_chunk() on server
2012-02-04 20:33:59 +01:00
Erik Ekman
43c438971b
Allow setting netmask in iodined, fixes #27 . The same netmask will be given to clients as well. Updated docs.
2012-02-04 20:33:59 +01:00
Erik Ekman
c7fa4ddde2
Assign client IPs within the network ( fixes #28 ), also limit number of users depending on netmask (for #27 )
2012-02-04 20:33:59 +01:00
Erik Ekman
a5031ee9dd
Happy new year
2012-02-04 20:33:59 +01:00
Erik Ekman
09c904f0c1
make OUT debug look more like IN debug
2012-02-04 20:33:58 +01:00
Erik Ekman
85e75cadea
make iodined build on opensolaris
2012-02-04 20:33:58 +01:00
Erik Ekman
cc075124fa
Detect duplicates in upstream data, start frag at zero
2012-02-04 20:33:58 +01:00
Erik Ekman
8d27febc7d
Implemented new protocol for upstream data
2012-02-04 20:33:58 +01:00
Erik Ekman
b36ed27117
Added -n to set NS ip, updated docs, added checks
2012-02-04 20:33:58 +01:00
Erik Ekman
e7fdb0a5f5
Reverted [686], [689] and [692]. SSH login now works again. Increased version.
2012-02-04 20:33:58 +01:00
Erik Ekman
d7f2d60d56
Use base64 is case is preserved and plus sign is allowed
2012-02-04 20:33:58 +01:00
Erik Ekman
b5cdb09011
Added debugging
2012-02-04 20:33:58 +01:00
Erik Ekman
9d3f87ddcc
Fix issue #33 , respond to NS requests
2012-02-04 20:33:57 +01:00
Erik Ekman
f4cd876ace
shorten some lines
2012-02-04 20:33:57 +01:00
Erik Ekman
bd45e6ccb2
formatting
2012-02-04 20:33:57 +01:00
Erik Ekman
49695a4cb4
Updated year
2012-02-04 20:33:57 +01:00
Erik Ekman
26cc53e3fa
added include for iovec
2012-02-04 20:33:57 +01:00
Erik Ekman
35a8ffe46d
Now fetches destination address from udp packets
2012-02-04 20:33:57 +01:00
Erik Ekman
02d40c1a7b
Forward non-tunnel requests to another udp port ( fixes #31 )
2012-02-04 20:33:57 +01:00
Erik Ekman
d24dae882a
Implemented filtering based on topdomain
2012-02-04 20:33:57 +01:00
Erik Ekman
166fb4b6c7
Fixed segfault when sending version rejects: VNAK/VFUL
2012-02-04 20:33:57 +01:00
Erik Ekman
3fc9eaeaa3
Improved latency for traffic initiated from server
2012-02-04 20:33:57 +01:00
Erik Ekman
21ad2ef5ae
added -D to usage() and help()
2012-02-04 20:33:57 +01:00
Erik Ekman
025fb1bf1f
Added debug capability on server
2012-02-04 20:33:57 +01:00
Erik Ekman
539ebb27d9
Changes to allow handling of queries of type A, NS etc
2012-02-04 20:33:57 +01:00
Erik Ekman
f06b208f3e
Reworked fix for #21
2012-02-04 20:33:57 +01:00
Erik Ekman
0d3494ae78
Added -c flag to disable IP/port checking in each request
2012-02-04 20:33:57 +01:00
Albert Lee
cd91d675ae
Applied Open/Solaris patch
2012-02-04 20:33:57 +01:00
Erik Ekman
03a0ccbca0
Add include for setgroups() on Linux
2012-02-04 20:33:57 +01:00
Andrew Griffiths
00c910e247
applied security patch from Andrew Griffiths, limit user groups
2012-02-04 20:33:56 +01:00
Vincent Bernat
a36ce9eaaf
Applied patch for not configuring the tun interface, debian bug 477692
2012-02-04 20:33:56 +01:00
Erik Ekman
791c3de84c
reapplied maxims patches
2012-02-04 20:33:56 +01:00
Erik Ekman
07e98f181c
reverting the code after 0.4.1, except for some patches
2012-02-04 20:33:56 +01:00
Maxim Bourmistrov
ccdee286ad
Added port range check, based on patch from Maxim Bourmistrov
2012-02-04 20:33:56 +01:00
Maxim Bourmistrov
7565a2d554
Added checks on topdomain name based on patch from Maxim Bourmistrov
2012-02-04 20:33:56 +01:00
Maxim Bourmistrov
db58f8de20
Applied patch from Maxim Bourmistrov
2012-02-04 20:33:56 +01:00
Erik Ekman
924f4b3759
Add two chars from client to server for verification of data delivery
2012-02-04 20:33:56 +01:00
Erik Ekman
8613f815c9
Use packet functions for packet handling. Prepare for sending fragmented ( #7 )
2012-02-04 20:33:56 +01:00
Erik Ekman
b67819ac81
use packet functions for empty check and fill
2012-02-04 20:33:56 +01:00