Erik Ekman
b715be5cf3
Fix authentication bypass bug
...
The client could bypass the password check by continuing after getting error
from the server and guessing the network parameters. The server would still
accept the rest of the setup and also network traffic.
Add checks for normal and raw mode that user has authenticated before allowing
any other communication.
Problem found by Oscar Reparaz.
2014-06-16 21:43:22 +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
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
3914d37c99
Move error message generation into topdomain check method
...
Change isalpha() to a-z check to avoid locale issues
2014-05-31 10:07:36 +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
eca80f769b
Merge branch 'master' of https://github.com/jedisct1/iodine
2014-04-06 13:31:34 +02:00
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