Commit Graph

442 Commits

Author SHA1 Message Date
Jeff Becker
11372c9544
Merge branch 'dev' into snode-endpoint 2018-11-29 09:34:19 -05:00
Jeff Becker
85f9f46362
snode stubs (initial) 2018-11-29 08:12:35 -05:00
Jeff Becker
b9b7d3d1c7
better exit pad size 2018-11-28 13:18:08 -05:00
Jeff Becker
e6037ff060
pack exit traffic 2018-11-28 11:38:20 -05:00
Jeff
387d05282b
Merge pull request #58 from neuroscr/master
Major DNS refactor
2018-11-28 08:10:33 -05:00
Jeff Becker
75f5d748b6
Merge branch 'vanity' into dev 2018-11-28 07:33:03 -05:00
Jeff Becker
b004b9e2a1
fix up exit logic 2018-11-28 07:32:38 -05:00
Jeff Becker
e3e337b96f
Merge branch 'master' into dev 2018-11-26 17:53:42 -05:00
Jeff Becker
79040ef036
rx -> tx 2018-11-26 17:52:46 -05:00
Jeff Becker
7e4d74cbfc
add initial jni stuff for lokinet android. i fucking hate android so god damn much. 2018-11-26 17:46:22 -05:00
despair
65ff1ba991 reading from TUN using native async io:
writing: 
2018-11-26 11:10:18 -06:00
Ryan Tharp
7874567611 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-26 15:54:52 +00:00
Jeff Becker
25fac844eb
make format 2018-11-26 08:30:03 -05:00
Jeff Becker
a81b88cc93
Merge remote-tracking branch 'origin/master' into dev 2018-11-25 11:59:47 -05:00
Jeff
a33f334bc2 better exit path logic 2018-11-25 11:58:27 -05:00
Jeff Becker
c1e494c2c4
have llarp_ev_* use llarp_buffer_t 2018-11-23 09:37:26 -05:00
Jeff
067f6c7b26 make format and make it compile with clang 2018-11-22 12:53:53 -05:00
Ryan Tharp
1c6031c677 clang-format 2018-11-21 16:39:09 -08:00
Ryan Tharp
b69ef21bb4 fix another compile problem 2018-11-21 15:37:17 -08:00
despair
436025e0ca fix utp flags leaking into the actual socket transmission
clang-format
2018-11-20 06:11:51 -06:00
despair
d1fa9ca342 is the resulting storage a proper string, or just a plain char array (no terminator)
eh
2018-11-20 02:38:18 -06:00
Jeff Becker
3718a7d016
Merge remote-tracking branch 'github/master' into dev 2018-11-19 07:01:42 -05:00
Jeff
23c8807d59
Merge pull request #54 from neuroscr/master
DNS QoL improvements
2018-11-18 15:13:25 -05:00
Ryan Tharp
f03c41a99f Deprecate DNS_PORT as configureable in INI now. Reduce confusion as it would change DNSc port too and I believe it was meant only to change DNSd port. 2018-11-18 09:41:09 -08:00
Jeff Becker
e3dc4dca11
mark paths as dead when they need to and revert codel changes 2018-11-17 13:40:13 -05:00
Jeff Becker
8d613c182f
nullptr check 2018-11-15 18:07:39 -05:00
Jeff Becker
b56b3ad16d
don't remove ip mapping when endpoints are removed 2018-11-15 17:10:12 -05:00
Jeff Becker
17297837d9
that's dumb af, use std::unique_ptr 2018-11-15 16:47:05 -05:00
Jeff Becker
9d551ba768
more 2018-11-15 13:10:09 -05:00
Jeff Becker
937ab151ab
idk what is going on 2018-11-15 11:19:24 -05:00
Jeff Becker
9baf6ecfd9
idklol 2018-11-15 11:15:25 -05:00
Jeff Becker
723351eb4e
friendship with std::unordered_map is now over, std::map is my new best friend 2018-11-15 11:12:05 -05:00
Jeff Becker
c7c6905e1e
explicit type 2018-11-15 11:05:31 -05:00
Jeff Becker
207e312eb0
more logging 2018-11-15 11:00:16 -05:00
Jeff Becker
01724c8529
use const iter 2018-11-15 10:54:48 -05:00
Jeff Becker
6f796d031b
use const 2018-11-15 10:53:32 -05:00
Jeff Becker
7b188d0fde
more 2018-11-15 10:46:50 -05:00
Jeff Becker
715822c20d
logging 2018-11-15 10:43:58 -05:00
Jeff Becker
60ad2c76e0
try this 2018-11-15 09:44:57 -05:00
Jeff Becker
2bfdd7798c
use emplace? 2018-11-15 09:38:31 -05:00
Jeff Becker
d44872496f
gfdi 2018-11-15 09:16:10 -05:00
Jeff Becker
cd94da7ffe
gfdi 2018-11-15 09:12:17 -05:00
Jeff Becker
b689bbbcf6
gfdi 2018-11-15 09:08:42 -05:00
Jeff Becker
489d1e645b
actually add exit :p 2018-11-15 08:58:17 -05:00
Jeff Becker
355d09e22b
random fixes 2018-11-15 08:47:46 -05:00
Jeff Becker
658210b9d1
fix up exit tun, fix up codel to actually do its job 2018-11-15 08:13:19 -05:00
Jeff Becker
ca3a675ac8
more logging 2018-11-14 17:06:42 -05:00
Jeff Becker
b462090e9c
more 2018-11-14 16:47:58 -05:00
Jeff Becker
fa1333b13b
meh 2018-11-14 16:40:44 -05:00
Jeff Becker
b11bddad02
fixes 2018-11-14 16:31:21 -05:00
Jeff Becker
d24bc70a7e
try fix 2018-11-14 15:56:54 -05:00
Jeff Becker
fd4b452cdd
fix 2018-11-14 15:54:13 -05:00
Jeff Becker
56676002aa
wire up exit traffic 2018-11-14 14:34:17 -05:00
Jeff Becker
5dbe41608f
more exit stuff 2018-11-14 13:02:27 -05:00
Jeff Becker
f40e4c0c84
more exit stuff 2018-11-14 07:23:08 -05:00
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