1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
Commit graph

329 commits

Author SHA1 Message Date
Jeff Becker fad734a5ce
strict types for pubkey, secretkey and routerid 2018-12-10 12:22:59 -05:00
Jeff Becker eed62b2d7f
ensure exit router is known 2018-12-10 10:44:18 -05:00
Jeff Becker a1887dd884
ensure exit router is known 2018-12-10 10:39:22 -05:00
Michael 30e9dca2e5
Convert llarp_logic to be a C++ class 2018-12-10 14:15:11 +00:00
Jeff 24886ad180
Merge pull request #115 from majestrate/dev
fix issue #114
2018-12-10 07:32:52 -05:00
Jeff Becker f6dbeb363c
filter bogon ranges to exit 2018-12-10 07:27:17 -05:00
Jeff 0c8f9edfb6 always hook mx 2018-12-07 18:36:53 -05:00
Jeff 617617bb4f send reply if we have an address mapped 2018-12-07 17:46:30 -05:00
Jeff 88c3dd7c7a send reply 2018-12-07 17:08:23 -05:00
Jeff 3eb78b6118 add mx record for .loki 2018-12-07 16:52:19 -05:00
Jeff 9a9538bf30 send dns reply if we have a path already 2018-12-07 15:56:01 -05:00
Jeff Becker f63045d5a4
Merge remote-tracking branch 'origin/master' into dev 2018-12-05 09:41:35 -05:00
Jeff Becker 0f7053f77b
cut logging 2018-12-04 11:22:28 -05:00
Jeff Becker 40678f9019
add dnslib unit test coverage 2018-12-04 11:16:43 -05:00
Jeff Becker 1d1bde2e88
add dnslib 2018-12-03 17:22:59 -05:00
despair d26141d433 Merge branch 'dev' into reeeee-divergence
ok hope this works -rick

# Conflicts:
#	.gitignore
#	.vscode/settings.json
#	include/llarp/service/context.hpp
#	llarp/dns.cpp
#	llarp/dnsc.cpp
#	llarp/ev.cpp
#	llarp/ev.hpp
#	llarp/ev_win32.hpp
#	llarp/net.cpp
#	llarp/router.cpp
#	llarp/router.hpp
#	llarp/service/context.cpp
2018-12-03 12:24:56 -06:00
Jeff Becker baa94ec345
make windows build happy 2018-12-03 09:39:30 -05:00
Jeff Becker 622ed8d12e
fix crash on premature close of event loop (also make format) 2018-12-02 13:07:07 -05:00
Jeff Becker 7bc3d94895
try fixing rdns for local interace's address 2018-11-30 09:14:30 -05:00
Jeff Becker 68faa14e3e
map local address for tun endpoint 2018-11-30 08:56:28 -05:00
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 Becker e3e337b96f
Merge branch 'master' into dev 2018-11-26 17:53:42 -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
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 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 658210b9d1
fix up exit tun, fix up codel to actually do its job 2018-11-15 08:13:19 -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 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