Ryan Tharp
42b8fc3a7a
don't truncate last 2 bytes
2018-11-18 15:41:32 -08:00
Ryan Tharp
969865c499
internal refactor
...
- created various structs for each record type
- changed DNSd to return most of the recieved packet (allowing for multiple answers)
- favor vector<byte_t> over c-style buffers
- support NS records a little better
- fixed output on cname, ptr, txt
2018-11-18 15:08:02 -08:00
Ryan Tharp
373a14b44b
clang-format
2018-11-18 15:06:21 -08:00
Jeff
23c8807d59
Merge pull request #54 from neuroscr/master
...
DNS QoL improvements
2018-11-18 15:13:25 -05:00
Ryan Tharp
82cfa61540
address alphakamp complaint about using 127.0.0.1 on linux (systemd taking it by default)
2018-11-18 10:02:22 -08: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
930b41f644
temp commit
2018-11-18 12:00:02 -05:00
Jeff Becker
f5ac1b5c0d
Merge branch 'master' into dev
2018-11-18 07:43:13 -05:00
Michael
3c5e3e79f9
Create ThreadPool component with test suite
2018-11-17 21:13:34 +00:00
Michael
8a52bf448e
Create Queue component with test suite
2018-11-17 21:13:34 +00:00
Michael
951a065867
Create QueueManager component with test suite
2018-11-17 21:13:34 +00: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
ffccb058c4
syntax error
2018-11-16 09:22:52 -05:00
Jeff Becker
ce2760135a
mark paths as active when they are
2018-11-16 09:21:23 -05:00
Jeff Becker
4e3089dee4
fix last commit
2018-11-16 09:06:50 -05:00
Jeff Becker
6866e70a95
build paths if we are out of exits on exit session
2018-11-16 09:03: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
0889071514
more logging
2018-11-15 08:54:53 -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
2ca6a31d4c
serialize correctly
2018-11-14 17:26:00 -05:00
Jeff Becker
ca3a675ac8
more logging
2018-11-14 17:06:42 -05:00
Jeff Becker
2f2d2847b3
debug logging
2018-11-14 16:59:27 -05:00
Jeff Becker
1a410c4b22
more logging
2018-11-14 16:52:31 -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
2f855c106c
increase buffer size
2018-11-14 16:20:24 -05:00
Jeff Becker
76c53a0dc9
update logging
2018-11-14 16:16:11 -05:00
Jeff Becker
a520fb379b
use rxid instead of txid for exits
2018-11-14 16:02:36 -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
9584c13aca
more
2018-11-14 15:47:43 -05:00
Jeff Becker
a65a4b1b58
fix
2018-11-14 15:26:13 -05:00
Jeff Becker
a3e14028d5
start exits
2018-11-14 14:50:16 -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
f9a4c57d66
Merge branch 'master' into dev
2018-11-14 08:53:02 -05:00
Jeff Becker
06721ba7f3
Merge remote-tracking branch 'ryan/master'
2018-11-14 08:39:39 -05:00
Ryan Tharp
4127c9bea5
Don't let NS record stomp A values
2018-11-14 05:36:30 -08:00
Jeff Becker
f40e4c0c84
more exit stuff
2018-11-14 07:23:08 -05:00
Jeff Becker
1fc8db83ca
Merge remote-tracking branch 'rick/dev' into dev
2018-11-13 10:25:07 -05:00
Jeff Becker
9db99d4d04
fix debian build
2018-11-13 10:16:14 -05:00
despair
715e59808e
bad merge!
2018-11-13 07:58:25 -06:00
despair
ff6a271278
why would pos ever be negative?
2018-11-13 06:54:44 -06:00
Jeff Becker
af7b4b75b8
Merge remote-tracking branch 'rick/dev' into dev
2018-11-13 07:44:53 -05:00
despair
a361626af5
this is driving me at least mildly insane
...
we _never_ get to llarp::udp_listener::read
2018-11-13 06:30:40 -06:00
despair
c1d07e99a0
remove dead code
...
(rip golden shield users D:)
remove more dead code
debug udp stuff
remove debug kqueue
2018-11-13 06:30:40 -06:00
Jeff Becker
e91d7cf88f
Merge remote-tracking branch 'rick/dev' into dev
2018-11-13 06:39:41 -05:00
Jeff Becker
9a12bfd0b1
Merge remote-tracking branch 'ryan/master'
2018-11-13 06:21:45 -05:00
Jeff Becker
394f21773a
Merge remote-tracking branch 'ryan/master' into dev
2018-11-13 06:11:07 -05:00
despair
f6fb063684
this is driving me at least mildly insane
...
we _never_ get to llarp::udp_listener::read
2018-11-12 23:39:50 -06:00
despair
d311b2e9a9
remove dead code
...
(rip golden shield users D:)
remove more dead code
debug udp stuff
remove debug kqueue
2018-11-12 23:39:50 -06:00
Ryan Tharp
2d190508c5
does not work on MacOS at all
2018-11-12 17:42:18 -08:00
Ryan Tharp
87b1fb8b31
fix bad merge
2018-11-12 17:36:12 -08:00
Ryan Tharp
dfd602f390
Merge branch 'master' into master
2018-11-12 17:24:36 -08:00
Ryan Tharp
c7aa3617b8
fix PTR record reading when answer type doesn't make question type
2018-11-12 17:19:01 -08:00
Jeff Becker
09945dce62
initial exit/service node comm code with some unit tests (incomplete)
2018-11-12 11:43:40 -05:00
Jeff
49cd5dfaa6
fix dns on macos
2018-11-11 10:24:08 -05:00
Jeff Becker
7b61cbb4a1
make dns port configurable, update default dns
2018-11-11 08:30:54 -05:00
Jeff Becker
a83e21c464
add upstream dns to default hidden service
2018-11-11 08:22:02 -05:00
Jeff Becker
fb0e6c3d9c
make dns configurable on runtime
2018-11-11 08:14:19 -05:00
Jeff Becker
c30d908893
Merge branch 'master' into dev
2018-11-09 09:49:00 -05:00
Jeff Becker
a59343cfec
we NEED NT >= 6 for event loop
2018-11-09 09:48:43 -05:00
Jeff Becker
d408b08889
make windows cross compile pass, make format parts of libutp
2018-11-09 07:56:04 -05:00
Jeff Becker
fd87f2ac96
purge VLAs from the codebase
2018-11-09 07:25:14 -05:00
Jeff Becker
c91fc1770e
don't use VLA
2018-11-09 07:12:08 -05:00
Jeff Becker
e0f1d985c8
more dht tweaks
2018-11-08 14:25:04 -05:00
Jeff Becker
38a92cb1a8
fixes for testnet
2018-11-08 10:15:02 -05:00
Jeff Becker
04a249a503
Merge remote-tracking branch 'rick/dev'
2018-11-08 07:36:18 -05:00
Jeff Becker
960aa479e9
fixes for ancient rpi toolchain
2018-11-08 07:31:50 -05:00
despair
48d2685e36
fix windows cross-compile
2018-11-07 19:25:17 -06:00
despair
2a5a0f1577
fix warnings on windows
...
up next: fix netbsd
2018-11-07 18:09:49 -06:00
Jeff Becker
7a78832841
Merge remote-tracking branch 'rick/dev'
2018-11-07 11:05:47 -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
Jeff Becker
58db5c1769
make android build work in android studio
2018-11-07 07:23:06 -05:00
despair
04e620ebf2
add iocp tcp connect
...
msys2 grabs its reactos sdk headers straight out of git
most cross-compilers use the versioned releases (v6 as of last week)
huh. for once setting the windows version macros doesn't break anything.
2018-11-06 17:54:34 -06: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
b501913f85
make android build work with gradle
2018-11-06 09:27:25 -05:00
Jeff Becker
f1cca956f9
make android compile again
2018-11-06 09:06:09 -05:00
Jeff Becker
f03603a0da
always remove dht nodes, lock sometimes, don't make router destructor virtual
2018-11-05 08:19:08 -05:00
Jeff Becker
80b99d2efb
make format and parallelize analyze target in makefile
2018-11-05 06:31:43 -05:00
Jeff Becker
7c3f80e84b
Merge remote-tracking branch 'ryan/master'
2018-11-05 06:20:56 -05:00
Ryan Tharp
917edfbd4e
update llarp::Addr changes
2018-11-04 19:44:58 -08:00
Jeff
d630862887
fix up config generation with example snapp config
2018-11-04 08:16:27 -05:00
Michael Thorpe
4f794277bc
Fix compile issue in endpoint.cpp
2018-11-03 20:17:28 +00:00
Ryan Tharp
6192b0277e
accelerate already built paths (HasPathToService)
2018-11-03 08:33:23 -07:00
Ryan Tharp
1ded1813ea
lower debug
2018-11-03 08:33:01 -07:00
Ryan Tharp
25fb34c7b4
lower debug
2018-11-03 08:32:48 -07:00
Jeff
1f7e0d79e6
make Endpoint::HasPathToService behavior correct
2018-11-03 11:27:52 -04:00
Ryan Tharp
1957916170
re-import missing addr functionality, make compile
2018-11-03 13:52:50 +00:00
Ryan Tharp
5d90cbe895
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-11-03 13:43:21 +00:00
Jeff
50f37d8ede
don't use endpoint's paths
2018-11-03 09:35:54 -04:00
Ryan Tharp
eeab475875
fix build
2018-11-03 06:31:33 -07:00
Ryan Tharp
7af23dcaad
format
2018-11-03 06:23:05 -07: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
Jeff Becker
080c0da4a0
remvoe const requirement and update unit tests for jsonrpc server
2018-11-02 14:02:45 -04:00
Jeff Becker
e7cfc9aa6e
try fixing freebsd build
2018-11-02 13:41:55 -04: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
c8f870392f
make format
2018-11-02 10:58:12 -04:00
Jeff Becker
ac1d1169bc
Merge remote-tracking branch 'rick/dev' into dev
2018-11-02 10:55:21 -04:00
Jeff
4b92661f5d
* fix up kqueue tcp connection tracking so it works on mac os
...
* match changes in epoll for kqueue changes
* additional checks in libabyss
2018-11-02 08:35:20 -04:00
despair
57ea36f947
i knew i was forgetting something earlier
2018-11-01 12:13:10 -05:00
despair
6e862f1acf
apple compiler reeeeee
2018-11-01 12:13:07 -05:00
Jeff Becker
2d279e83fd
initial tcp connect for epoll
2018-11-01 08:47:14 -04:00
despair
561c5228d3
fixed race condition in event loop....dns seems to work now :DDD
2018-10-30 07:30:21 -05:00
despair
45f46fbece
this...looks promising :DDDDD
2018-10-30 05:19:34 -05:00
despair
186e2ea989
refactored event loop base classes
...
use the base class impl for llarp::tcp_conn::sendto
can't seem to escape quotes ;-;
yeah this need to stay out of the unix build
turn on gnu extensions
apple stuff
remove duplicate code
clean up
fix vtable
clang-format
parameter checks
2018-10-30 00:41:44 -05:00
despair
9afe63d738
polish new build script
...
pass cxxflags down to c++ driver
2018-10-30 00:18:25 -05:00
despair
5a32ccf220
scan-build fixes on win32 code paths
2018-10-30 00:16:34 -05:00
despair
38f2a6b2c9
be slightly less annoying
...
check build rules
2018-10-30 00:16:34 -05:00
despair
c5d1b32286
remove microsoft c++ crud
...
🤔 🤔 🤔 🤔
2018-10-30 00:16:33 -05:00
despair
5aba9776d0
fix unit test
2018-10-30 00:16:33 -05:00
despair
d425b5d308
implement tcp evloop on win32
...
(with its now-obsolete distinction between socketfd and fd)
sockets and file descriptors used to be distinct objects....back in the
16-bit Winsock 1.1 era, which needlessly complicated the 32-bit port
back then. these days one can use [Read|Write]File(2) to operate on
sockfds...which also have some of the semantics of [read|write]v(2)
i.e. the scatter-gather thing it's known for is done in async handler
-rick
variants are nice
added note to self
clang-format
link abyss properly
oops
shut up
*shrugs*
oops forgot to start winsock
moved our async io status flags to the base class
let derived classes override them as needed
this is probably a synchronous op _anyway_
fix typo
wtf
2018-10-30 00:16:33 -05:00
despair
b1c28be916
grabbed packaging scripts and fluff from abandoned repo
2018-10-30 00:16:18 -05:00
Ryan Tharp
5248283128
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-29 23:15:53 +00:00
Jeff Becker
e722e69543
more freebsd stuff
2018-10-29 13:15:18 -04:00
Jeff Becker
0d09dbb1c2
disable special tun behavior for freebsd
2018-10-29 13:06:32 -04:00
Jeff Becker
51bfcb5493
milliseconds not microseconds
2018-10-29 12:58:19 -04:00
Jeff Becker
dbd2c41909
use event loop for time
2018-10-29 12:48:36 -04:00
Ryan Tharp
3f424e545d
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-27 22:57:19 +00:00
Ryan Tharp
1877498fce
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-27 15:40:20 -07:00
Ryan Tharp
9205b8172c
scan-build fixes
2018-10-27 15:40:12 -07:00
Jeff
9f9d4cd0e0
flush during tick
2018-10-27 18:07:16 -04:00
Jeff
2ca152f43f
make tun work on kqueue
2018-10-27 16:02:37 -04:00
Jeff
678f9e30eb
call cleanup timer
2018-10-27 16:02:24 -04:00
Jeff
04b738aa9e
make it work on osx for real
2018-10-27 15:03:23 -04:00
Jeff
d3531ca561
fix macos build and add anaylze target
2018-10-27 14:26:08 -04:00
Jeff
ccead80c3d
make jsonrpc server configurable on build, disabled by default.
...
default to client only and require explicitly run as relay to run as relay.
2018-10-27 08:41:04 -04:00
Jeff Becker
b3e7fee982
try making compatable with older versions of rapidjson
...
add toy munin plugin
2018-10-26 09:02:15 -04:00
Jeff Becker
6e1761eb05
first jsonrpc endpoint added
2018-10-25 15:06:16 -04:00
Jeff Becker
48e4f676cc
add rpc method for llarp.admin.link.neighboors
2018-10-25 14:18:12 -04:00
Jeff Becker
04d55b94c5
fix up jsonrpc stuff
2018-10-25 13:19:53 -04:00
Jeff Becker
ab7a4cd805
make jsonrpc demo work
2018-10-25 13:03:25 -04:00
Jeff Becker
e8bbc10838
zero copy logic for abyss::http::ConnImpl
2018-10-25 09:40:07 -04:00
Jeff Becker
f873b18036
fix up event loop
2018-10-25 08:39:32 -04:00
Jeff Becker
c483ec5231
bounds check for tun and tcp writing
2018-10-25 08:09:29 -04:00
Jeff Becker
de17324012
don't make tcp event code epoll specific
2018-10-25 08:00:29 -04:00
Jeff Becker
957a5ed833
initial epoll event loop implementation for tcp
2018-10-24 14:02:42 -04:00
Ryan Tharp
6f261c321c
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-10-24 03:34:08 +00:00
Jeff
b001d1f96b
try fixing whatever memory corruption happens
2018-10-23 17:36:50 -04:00
Jeff
8c591ceb96
use default endpoint
2018-10-23 17:28:01 -04:00
Jeff
f35f34ede4
check for address
2018-10-23 14:18:00 -04:00
Jeff
c3989cbcf4
make dns work correctly with rdns, tired of waiting just make it fucking work.
2018-10-23 14:00:55 -04:00
Jeff
5ec9b651df
ony publish to near router
2018-10-23 13:15:22 -04:00
Jeff
78448174f5
don't propagate introset too far
2018-10-23 13:04:35 -04:00
Ryan Tharp
4646779b0a
refactor out net.hpp => net_addr.*, new inAddr struct API
2018-10-23 08:38:33 -07:00
Jeff
0e66ba2026
flush tun on macos
2018-10-23 09:52:14 -04:00
Jeff
cadc01a9b1
makeit work on macos
2018-10-23 09:18:48 -04:00
Jeff
6a6ceec514
Merge branch 'master' into dev
2018-10-23 09:14:04 -04:00
Jeff Becker
dccaa77e43
correct headers
2018-10-23 08:57:57 -04:00
Jeff Becker
4411d85040
fix headers
2018-10-23 08:40:34 -04:00
despair86
d8cfac47a8
ok updated to match recent changes
2018-10-23 07:56:59 -04:00
Jeff Becker
c262f8b5e3
bundle relevent libsodium parts
2018-10-23 07:29:37 -04:00
Jeff
4ea3549c21
tick and use std::unique_ptr
2018-10-21 13:07:17 -04:00
Jeff
b8ed9ceea8
fix kqueue and merge changes
2018-10-21 11:15:04 -04:00
Jeff
390333c787
Merge remote-tracking branch 'origin/master'
2018-10-21 10:58:01 -04:00
Jeff
146fa13837
merge
2018-10-21 10:57:36 -04:00
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality
2018-10-21 10:19:49 -04:00
Jeff Becker
c6f1355c5d
Merge branch 'master' into dev
2018-10-21 09:07:48 -04:00
Jeff Becker
118954818c
try fixing memleak
2018-10-21 09:07:33 -04: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
Jeff Becker
26ad679b1d
set send queue limit to something really big
2018-10-19 12:12:46 -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
Ryan Tharp
db64547ab3
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-19 12:33:13 +00:00
Jeff Becker
40b003b6fc
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev
2018-10-19 07:41:47 -04:00
Jeff Becker
612057003a
de changes
2018-10-19 07:41:36 -04:00
Jeff
1cb2bb6136
Merge branch 'dev'
2018-10-19 07:35:51 -04:00
Jeff
cc3908f025
more changes
2018-10-19 07:34:27 -04:00
Jeff
71172fe72b
use std::unique_ptr as to not leak like a motherfucker
2018-10-19 07:33:49 -04:00
Ryan Tharp
58c7443073
improve string handling of .loki, initial reverse hook handling
2018-10-18 05:17:02 -07:00
Ryan Tharp
0d9f42d87f
stop iterator if visit returns false, fix funtion name typo
2018-10-18 05:14:26 -07:00
despair86
ae4a6ac217
fix ineffective RC bogon check
...
this used to write both private and public inet6 addresses into the RCs, for relays with port forwarding enabled
2018-10-16 12:49:41 -05:00
despair86
1a46631454
remove unused code
2018-10-16 12:25:26 -05:00
despair86
9d546cbac4
separate read and write event ports to avoid overwriting queue events
2018-10-16 12:18:29 -05:00
despair86
d4a7dfd08d
remove extra code, pass the buffer size to read() directly, check for overflow
2018-10-16 12:18:29 -05:00
despair86
b2cb4cd0e8
fix uint
2018-10-16 12:18:28 -05:00
Jeff Becker
e6a8edffbf
call hook
2018-10-16 11:57:17 -04:00
Jeff Becker
9a962540fb
update eventloop on win32
2018-10-16 11:27:31 -04:00
Jeff Becker
15c99f3192
unit tests for bogons
2018-10-16 11:25:50 -04:00
Jeff Becker
7960752430
fix crash
2018-10-16 07:14:41 -04:00
Jeff Becker
1a55839e26
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev
2018-10-15 17:20:58 -04:00
Jeff
1da0f9f6f5
path randomization for lookups on failure
2018-10-15 17:20:05 -04:00
Jeff Becker
ff26f2dcff
do bounds check
2018-10-15 12:20:45 -04:00
Jeff Becker
d7c188d817
Revert "add a check for overlow in event loop"
...
This reverts commit 1042c73829
.
2018-10-15 12:19:48 -04:00
Jeff Becker
1042c73829
add a check for overlow in event loop
2018-10-15 12:09:34 -04:00
Jeff Becker
f72a954029
log endpoint when requesting introset
2018-10-15 11:43:41 -04:00
Jeff Becker
acaeb26f45
shift intro if expired before building next message
2018-10-15 09:45:42 -04: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
360ccc33de
ip: more one's complement math improvements
2018-10-13 21:31:50 +03:00
cathugger
4d5f5fecfa
ip: make things fragmentation-aware, cleanup UDP handling; also format
...
one's complement math is pretty fun
2018-10-13 18:42:47 +03:00
Jeff Becker
bf9512dfaf
Merge remote-tracking branch 'ryan/master'
2018-10-12 08:05:03 -04:00
Jeff Becker
8bf28940d1
Merge remote-tracking branch 'cathugger/master'
2018-10-12 08:02:37 -04:00
despair86
7f226d7734
revert merge
...
(i can put these in the dev branch for now)
2018-10-12 06:48:53 -05:00
cathugger
18c20396b6
add {h,n}uint16_t types, optimize TCP/UDP checksuming
...
use static functions + switch instead of lambda functions + map.
2018-10-12 04:38:16 +00:00
despair86
5576254c2e
make it compile on nt
2018-10-11 19:22:11 -05:00
despair86
88854f558e
Revert "return the correct address family?"
...
not really needed....looks safe so long as the bytes are in network order (hence, the inet4 link will only grab the top 32 bits of the whole inet6 address field.)
This reverts commit 56e41ebda0c29bb2a85dd3f8dbbfba30da8c0a2c.
2018-10-11 19:22:11 -05:00
despair86
7d30d9ee38
return the correct address family?
2018-10-11 19:22:11 -05:00
despair86
e08dedf7a2
really fix endianness
2018-10-11 19:22:10 -05:00
despair86
630cf99bae
fix inet4 to inet6 transition bug
2018-10-11 19:22:10 -05:00
Ryan Tharp
fd41f7b3db
just make sure everything is initialized, fix typo in testing debug
2018-10-11 12:22:29 +00:00
Ryan Tharp
316df4703a
merge
2018-10-11 12:21:30 +00:00
Ryan Tharp
14ccb2f81e
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-11 12:21:16 +00:00
Jeff Becker
252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset
2018-10-11 07:41:10 -04: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
Jeff
e0c6404830
fix previous commit
2018-10-10 17:37:45 -04:00
Jeff
0023c15d0f
fix introset expiration
2018-10-10 17:31:03 -04:00
Jeff
fd37100ac8
typofix
2018-10-10 15:24:04 -04:00
cathugger
257ce99f43
ip: fix UDP checksum offset
2018-10-10 17:51:37 +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
Ryan Tharp
47a67cdefb
restructure casting to avoid crash
2018-10-10 06:33:25 -07: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
1d7b0d77a9
Revert "make it compile :DDDD"
...
This breaks the build and reverts commit 6732cbf54f
.
2018-10-10 07:58:04 -04:00
Jeff Becker
6732cbf54f
make it compile :DDDD
2018-10-10 07:51:11 -04: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
5169df546c
ip: UDP checksum recalculation support
2018-10-10 05:38:59 +03:00
cathugger
7fd501e528
ip: use deltachksum for IPv4 headers aswell
2018-10-10 04:59:52 +03:00
cathugger
36ea776d07
ip: try to fix deltachksum
2018-10-10 04:29:44 +03: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
ed39cb98e1
ip: (try to) fix deltachksum
2018-10-10 00:56:20 +03:00
cathugger
c515e4a248
ip: avoid pointless length checks
2018-10-10 00:09:16 +03:00
cathugger
a92e7c2104
ip: fix stupid MIN thing
2018-10-09 20:49:20 +03:00
cathugger
b5392c5679
make format
2018-10-09 20:09:45 +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
Ryan Tharp
529cd4e6a3
expose dns_query and build_dns_packet()
2018-10-09 05:41:33 -07:00
Ryan Tharp
c8c4a0da10
don't risk any SOA crashes, fix language types
2018-10-09 05:40:53 -07:00
Ryan Tharp
924c3c0895
fix cast
2018-10-09 05:38:41 -07: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
Jeff Becker
a7f8da4cbc
fix double free
2018-10-09 08:10:20 -04:00
Jeff Becker
475ac63f4a
initial admin api infra
2018-10-09 08:06:30 -04:00
Ryan Tharp
7550d6b022
revert Jeff's misunderstanding
2018-10-09 11:02:53 +00:00
Ryan Tharp
2fb5eaba1c
remove getSockAddr() per Jeffs PR CR, add additional notes to reduce confusion
2018-10-09 11:02:06 +00:00
Ryan Tharp
4d3ad13daa
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-09 10:41:19 +00:00
Ryan Tharp
9bc9eed1d5
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-10-09 10:41:00 +00:00
Jeff
bb3bed11dc
try better handover logic again
2018-10-08 17:24:00 -04:00
Jeff
07871827d0
swap intro
2018-10-08 16:41:50 -04:00
Jeff
608768628a
don't rebuild
2018-10-08 16:05:05 -04:00
Jeff
78b82f9a5e
try not killing paths
2018-10-08 15:57:30 -04:00
Jeff
0c4709efdd
Merge branch 'master' of ssh://github.com/loki-project/loki-network
2018-10-08 07:56:46 -04:00
Jeff
a1d1518bc0
update logging to use human readable time
2018-10-08 07:56:17 -04:00
Jeff Becker
291cc57395
revert
2018-10-07 11:29:36 -04:00
Jeff Becker
f03698fb33
add to queue
2018-10-07 10:32:54 -04:00
Jeff Becker
f1a303d4d9
locking
2018-10-07 10:23:02 -04:00
Jeff Becker
0a4da82780
remove line
2018-10-07 10:11:55 -04:00
Jeff Becker
0480df528c
fixes
2018-10-07 10:11:03 -04:00
Jeff Becker
95b097f9b7
multithreaded crypto (maybe)
2018-10-07 10:10:48 -04:00
despair86
3c13101beb
clang-format
2018-10-06 12:04:52 -05:00
despair86
3c7b7f2176
overlapped io pending is NOT an error
2018-10-06 12:04:52 -05:00
despair86
31c8aee3c1
woooooooooooooo
...
lokinet on win32 is now live
and the server code is more stable than the client code
2018-10-06 12:04:51 -05:00
despair86
2326ad0339
added note
2018-10-06 12:04:51 -05:00
despair86
e98835ff5c
debug
2018-10-06 12:04:50 -05:00
despair86
457d6fbaf6
rebase conflict
2018-10-06 12:04:50 -05:00
despair86
94c5f46d33
try fixing win32 event loop
2018-10-06 12:04:50 -05:00
despair86
6ba60093d2
switch to std::variant for win32 ev_io
...
- sockets are a distinct (non-negative) file descriptor
- plain old file descriptors are opaque handles
this makes the specialisations of llarp::ev_io on win32 type-safe as
- TAP-Windows v9 adapter is a plain old device file (same as on UNIX and Linux)
- UDP listeners are sockets, so the type must change (from signed to unsigned int) to accomodate Winsock2
2018-10-06 12:04:49 -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
Jeff
11753f5d7e
clarification for path transfer
2018-10-06 12:37:54 -04:00
Jeff
56d07ea700
try fix, dont use me
2018-10-06 12:21:45 -04:00
Jeff
a1fd9a0f93
don't publish every build
2018-10-06 12:09:37 -04:00
Jeff
78e601807d
fix
2018-10-06 12:04:46 -04:00
Jeff
9a60c08810
only publish when we have at least 3 established paths
2018-10-06 12:03:54 -04:00
Jeff
e5208b65cc
mark session active
2018-10-06 11:41:24 -04:00
Jeff
a0317e1430
remove logging
2018-10-06 11:10:02 -04:00
Jeff Becker
848f5c3059
make it compile
2018-10-05 11:05:52 -04:00
Ryan Tharp
57fccaf2e6
ShouldCreateDefaultHiddenService(), auto mode for defaultIfAddr & defaultIfName, favor llarp::Addr, guards, NAT with no bindings fix, actually name ifname set ifname
2018-10-05 11:02:58 -04:00
Jeff Becker
832e1849b2
remove log and swap intros
2018-10-04 14:15:22 -04:00
Jeff Becker
98df3b09f2
only use good routers
2018-10-04 13:51:45 -04:00
Jeff Becker
ab306b70bb
try closing session correctly
2018-10-04 13:41:23 -04:00
Jeff Becker
d71f0db2a5
more vigorous profiling
2018-10-04 13:34:26 -04:00
Jeff Becker
746e95994e
stricter profiling and better handover
2018-10-04 12:48:26 -04:00
Jeff Becker
a8f7a26c00
fix timestamps
2018-10-04 11:36:46 -04:00
Jeff Becker
1146bb34ac
make dns work
2018-10-04 11:34:31 -04:00
Ryan Tharp
6738fcaa6a
make sure iptracker is configured on start
2018-10-04 11:20:52 -04:00
Ryan Tharp
1efb68e9cd
pass tracker into dns_iptracker_setup
2018-10-04 11:20:34 -04:00
Ryan Tharp
bd1a25856e
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-10-04 07:14:06 -07:00
Ryan Tharp
e09c80e7e9
make sure iptracker is configured on start
2018-10-04 07:10:42 -07:00
Ryan Tharp
f101dba662
fix refactor typo
2018-10-04 07:10:28 -07:00
Ryan Tharp
27afd392f2
pass tracker into dns_iptracker_setup
2018-10-04 07:10:09 -07:00
Jeff Becker
497c8c7d66
fix config
2018-10-04 09:56:06 -04:00
Jeff Becker
13a9ff7e5a
make configs generate sane defaults
2018-10-04 09:55:29 -04:00
Jeff Becker
a07b9b18d1
fix segfault
2018-10-04 09:21:05 -04:00
Jeff Becker
b724cc54fe
Merge remote-tracking branch 'ryan/master'
2018-10-04 09:04:57 -04:00
Jeff Becker
f19f78b573
try better handover logic
2018-10-04 09:03:48 -04:00
Jeff Becker
a3001dfe1d
fix timestamps, revert to old behavior
2018-10-04 09:02:03 -04:00
Ryan Tharp
f4c5999852
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-03 11:46:24 +00:00
Jeff Becker
0b0278a312
we don't use crypto_async anymore
2018-10-03 07:02:56 -04:00
Ryan Tharp
bcbaf47adf
ShouldCreateDefaultHiddenService(), auto mode for defaultIfAddr & defaultIfName, favor llarp::Addr, guards, NAT with no bindings fix, actually name ifname set ifname
2018-10-03 04:01:42 -07:00
Ryan Tharp
cc42e8e623
guard, rename endpoint to context, main_router_endpoint_iterator() implementation
2018-10-03 04:00:47 -07:00
Jeff Becker
8f98ef3e28
forgot file
2018-10-03 07:00:30 -04:00
Ryan Tharp
604c44e191
use llarp::Addr, added some guards
2018-10-03 03:59:49 -07:00
Jeff Becker
1f02498fc0
code for disabling default hidden service
2018-10-03 06:59:30 -04:00
Ryan Tharp
6bfd55f3f4
fix headers, clang-format, favor llarp::Addr
2018-10-03 03:54:12 -07:00
Ryan Tharp
f032a83e37
use llarp::Addr to store local private ip
2018-10-03 03:52:00 -07:00
Ryan Tharp
c40d5f4c4d
notes and guard
2018-10-03 03:49:57 -07: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
8f32f357c2
hasEndpoints(), mapAddressAll_context(), iterate(), MappAddressAllIter()
2018-10-03 03:44:58 -07:00
Ryan Tharp
429927187a
refactored detect into net.cpp, clang-format
2018-10-03 03:42:44 -07:00
Ryan Tharp
a0aa363365
doesn't make sense to pass by value
2018-10-03 03:42:12 -07:00
Ryan Tharp
ec2aaa533f
pretty sure this a clang-format
2018-10-03 03:40:32 -07:00
Ryan Tharp
48d9a38534
getSockAddr(), findFreePrivateRange(), findFreeLokiTunIfName()
2018-10-03 03:35:39 -07:00
Ryan Tharp
ce02a37b1c
clang-format
2018-10-03 03:33:28 -07:00
Ryan Tharp
4b3b09736b
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-02 23:11:44 +00:00
Jeff
acc03fcad7
add default hidden service endpoint for clients
2018-10-02 13:35:51 -04:00
Jeff
b7eea47336
fall through
2018-10-02 11:41:40 -04:00
Jeff
a9eeb7fed9
meh
2018-10-02 11:33:01 -04:00
Jeff
1d41d93fd0
fix linux
2018-10-02 11:32:07 -04:00
Jeff
77b2903bda
logging and add DST awareness to timestamps
2018-10-02 11:29:37 -04:00
Jeff
f3d446dafb
handover logic fix, remove and add logging
2018-10-02 11:00:34 -04:00
Jeff
dbeead03f3
fix kqueue build
2018-10-02 10:29:46 -04:00
despair86
991c1d8fce
fix
2018-10-01 15:19:26 -05:00
despair86
19b7f47322
bug: if we have only one network interface, then terminate the linked list with nullptr
...
otherwise, the windows build will crash
2018-10-01 15:08:56 -05: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
8ac7d4f6dc
if we didn't specify a path to save our config in, only create .lokinet on the assumption that $HOME or $APPDATA (on NT) already exist
...
add win32 tun glue, fix llarp timebase
(In fact, _both_ of these are guaranteed to exist on their respective platforms.)
also, tuntap is now wired up to the windows port
2018-10-01 15:08:52 -05:00
despair86
7f809eb53b
fix windows build
2018-10-01 15:06:07 -05:00
despair86
7c5d98ca31
clean up win32 build rules
2018-10-01 15:06:06 -05:00
Jeff Becker
0f7c7c871f
reduce log levels and don't establish outbound send context for previously made inbound sessions
2018-10-01 14:10:25 -04:00
Jeff Becker
23cff0bee3
try fixing all that tun shit, YOLO
2018-10-01 13:16:15 -04:00
Jeff Becker
8aa0d0d4a8
try fixing tun writing
2018-10-01 13:05:36 -04:00
Jeff Becker
9e8563a884
cache convo tag and drop traffic
2018-10-01 11:45:55 -04:00
Jeff Becker
1eef5387b6
update introset on message drop
2018-10-01 10:31:54 -04:00
Jeff Becker
681e669fd8
try better publish logic and timeouts for requests
2018-10-01 10:18:17 -04:00
Ryan Tharp
4cc482764d
clang format
2018-10-01 03:00:11 -07:00
Ryan Tharp
fb9b60bd16
clang-format
2018-10-01 02:57:57 -07:00
Ryan Tharp
e890ef2e5b
ensure_config split router/client refactor, move C++ stuff to .hpp
2018-10-01 02:56:14 -07:00
Ryan Tharp
058ed4d4ea
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-10-01 09:03:31 +00:00
Jeff
4158e422bb
don't store introsets when forwarding a request
2018-09-30 12:02:42 -04:00
Jeff
a168c81a75
make mac tun work
2018-09-30 11:40:34 -04:00
Jeff
e50cbf5acb
Merge branch 'master' of ssh://github.com/loki-project/loki-network
2018-09-30 11:25:59 -04:00
Jeff Becker
f6c812a642
include packet info in tun but discard it so that tun can work on platforms
...
that include packet info
2018-09-30 09:23:37 -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
Jeff Becker
2b8bd11f5e
ping less and try not to double free in llarp_router::SendToOrQueue
2018-09-30 08:01:58 -04:00
Jeff Becker
ed5867e49f
don't use std::list
2018-09-30 07:17:48 -04:00
Ryan Tharp
79d61dedc3
use new llarp::Addr based init
2018-09-29 03:28:55 -07:00
Ryan Tharp
9ea564e832
update llarp_main_init_dnsd to make new DNSd init
2018-09-29 03:27:38 -07:00
Ryan Tharp
e876506295
improve b32 failure handling, dead code removal
2018-09-29 03:26:34 -07:00
Ryan Tharp
0278ba6edf
more clang-format
2018-09-29 03:25:07 -07:00
Ryan Tharp
6c2d0e21bf
llarp_dnsd_init() update to use llarp::Addr more and adjust to new DNSc init changes, remove unneeded WIN32 change (made it the default)
2018-09-29 03:22:48 -07:00
Ryan Tharp
35def45c98
answer_request_alloc() use a unique_ptr, multiple resolver support start, llarp_dnsc_init to use llarp::Addrs
2018-09-29 03:18:33 -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
36c927fc79
premptively build path to selected intro's router every time we don't have it if we get an introset update, on the outbound context
2018-09-28 11:46:47 -04:00
Jeff Becker
8a4b2e97a5
add lint target for makefile using clang tidy
...
run make format
2018-09-28 10:29:34 -04:00
Jeff Becker
8878e5c4d1
redundancy with outbound contexts
...
have multiple outbound contexts and send on the one that is alive
2018-09-28 08:22:50 -04:00
Jeff Becker
869b758365
more
2018-09-27 13:29:26 -04:00
Jeff Becker
fa5389cb05
docstrings and manual rebuild if the path expires soon
2018-09-27 12:15:40 -04:00
Jeff Becker
186a36cd4b
try fixing dht crash
2018-09-27 08:47:21 -04:00
Jeff Becker
724a093da7
syntax
2018-09-27 07:09:00 -04:00
Jeff Becker
17a8ac13ad
fix logic
2018-09-27 07:07:20 -04:00
Jeff Becker
22b1e58dcf
clear intro
2018-09-27 07:03:01 -04:00
Jeff Becker
d71882259e
try spacing path building out more wide in time so that intros don't die in the same small interval
2018-09-27 06:51:30 -04:00
Jeff Becker
34dc5bec93
check for cache hit to prevent automapping
2018-09-26 10:41:45 -04:00
Jeff Becker
9a062f79fb
use parent endpoint paths when we can more
2018-09-26 10:06:48 -04:00
Jeff Becker
b40dd30c7a
linear backoff for path building to lessen strain on the network
2018-09-26 09:04:25 -04:00
Jeff Becker
f85cfcdab0
please don't fucking do this, reverted.
2018-09-26 08:33:12 -04:00
Jeff Becker
7b0860aec0
Merge remote-tracking branch 'ryan/master'
2018-09-26 07:22:27 -04:00
Jeff Becker
dc47a0630b
try using parent endpoint's pathset if outbound context does not have a path to a router
2018-09-26 07:16:54 -04:00
Jeff Becker
c9bfe640b7
increment sequence number so we don't spam new intro frames
2018-09-26 06:52:57 -04:00
Jeff Becker
69bf060974
correct key
2018-09-25 09:43:06 -04:00
Jeff Becker
179d18bad4
use correct value
2018-09-25 09:38:10 -04:00
Jeff Becker
7d10103e15
don't repeat
2018-09-25 09:34:35 -04:00
Ryan Tharp
731ea83834
bug fix and cleanup
2018-09-25 06:26:21 -07:00
Ryan Tharp
ca532e39c8
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-09-25 06:21:19 -07:00
Ryan Tharp
1436036d94
make sure all vectors are unique_ptr, unorder maps (optimization)
2018-09-25 06:20:39 -07:00
Jeff Becker
59cdc160cd
add slot for bootstrap node in config autogeneration
2018-09-25 08:11:10 -04:00
Ryan Tharp
89d41dd365
Merge branch 'master' into master
2018-09-24 13:57:40 -07:00
Jeff Becker
b273676a63
more logic for dead sessions to prevent segfault
2018-09-24 15:50:52 -04:00
Jeff Becker
16508a99db
tweak timeouts more
2018-09-24 13:33:54 -04:00
Jeff Becker
2d18cfcdd7
tweak timeout
2018-09-24 13:14:05 -04:00
Jeff Becker
d298e4f124
use intros only if they don't expire soon
2018-09-24 13:13:29 -04:00
Jeff Becker
5dfaeebb16
mark sessions dead/inactive
2018-09-24 11:52:25 -04:00