Commit Graph

237 Commits

Author SHA1 Message Date
Jeff Becker
09945dce62
initial exit/service node comm code with some unit tests (incomplete) 2018-11-12 11:43:40 -05:00
Jeff Becker
7b61cbb4a1
make dns port configurable, update default dns 2018-11-11 08:30:54 -05:00
Jeff Becker
fb0e6c3d9c
make dns configurable on runtime 2018-11-11 08:14:19 -05:00
Jeff Becker
960aa479e9
fixes for ancient rpi toolchain 2018-11-08 07:31:50 -05:00
Jeff Becker
7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 2018-11-07 10:57:34 -05:00
Michael Thorpe
33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
Michael Thorpe
a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
2018-11-06 22:48:17 +00:00
Jeff Becker
f1cca956f9
make android compile again 2018-11-06 09:06:09 -05:00
Ryan Tharp
5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-03 13:43:21 +00:00
Ryan Tharp
82d8d3c04d merge 2018-11-03 06:22:07 -07:00
Ryan Tharp
67390de0c2 merge 2018-11-03 06:19:18 -07:00
cathugger
73e6141023
ip: endianess swaps aren't needed, a bit of renaming and tweaking
Also `make format`.
2018-11-02 11:00:05 -04:00
Jeff Becker
dbd2c41909
use event loop for time 2018-10-29 12:48:36 -04:00
Ryan Tharp
9205b8172c scan-build fixes 2018-10-27 15:40:12 -07:00
Jeff Becker
d3bada5564
fix windows 2018-10-19 12:54:08 -04:00
Jeff Becker
51baf43e99
fix 2018-10-19 12:47:06 -04:00
Jeff Becker
94e4a6798c
fix windows 2018-10-19 12:44:35 -04:00
Ryan Tharp
c3c2eda283 clang-format 2018-10-19 08:04:14 -07:00
Ryan Tharp
3b24b69513 TunEndpoint::ObtainAddrForIP(), identity tun range better, actually return revdns for tunmapaddrs, make in-addr.arpa matching smarter, actually send 404s, additional unit test 2018-10-19 07:53:06 -07:00
Jeff Becker
d3278946f2
ipv4 bogon checking 2018-10-15 08:02:32 -04:00
cathugger
ca01daa89a
ip: support DCCP and UDP-Lite, TCP chksum twx; tun: more filtering 2018-10-15 00:56:14 +03:00
cathugger
d0c35803a5
tun+ip: filter packets at destination, drop instead of truncating 2018-10-13 21:57:31 +03:00
cathugger
71c9965471
ip: code cleanups and compatibility improvements
do not assume that packets come with address zero-ed, older clients don't do that.
they don't modify checksum either, therefore we should be able to get correct checksum if we use deltachksum with old and new addresses.
2018-10-10 21:41:53 +00:00
cathugger
e1c7d8a696 some tweaks and fixups 2018-10-10 15:50:52 +00:00
cathugger
4971fae171 uint32_t byte ordering type safety 2018-10-10 15:16:10 +00:00
Jeff Becker
aa988a6fa4
Merge remote-tracking branch 'cathugger/master' 2018-10-10 08:10:04 -04:00
cathugger
05e6c31238 ip: some fixes and tweaks 2018-10-10 12:06:28 +00:00
Jeff Becker
32a028f6d8
Merge remote-tracking branch 'cathugger/master' 2018-10-10 07:48:44 -04:00
Jeff Becker
cbfc73515e
fix zeroing of addresses, put it in the right place 2018-10-10 07:47:30 -04:00
cathugger
0f8e0e9d58 tun: fix "fix "clear src/dst addresses and checksum before sending""
correct dst address is required for FlushSend to work, so do IP address and checksum null'ing there.
dang myself.
2018-10-10 03:28:53 +03:00
cathugger
4f7ae52cad tun: fix "clear src/dst addresses and checksum before sending"
clearing of addresses and checksum was put in wrong place, so it null'd everything before writing to tun interface.
damnit jeff.
2018-10-10 03:00:48 +03:00
cathugger
2f4b0fbda6 ip: use delta TCP checksum calculation, don't recalculate ICMP checksum 2018-10-09 20:02:49 +03:00
cathugger
4cba59f3c4 tun+ip: clarify what happens where 2018-10-09 17:09:03 +03:00
Jeff Becker
eb9150431f
make it compile 2018-10-09 08:32:02 -04:00
Jeff Becker
6d7d6f6efa
clear src/dst addresses and checksum before sending (infoleak) 2018-10-09 08:29:46 -04:00
despair86
3c13101beb clang-format 2018-10-06 12:04:52 -05:00
despair86
457d6fbaf6 rebase conflict 2018-10-06 12:04:50 -05:00
despair86
ca0d09142a Finally put together some skeletal TUN code for NT
up next: debugging the windows client code
stretch goal: prototype hosting a full masternode on Windows Server (still _highly_ experimental when it _does_ appear)
2018-10-06 12:04:48 -05:00
Ryan Tharp
6738fcaa6a
make sure iptracker is configured on start 2018-10-04 11:20:52 -04:00
Ryan Tharp
a0082e95bb change dll from tunEndpoint to router hidden service context, const some unchanging ptrs, use llarp::Addr more 2018-10-03 03:48:31 -07:00
Ryan Tharp
4b3b09736b Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-02 23:11:44 +00:00
despair86
9fdde65798 make bencode ILP32/LLP64 clean (long is 32 bits outside of unix!)
actually open new RCs in binary mode
clang-format
win32 skeleton code for tun (still working on the guts)
2018-10-01 15:08:55 -05:00
despair86
7f809eb53b fix windows build 2018-10-01 15:06:07 -05:00
Ryan Tharp
4cc482764d clang format 2018-10-01 03:00:11 -07:00
Ryan Tharp
058ed4d4ea Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-10-01 09:03:31 +00:00
Jeff
e50cbf5acb Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-09-30 11:25:59 -04:00
Jeff Becker
138c222a1a
dns port configurable at compile time (make this configurable on runtime plz) 2018-09-30 08:42:28 -04:00
Ryan Tharp
79d61dedc3 use new llarp::Addr based init 2018-09-29 03:28:55 -07:00
Jeff
d6463bf8de Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-09-28 19:47:25 -04:00
Jeff
52da002488 comit 2018-09-28 19:47:18 -04:00
Jeff Becker
8a4b2e97a5
add lint target for makefile using clang tidy
run make format
2018-09-28 10:29:34 -04:00
Ryan Tharp
0ad4f43fe5 header clean up and clang-format 2018-09-24 06:09:01 -07:00
Ryan Tharp
31c89fc9f8 start of nameresolver config key, actually inform the dns tracker of tun gw ip, some pre-ipv6 work, attempting some endian fixes 2018-09-23 09:48:43 -07:00
Ryan Tharp
2b2e0007fa active DNS relay (server/client) in tun interface 2018-09-22 03:25:16 -07:00
Jeff Becker
44eeda3041
fix ip mapping for new addresses so they don't use premapped addresses 2018-09-19 10:49:42 -04:00
Jeff Becker
a71d5f84bb
reduce log level 2018-09-19 09:37:46 -04:00
Jeff Becker
ebe30e81c9
try unscrewing things up 2018-09-18 13:48:26 -04:00
Jeff Becker
0c1e22650e
try calcuating tcp checksums right
try tracking convo tags correctly
2018-09-18 07:08:47 -04:00
Jeff Becker
1471e90fb5
intro handover 2018-09-17 20:32:11 -04:00
Jeff Becker
9ee7275a02
decrypt frames correctly and set return address 2018-09-17 20:18:33 -04:00
Jeff
689668d892 fix osx build 2018-09-17 14:59:12 -04:00
Jeff Becker
9ffcf66e58
more checks less logging 2018-09-17 11:32:37 -04:00
Jeff Becker
0945275fd5
make it compile 2018-09-16 08:53:23 -04:00
Jeff Becker
9ed3da1671
correctly map addresses 2018-09-16 08:51:16 -04:00
Jeff Becker
8114f63e70
use queues 2018-09-16 08:25:17 -04:00
Jeff Becker
4f691b8974
make tun write correct number of bytes
try doing correct ip checksum and for upper layers that need it too

supported right now are icmp, tcp, and udp. more will come later
probably.
2018-09-16 08:06:19 -04:00
Jeff Becker
354df88367
more ip endpoint fixes
spam dht with lookups less
2018-09-14 09:43:42 -04:00
Jeff Becker
6986f04418
basic router profiling and fix ip rewrite 2018-09-13 12:41:53 -04:00
Jeff Becker
3d424b57a7
client side endpoint improvements 2018-09-11 12:21:43 -04:00
Jeff Becker
baf2e1fb3c
client improvements
for real do correct timestamp comparison for introsets
2018-09-11 09:21:35 -04:00
Jeff Becker
2993e834a0
fix ip stuff 2018-09-10 15:31:29 -04:00
Jeff Becker
320fbdf3bc
always traffic 2018-09-10 14:04:30 -04:00
Jeff Becker
c3a7f64344
expire introsets correctly and allow multiple tun if 2018-09-10 12:36:36 -04:00
Jeff Becker
1952ece99d
more logging 2018-09-10 07:08:09 -04:00
Jeff Becker
8bae1a4735
move codel off of pointer types 2018-08-31 10:41:04 -04:00
despair86
79c992a9be Microsoft libc6.x and libc7.x do not have C99 printf semantics, mingw-w64 handles this inline 2018-08-23 13:44:45 -05:00
despair86
23ecd03c71 win32 native threading vs pthreads on mingw-w64
also, msc++ implements all of C++17
2018-08-23 13:44:44 -05:00
Jeff
367258551b fix osx build 2018-08-23 14:02:02 -04:00
Jeff Becker
b7039f6e5c
more tun stuff 2018-08-22 11:52:10 -04:00
Jeff Becker
dbac1334e0
disable promises in win32 2018-08-21 14:39:18 -04:00
Jeff Becker
4e2f0ccbf8
* add ProcessIf in CoDel queue to requeue unprocessed items
* more tun code
* make event loop tick and write with tun
2018-08-21 14:17:16 -04:00
Jeff Becker
4aebbda640
more tun stuff 2018-08-20 15:12:12 -04:00
Jeff Becker
377cc78144
fix crash 2018-08-18 10:01:21 -04:00
Jeff Becker
1a1f93c171
* more tun stuff
* use std::unique_ptr where bare pointers aren't absolutely required
2018-08-17 15:49:58 -04:00
Jeff Becker
08d6121a5a
more tun code 2018-08-16 10:34:15 -04:00
Jeff Becker
04bf8d6116
some tun interface code 2018-08-15 11:36:34 -04:00
Jeff Becker
d5532e4de4
more boilerplate and enable tun/tap build 2018-08-08 15:37:33 -04:00