Jeff Becker
5d0a9d7dc7
make format
2018-11-22 10:53:11 -05:00
Jeff Becker
0ac6deff00
logging, fix hidden services
2018-11-22 10:52:04 -05:00
Jeff Becker
12a4022a56
make testnet compile
2018-11-22 09:29:10 -05:00
Jeff Becker
a202bc58a8
use correct path roles
2018-11-21 09:30:14 -05:00
Jeff Becker
130307bc94
build paths with correct role
2018-11-21 09:22:45 -05:00
Jeff Becker
b543d6243d
Merge branch 'master' into dev
2018-11-20 07:42:17 -05:00
Jeff Becker
a8ec8a4215
Merge remote-tracking branch 'origin/master'
2018-11-20 07:41:18 -05:00
Michael
0b2ebc83e0
De-C-ify several .h headers
2018-11-19 22:45:37 +00:00
Jeff Becker
5357b4b69f
make clang happy, disable netns by default (for now)
2018-11-19 08:39:35 -05:00
Jeff Becker
d37daf7996
Merge branch 'master' into dev
2018-11-19 06:57:29 -05:00
Jeff Becker
7214f242e0
rip out old threadpool code
2018-11-19 06:56:40 -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
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
38a92cb1a8
fixes for testnet
2018-11-08 10:15:02 -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
b501913f85
make android build work with gradle
2018-11-06 09:27:25 -05:00
Jeff Becker
7c3f80e84b
Merge remote-tracking branch 'ryan/master'
2018-11-05 06:20:56 -05:00
Michael Thorpe
4f794277bc
Fix compile issue in endpoint.cpp
2018-11-03 20:17:28 +00:00
Jeff
1f7e0d79e6
make Endpoint::HasPathToService behavior correct
2018-11-03 11:27:52 -04: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
67390de0c2
merge
2018-11-03 06:19:18 -07: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
Jeff Becker
dbd2c41909
use event loop for time
2018-10-29 12:48:36 -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
Jeff Becker
4411d85040
fix headers
2018-10-23 08:40:34 -04:00
Jeff Becker
c262f8b5e3
bundle relevent libsodium parts
2018-10-23 07:29:37 -04:00
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality
2018-10-21 10:19:49 -04:00
Ryan Tharp
db64547ab3
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-19 12:33:13 +00:00
Jeff
cc3908f025
more changes
2018-10-19 07:34:27 -04:00
Ryan Tharp
0d9f42d87f
stop iterator if visit returns false, fix funtion name typo
2018-10-18 05:14:26 -07:00
Jeff Becker
e6a8edffbf
call hook
2018-10-16 11:57:17 -04:00
Jeff Becker
7960752430
fix crash
2018-10-16 07:14:41 -04:00
Jeff
1da0f9f6f5
path randomization for lookups on failure
2018-10-15 17:20:05 -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
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
Jeff
0023c15d0f
fix introset expiration
2018-10-10 17:31:03 -04:00
cathugger
4971fae171
uint32_t byte ordering type safety
2018-10-10 15:16:10 +00:00
Jeff Becker
a7f8da4cbc
fix double free
2018-10-09 08:10:20 -04: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
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 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
746e95994e
stricter profiling and better handover
2018-10-04 12:48:26 -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
Ryan Tharp
8f32f357c2
hasEndpoints(), mapAddressAll_context(), iterate(), MappAddressAllIter()
2018-10-03 03:44:58 -07: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
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 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
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
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
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
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
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
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
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
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
Jeff Becker
9a20daa1ce
add send timeouts
2018-09-24 11:34:56 -04:00
Jeff Becker
983c72f032
use 6 paths by default
2018-09-24 10:46:43 -04:00
Jeff Becker
3af93954f3
actually publish via far router
2018-09-24 10:31:58 -04:00
Ryan Tharp
0e6d85f6c9
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-24 13:24:42 +00:00
Jeff Becker
79680a4f6b
try not killing paths if they get data
...
use correct mainloop
2018-09-24 08:56:07 -04:00
Jeff Becker
17d2aa1df1
track path data usage and don't kill paths when under heavy use
2018-09-24 07:36:47 -04:00
Jeff Becker
97bae70817
close sessions on link close not on destructor
2018-09-24 06:23:11 -04:00
Ryan Tharp
6590d502cd
get first tun interface wiring
2018-09-22 03:23:23 -07:00
Ryan Tharp
eef2dbaaf4
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-21 21:55:11 +00:00
Jeff Becker
4309ea3b97
better handling for introset propagation
2018-09-21 12:37:49 -04:00
Jeff Becker
a91f54cc8a
when we get an invalid introset in response call handler if exists with empty result instead of timing out
2018-09-21 12:17:26 -04:00
Ryan Tharp
ca7d3567a2
prefetch and expose it
2018-09-21 12:53:20 +00:00
Ryan Tharp
4df6202c9f
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-21 12:51:54 +00:00
Jeff Becker
7c90e13299
use another buffer for signing
2018-09-21 08:47:07 -04:00
Ryan Tharp
6cb073aa02
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-21 11:06:57 +00:00
Jeff
d9424ca04b
fix macos compile
2018-09-20 10:32:31 -04:00
Ryan Tharp
18c1e7094f
undo llvm 3.8 fixme, Jeff said he fixed it
2018-09-20 12:48:06 +00:00
Ryan Tharp
29a304f928
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-20 12:45:19 +00:00
Ryan Tharp
aaeb035033
getRange() and getFirstTun() refactor start
2018-09-20 12:35:29 +00:00
Jeff Becker
5fb08c2139
check introset timestamps
2018-09-20 07:27:18 -04:00
Jeff Becker
8588aaa60b
dont use expired intros when shifting intros and lookup introsets via near router.
2018-09-20 07:08:12 -04:00
Ryan Tharp
2bdee7d528
expose mapAddress of first tunEndpoint
2018-09-20 03:05:42 -07:00
Jeff Becker
caf06fdf9e
try reinitializing buffer instead of doing resize
2018-09-19 13:30:18 -04:00
Jeff Becker
f7462910c2
more logging
2018-09-19 13:04:55 -04:00
Jeff Becker
5d5db06cbf
update handover logic a bit
2018-09-19 12:20:34 -04:00
Jeff Becker
8901123b34
try better handover
2018-09-19 09:59:14 -04:00
Ryan Tharp
8f5b172d33
merge?
2018-09-19 06:24:36 -07:00
Ryan Tharp
f283923cb7
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-19 12:28:48 +00:00
Ryan Tharp
9f33edeed0
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-19 12:22:34 +00:00
Jeff Becker
be38ea70f0
try fixing CI builds
2018-09-19 07:50:18 -04:00
Jeff Becker
62bae2075b
proper shift
2018-09-18 20:17:35 -04:00
Jeff Becker
f110f3f3ad
tweak parameters for path build and obtain path if we have none
2018-09-18 19:56:26 -04:00
Jeff Becker
8e4b0a7963
fix reply logic
2018-09-18 18:54:04 -04:00
Jeff Becker
c31fd5fcde
make hidden services work again (probably)
2018-09-18 17:32:17 -04:00
Jeff Becker
5ebe3cc97c
limits and have clients use ephemeral identity
2018-09-18 16:56:22 -04:00
Jeff Becker
d83eb54739
only shift introset when we get a drop that matches current intro set
2018-09-18 16:15:18 -04:00
Jeff Becker
ebe30e81c9
try unscrewing things up
2018-09-18 13:48:26 -04:00
Jeff Becker
8d679b00a7
only log errors on sessions made with utp
...
only rebuild paths when introset changes router for outbound context
2018-09-18 11:05:56 -04:00
Jeff Becker
d1f1dd3c84
publish intro to multiple routers
2018-09-18 10:48:06 -04:00
Jeff Becker
2cf5e14ae9
lookup routers for intros
2018-09-18 10:04:46 -04:00
Jeff Becker
271acaf7e9
better intro shift logic, also actually shift intros
2018-09-18 09:38:26 -04:00
Jeff Becker
96716a39ef
send link layer keep alive and track bad intros
2018-09-18 09:02:52 -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
8d6e7df94d
update convo tag and intro
2018-09-18 06:18:57 -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 Becker
6dfed968ea
use correct parameter
2018-09-17 12:27:16 -04:00
Jeff Becker
bc3b411dbf
make it right
2018-09-17 12:22:11 -04:00
Jeff Becker
217f4a0d3f
use correct intro in tag tracking
2018-09-17 12:12:42 -04:00
Jeff Becker
9ffcf66e58
more checks less logging
2018-09-17 11:32:37 -04:00
Jeff Becker
edbd9197e5
update spec and fix copy constructor
2018-09-17 09:28:26 -04:00
Jeff Becker
f029b9508c
pick router closest in keyspace for lookups and publishing
2018-09-17 08:10:44 -04:00
Jeff Becker
c900e9d004
increment iterator
2018-09-17 07:45:35 -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
f5b8d552e1
path peer profiling
...
propagate introsets better
2018-09-14 10:50:37 -04:00
Jeff Becker
354df88367
more ip endpoint fixes
...
spam dht with lookups less
2018-09-14 09:43:42 -04:00
Jeff Becker
76e87aa608
more debug logging
...
timed out paths are not expired
2018-09-13 09:07:00 -04:00
Jeff Becker
3af51cbe55
add path latency minimum checker
...
add min-latency option to hidden service config
2018-09-13 08:27:28 -04:00
Jeff Becker
832b24ba93
delete don't abort when building paths failed to key exchange
...
try making dht less talky
check timestamps on intros
2018-09-13 07:30:21 -04:00
Jeff Becker
b947e55616
fix leak on sign/encrypt fail
2018-09-12 19:21:59 -04:00
Jeff Becker
b56d25730e
improve send rate
2018-09-12 09:29:42 -04:00
Jeff Becker
6f4e998910
fix previous commit
2018-09-11 12:31:53 -04:00
Jeff Becker
3d424b57a7
client side endpoint improvements
2018-09-11 12:21:43 -04:00
Jeff Becker
ac2c14437f
god damnit
2018-09-11 12:04:00 -04:00
Jeff Becker
a9b259985e
add data discarded message in routing layer to indicate
...
a path no longer exists.
2018-09-11 11:28:36 -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
2eca0005c1
fix up more stuff
2018-09-10 13:37:28 -04:00
Jeff Becker
c3a7f64344
expire introsets correctly and allow multiple tun if
2018-09-10 12:36:36 -04:00
Jeff Becker
b96887ddb2
various fixes and tweaks
2018-09-10 09:43:36 -04:00
Jeff Becker
1952ece99d
more logging
2018-09-10 07:08:09 -04:00
Ryan Tharp
742a0b8da7
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-06 00:32:06 +00:00
Jeff Becker
c3c388b6aa
remove iwp and start on curvecp
...
does not compile
2018-09-02 14:25:42 -04:00
Jeff Becker
5228a81bae
more refactor
...
get rid of C api
2018-08-30 14:48:43 -04:00
Jeff Becker
b122fc59f8
refactor (not done)
2018-08-29 16:40:26 -04:00
Jeff Becker
d3eef5c8b7
more netns code
2018-08-26 08:51:22 -04:00
Ryan Tharp
8724ddd792
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-08-23 22:51:23 +00:00
Jeff
7af9ed0f70
Merge branch 'master' of ssh://github.com/loki-project/loki-network
2018-08-23 14:02:13 -04:00
Jeff
367258551b
fix osx build
2018-08-23 14:02:02 -04:00
Jeff Becker
51029f0f2f
make loopback testnet work again
2018-08-23 10:07:53 -04:00
Jeff Becker
885fb3cd97
revert back to priority queue for codel
2018-08-23 08:26:31 -04:00
Jeff Becker
b77525b72d
persist on commit
2018-08-22 12:19:51 -04:00
Jeff Becker
b7039f6e5c
more tun stuff
2018-08-22 11:52:10 -04:00
Jeff Becker
4aebbda640
more tun stuff
2018-08-20 15:12:12 -04:00
Jeff Becker
4ab9f72415
backport for gcc 5
2018-08-18 11:34:06 -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
Ryan Tharp
e4214cb25e
format
2018-08-17 03:40:14 -07:00
Ryan Tharp
32fa716ac3
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-08-17 03:39:30 -07:00
Ryan Tharp
7171abe825
gcc 7 fix
2018-08-17 03:39:11 -07:00
Ryan Tharp
cabd523188
make sure it's lowercase before decoding
2018-08-17 03:38:46 -07:00
Jeff Becker
08d6121a5a
more tun code
2018-08-16 10:34:15 -04:00
Jeff Becker
6a828ea985
fix shadow build
2018-08-14 18:07:58 -04:00
Jeff Becker
1d3e9f6adc
make testnet no longer crash
2018-08-14 17:17:18 -04:00
Jeff Becker
c12da3dfc7
fix bad offset
2018-08-13 19:25:36 -04:00
Jeff Becker
186bd7d573
use NTRU for introset end to end encryption
2018-08-13 19:22:31 -04:00
Jeff Becker
d7c1c3322f
it works.
2018-08-12 13:22:29 -04:00
Jeff Becker
e79708c1dc
hidden services sorta work
2018-08-10 17:34:11 -04:00
Jeff Becker
a9b28e5407
more fuxing around
2018-08-09 23:51:38 -04:00
Jeff Becker
c36c83d9dc
more hidden service code
2018-08-09 15:02:17 -04:00
Jeff Becker
d5532e4de4
more boilerplate and enable tun/tap build
2018-08-08 15:37:33 -04:00
Jeff Becker
62f41d3747
initial threadpool isolation code and run make format
2018-08-08 13:43:46 -04:00
Jeff Becker
86ec4dacc3
dht and testnet fixes
2018-08-04 12:59:32 +10:00
Jeff Becker
d511057b7d
* logging updates
...
* nicknames in RC (yw kee)
* spec update
* more hidden service code
2018-08-02 10:48:43 +10:00
Jeff Becker
b9f07e8593
* tweak event loop parameters
...
* various code cleanup
2018-07-30 10:30:10 +10:00
Jeff Becker
908716aca4
cleanup
2018-07-30 09:29:36 +10:00
Jeff Becker
5007da5528
backport
2018-07-24 16:25:13 +10:00
Jeff Becker
dbe4a35230
add sequence numbers to routing messages
2018-07-24 07:59:43 +10:00
Jeff Becker
19e3b9c642
* more hidden service code
...
* begin lokinet api
2018-07-23 17:38:29 +10:00
Jeff Becker
d38646ed54
more hidden service stuff
2018-07-23 09:14:29 +10:00
Jeff Becker
02ca1796b2
all the files
2018-07-20 14:50:28 +10:00
Jeff Becker
9114d79bd6
* make number of hops configurable
...
* remove compile warnings
2018-07-20 07:08:11 +10:00
Jeff Becker
7fbc21207f
more hidden service stuff
2018-07-19 14:58:39 +10:00
Jeff Becker
97e11a28f6
make format
2018-07-19 08:50:16 +10:00
Jeff Becker
994a5fe928
dht fixups
2018-07-19 08:50:05 +10:00
Jeff Becker
7c518bc4da
prefetch introset via tag (non working)
2018-07-19 06:58:16 +10:00
Jeff Becker
5d5757cbec
more dht stuff
2018-07-18 13:10:21 +10:00
Jeff Becker
bb8d566671
hidden service tags
2018-07-17 17:30:03 +10:00
Jeff Becker
f23ed98c33
make it work
2018-07-17 16:17:13 +10:00
Jeff Becker
6945fe53a5
more also run make format
2018-07-17 14:37:50 +10:00
Jeff Becker
0242e293c9
more
2018-07-16 13:32:13 +10:00
Jeff Becker
5bbaae4e2e
more
2018-07-12 14:21:44 -04:00
Jeff Becker
fe01c38d8e
* fix dht feedback loop
...
* start on dht lookups for hidden services
* make debug logging confurable on runtime with env var LLARP_DEBUG=1
* make eventloop tick only when we get traffic
* make testnet parameters configurable on runtime
2018-07-12 09:43:37 -04:00
Jeff Becker
bae4f746be
publish hidden service descriptors and acknoledge publish
2018-07-11 12:11:19 -04:00