Jason A. Donenfeld
cc4bc22447
osflags: use pkg-config for systemd support
...
Recent versions of systemd don't ship with libsystemd-daemon.so anymore,
but instead use libsystemd.so for everything. This is obviously
problematic for using the same LDFLAGS on old systemd and new systemd.
So, they also ship compatability pkgconfig files, which use the old
names but return the new library. So, the most portable way to support
both old and new systemd is to use pkgconfig. It's not a problem either,
since systems that use systemd are bound to also have pkgconfig
installed.
2014-07-25 02:02:48 +02:00
Erik Ekman
b4c3656c3c
Update changelog after release
2014-06-16 23:43:20 +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
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
bf658b0c59
Misc cleanup of tun.c
...
- Make variables static
- open_tun(): First Linux code, then Windows, then BSDs
- write_tun()/read_tun(): Split Windows and normal code
2014-06-11 21:04: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
2466cd184a
Change readshort() to work with unsigned values
2014-06-09 19:47:44 +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
fbb5a49cf3
Fix windows build
2014-06-05 02:19:57 +02:00
Erik Ekman
3fadbfb580
Do not let sockets be inherited by sub-processes
...
Set FD_CLOEXEC flag on tunnel and UDP file descriptors.
Fixes ticket #99 , "should not allow UDP socket to be inherited by ifconfig"
2014-06-04 17:48:43 +09: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
b7e05e0b9a
Revert submake -C call
...
Not supported by OpenBSD make.
2014-05-31 22:58:51 +02:00
Erik Ekman
ac931e65e7
Use -C in submake calls instead of cd
...
Reorder more common install/uninstall/clean before specialized targets.
2014-05-31 22:57:15 +02:00
Erik Ekman
95dedf51db
Simplify opening UDP socket in win32 tun reader
2014-05-31 21:22:03 +02:00
Erik Ekman
d0fb85e8cf
Do not use 53 as source port for DNS/raw traffic.
...
For some reason this makes raw traffic get dropped.
2014-05-31 21:20:04 +02:00
Erik Ekman
5b71224def
Fix segfault in windows tun reader thread
...
The arguments to open_dns() needs to be updated after API change.
Called with 0, INADDR_ANY used to mean port, IP address but now means
pointer to sockadddr and its length. Thanks to C for not giving any
warnings or errors..
2014-05-31 19:33:25 +02:00
Erik Ekman
c52ba7f606
Refactor targets to build crosscompiled zipfiles
...
Move common things into new target
Add 32/64 bit windows version with MinGW-w64
Serve textfiles with CRLF and .txt suffix
Strip windows binaries
2014-05-31 12:05:17 +02:00
Erik Ekman
00268bc160
Fix two unused variables for windows build
2014-05-31 10:19:46 +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
9bb2323f84
Improve check of topdomain to use
...
Add more checks and unit tests
2014-05-30 00:18:45 +02:00
Erik Ekman
bacb69e4f0
Mark usage() method as noreturn to avoid warning on BSD
...
Warning from OpenBSD/NetBSD:
CC iodine.c
iodine.c: In function 'main':
iodine.c:141:6: warning: 'nameservaddr_len' may be used uninitialized in this function
2014-05-29 23:21:55 +02:00
Erik Ekman
c1b24abf3a
Update changelog
2014-05-29 19:08:20 +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
b3f8e7118a
Do not set CC in tests
2014-05-29 17:41:43 +02:00
Erik Ekman
b079b0eda5
Fix build error and a warning on OpenBSD
2014-05-29 16:18:59 +02:00
Erik Ekman
031953e295
Fix testcase compile error on OS X 10.6+, take 2
...
Add includes for Darwin in another test file
2014-04-22 22:43:25 +02:00
Erik Ekman
4aa078ddd9
Fix testcase compile error on OS X 10.6+
...
Apply old fix from ticket #79 also to test code.
2014-04-22 22:24:11 +02:00
Erik Ekman
50d7865967
Configure Travis for OS X build
...
It cannot build multi-platform right now.
2014-04-22 22:06:01 +02:00
Erik Ekman
17de589e7d
Add travis ci settings file
2014-04-22 20:46:48 +02:00
Erik Ekman
27f2504cda
Add section about how to compile
2014-04-08 21:59:09 +02:00
Erik Ekman
97b7c604d1
Add clarification about ipv4/ipv6 setup
2014-04-08 21:27:55 +02:00
Erik Ekman
5079d8bf5e
Fix up changelog
2014-04-08 21:04:17 +02:00
gregor herrmann
9f2e06c525
manpage
2014-04-06 13:41:46 +02:00
gregor herrmann
38216474b0
spelling
2014-04-06 13:41:41 +02:00
Barak A. Pearlmutter
88590bcaaf
Mixing signed and unsigned quantities in MIN() upset GCC's tender soul.
2014-04-06 13:41:31 +02:00
Barak A. Pearlmutter
f73fb9f8d0
rewrite comparison to avoid negative unsigned numbers
...
Note that GCC -O2 is happy to optimize away (x<0) when x is an
unsigned quantity. This was actually occurring in CHECKLEN(0),
causing the compiler to issue a warning.
2014-04-06 13:41:17 +02:00
Barak A. Pearlmutter
ee1c49a383
make .gitignore more specific
2014-04-06 13:40:37 +02:00
Barak A. Pearlmutter
06d45682b7
whitespace
2014-04-06 13:40:28 +02:00
Erik Ekman
acd6c37ac1
Fix build after rtable patch
2014-04-06 13:35:09 +02:00
Erik Ekman
eca80f769b
Merge branch 'master' of https://github.com/jedisct1/iodine
2014-04-06 13:31:34 +02:00
Erik Ekman
619ede5da8
Add options to force IP version for client DNS traffic
2014-02-10 22:52:31 +01:00
Erik Ekman
b827a632ad
Add more formatting tests
...
Check for IPv6 support before adding tests
2014-02-10 22:34:24 +01:00
Erik Ekman
f249ee3b5d
Run osflags for compile/link of tests as well
...
src/common.c is linked into test binary, might require some libs
2014-02-07 23:12:51 +01:00
Erik Ekman
d57aebacdc
Add some tests for get_addr/format_addr
...
IPv4 only for now for compatibility with old machines
2014-02-07 23:08:29 +01:00
Erik Ekman
540d3795a9
Switch from inet_pton() to getnameinfo() for portability
...
Windows XP is supported again
2014-02-06 22:50:23 +01:00
Erik Ekman
7fd8f9854b
Restore mingw compiler
2014-02-06 19:47:26 +01:00
Erik Ekman
f02339b3b2
IPv6: Create single way to format IP addresses
2014-02-06 19:44:26 +01:00
Erik Ekman
a737d6ea7f
Update documentation
2014-02-05 23:18:42 +01:00