863 Commits

Author SHA1 Message Date
Erik Ekman
8d2c86c73d Fix strncat size argument in send_handshake_query
Found by clang:
client.c:1276:26: warning: the value of the size argument in 'strncat' is too large, might lead to a buffer overflow [-Wstrncat-size]
        strncat(buf, topdomain, sizeof(buf) - strlen(buf));
                                ^~~~~~~~~~~~~~~~~~~~~~~~~
2020-07-25 15:45:24 +02:00
Erik Ekman
b7b1082dc6 client: Stop passing static variable userid to local functions 2020-07-24 21:17:18 +02:00
Erik Ekman
c399f915b7 Improve logging around getting server address 2020-07-24 21:01:38 +02:00
Erik Ekman
bbb604db06 Use send_handshake_query inside send_lazy_switch 2020-07-24 20:49:39 +02:00
Erik Ekman
ba90706429 Replace send_downenc_switch with send_handshake_query 2020-07-24 20:38:45 +02:00
Erik Ekman
9cba3299c4 Replace send_ip_request with send_handshake_query 2020-07-24 20:36:51 +02:00
Erik Ekman
5de13805d8 Replace send_codec_switch with send_handshake_query 2020-07-24 20:36:41 +02:00
Erik Ekman
d74939d323 Add send_handshake_query helper function
Convert send_downenctest to use it.
Remove unused data/len args from send_downenctest.
2020-07-24 20:18:07 +02:00
Erik Ekman
a8a20f570e Formatting: spaces around operators 2020-07-24 19:15:02 +02:00
Erik Ekman
aeacfbc2c0 Formatting: No spaces after '(' or before ')' 2020-07-24 19:02:41 +02:00
Erik Ekman
15f12d0693 Formatting: Space between 'for' and parenthesis 2020-07-24 18:57:57 +02:00
Erik Ekman
19d0d1be64 Formatting: Space between 'if' and parenthesis 2020-07-24 18:56:30 +02:00
Erik Ekman
310aedac8e Formatting: no space before parenthesis in function call. 2020-07-24 18:51:05 +02:00
Erik Ekman
13d081f5ed Convert fail_unless to ck_assert[_msg]
To work with check 0.15.0

Add == 0 to change fail_if to asserts as well.
2020-07-23 22:31:53 +02:00
Erik Ekman
cde0b7632d Set additional record count properly in NS reply
For when there is no IPv4 address to return.
2020-07-23 22:12:07 +02:00
Erik Ekman
ec6a1ac308 Fix IPv4 address in replies to A or NS queries (github issue #38)
The destination field in struct query was changed from in_addr_t to
struct sockaddr_storage, wihtout updating the functions sending it
in src/dns.c.

Only add extra A answer for NS queries if destination refers to an
IPv4 address, and fail if trying to encode a reply to an A query
if destination is not IPv4.

This means NS requests received over IPv6 will not contain an address
and A requests will be ignored, unless the -n option is used, or the
www subdomain is requested which sets a fixed address (127.0.0.1).
2020-07-23 21:49:46 +02:00
Erik Ekman
d09c3e4f0b Revert "Hide clang warnings when building tests"
Didn't work again, giving up for now.

This reverts commit c77b875e898dcea22f95403a64f4fafc71ec788e.
2020-07-03 18:25:54 +02:00
Erik Ekman
c77b875e89 Hide clang warnings when building tests
Try again while using gmake for tests on macOS on travis-ci.
2020-07-03 18:19:12 +02:00
Erik Ekman
07beeca580 Revert "Hide clang warnings when building tests"
Didn't help on travis macOS build.

This reverts commit ed78f1b43f63a34d05b8d2ad0fdb970041701b4f.
2020-07-03 18:11:51 +02:00
Erik Ekman
ed78f1b43f Hide clang warnings when building tests 2020-07-03 18:02:53 +02:00
Erik Ekman
d8f3ac8971 Add helper function tun_uses_header()
Remove code duplication and hide some ifdefs
2020-07-03 17:06:14 +02:00
Erik Ekman
07b2978326 Only check for utun if tun_device was given
Fixes github issue #37 hopefully.
2020-07-03 16:53:30 +02:00
Erik Ekman
814a1fd7b0 Update links 2020-06-04 23:51:41 +02:00
Erik Ekman
aae23e2482 Remove TODO file from Makefile 2020-05-24 16:17:33 +02:00
Erik Ekman
db65eed2c3 Delete TODO file: Had only broken link in it 2020-05-24 16:10:52 +02:00
Erik Ekman
2032b44949 Look up external IP via DNS instead of HTTP
Use myip.opendns.com via their resolver.

The code is now TCP free again :)
2020-05-24 16:06:41 +02:00
Erik Ekman
e8a4c66719 Clean up makefile 2020-05-24 14:12:40 +02:00
Erik Ekman
b213d56eb4 Merge branch 'doronbehar-install-README'
Tweaked the docdir.
2020-05-24 14:02:49 +02:00
Doron Behar
ff91879ae1 Add docdir and install README.md to it.
[yarrick@kryo.se: Fixed duplicate share/ in path]
2020-05-24 14:01:02 +02:00
Erik Ekman
8379384d37 Improve usage/help text around finding external IP 2020-05-24 13:41:54 +02:00
Erik Ekman
25323f6839 Simplify license file
Try to get github to parse it as ISC
2020-05-24 13:27:31 +02:00
Erik Ekman
721b7f0d9b Add LICENSE file 2020-05-24 13:21:46 +02:00
Erik Ekman
78d64f3cb0
Merge pull request #36 from deep-42-thought/master
documentation: make it clear, what incompleteness `-b` has
2020-05-24 13:20:45 +02:00
Erich Eckner
be0735d7c7 documentation: make it clear, what incompleteness -b has
AXFR does not pass through iodine (sounds reasonable), so we should
recommend in the README.md to keep the original dns server in front if
zone transfers are required.
2020-02-21 14:39:52 +01:00
Erik Ekman
8e14f18282
Merge pull request #35 from JohnAZoidberg/routepath
Define searchpath for route with macro
2019-08-27 22:34:08 +02:00
Daniel Schaefer
d2f671bdc7 Define searchpath for route with macro
Allows it to be easily overridden using the compiler commmandline.
Just like IFCONFIGPATH.
2019-08-24 16:43:34 +02:00
Erik Ekman
67643ee996 Merge PR #32: client: warn when handshake fails due to BADIP
Shortened the message, the timeout only applies when tunnel is up.
2019-08-04 13:53:43 +02:00
rofl0r
37960ab9dd client: warn when handshake fails due to BADIP
other parts of the code show the meaningful error message too, but
not at the spot where it happened for me.
2019-08-04 13:53:21 +02:00
Erik Ekman
d37ebdaca7
Merge pull request #28 from l29ah/strncat-warning
client.c: don't produce an useless strncat usage warning
2019-08-04 13:42:13 +02:00
gregor herrmann
024481c94b Fix cross compilation
src/osflags hard codes the build architecture pkg-config. After making it
substitutable and substituting it from the build environment, iodine cross
builds successfully.

Original patch from Helmut Grohne <helmut@subdivi.de> in
https://bugs.debian.org/921822, adjusted to Git HEAD.
2019-08-04 13:30:33 +02:00
Sergey Alirzaev
b406009c6d
client.c: don't produce an useless strncat usage warning 2018-10-01 04:04:15 +03:00
Erik Ekman
27e5d6fadd code.kryo.se is now served over HTTPS 2018-03-24 15:00:37 +01:00
Erik Ekman
05dc792d86 Update android readme 2017-10-22 12:01:46 +02:00
Erik Ekman
99c0efc467 Try building working binaries for non-ancient Android
Based on help from admin@hypothermic.nl
2017-10-22 11:54:59 +02:00
Erik Ekman
72bdf7f20e Merge branch 'protect-options' of https://github.com/Masaq-/iodine into protect_opts 2017-10-22 11:59:38 +02:00
Erik Ekman
31bfe9ff3e Merge pull request #26 from TijmenW/androidGitignore
Add android build files to .gitignore
2017-10-22 11:54:32 +02:00
Erik Ekman
cd5bedca74 Merge pull request #25 from chengzhicn/master
check error returned by dns_decode
2017-10-22 11:49:42 +02:00
Tijmen Wildervanck
9f48fc01a5 Add android build files to .gitignore 2017-10-13 21:12:00 +02:00
chengzhicn
122ac1a25d check error returned by dns_decode
before this commit, sending "GET / HTTP/1.1" to server will cause uninitialized variable access.
2017-10-13 03:08:12 +08:00
Erik Ekman
006ffa619e Fix android build after removal of base64u.h 2017-04-10 21:44:26 +02:00