Thomas Winget
71bb0dd520
implement timers using libuv
...
So far only a bit of the code using timers has been modified to use
the new libuv-based timers. Also only the non-Windows case has been
implemented. Seems to be working though, so it's a good time to commit.
2019-12-18 13:11:13 -05:00
Jeff Becker
7f6d1ebb92
fix slow start bug
2019-12-14 13:50:52 -05:00
Stephen Shelton
5d3cb8f405
Include error code in log output in Identity::EnsureKeys()
2019-12-12 10:09:57 -07:00
Stephen Shelton
2c6226f54a
Backup SNApp keys when migrating to new ed25519 crypto
2019-12-06 11:21:14 -07:00
Stephen Shelton
66a058a2af
Make format
2019-12-06 10:13:09 -07:00
Stephen Shelton
93b8832026
Merge branch 'dev' into private-keys-backup-support
2019-12-03 11:20:45 -07:00
Jeff Becker
28a2d471d6
style nitch
2019-11-29 19:11:14 -04:00
Jeff Becker
44e0e2c034
dont flood the logic queue
2019-11-29 19:11:14 -04:00
Jeff Becker
0828307906
fix address mapping bug
2019-11-29 19:11:14 -04:00
Jeff Becker
8849173112
try async decrypt then verify
2019-11-29 19:11:14 -04:00
Jeff Becker
285a9a1dd5
prevent segfault
2019-11-29 19:11:14 -04:00
Jeff Becker
ba0fd223d9
reduce number of jobs we put onto the logic thread
2019-11-29 18:45:06 -04:00
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs
2019-11-22 16:23:19 -05:00
Stephen Shelton
db56e17c23
Rename bencode function for clarity
2019-11-22 14:14:37 -07:00
Jeff Becker
1a864832c8
make format
2019-11-14 10:07:40 -05:00
Thomas Winget
23a9773e1e
remove our paths from outbound queues
2019-11-07 13:23:14 -05:00
Jeff Becker
2c5561fc3c
make format
2019-11-05 12:01:34 -05:00
Jeff Becker
7ee026fa50
make path builds work again
2019-11-05 11:58:53 -05:00
Jeff Becker
2bf1e4f46a
enable IOS on IOS
2019-10-30 09:33:23 -04:00
jeff
c26b67c379
finish wiring up jni shizz
2019-10-08 10:52:01 -04:00
jeff
52757fef0e
Merge remote-tracking branch 'micheal/background_mode' into vpn-api-2019-10-03
2019-10-04 14:10:58 -04:00
jeff
32ed821763
Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography
2019-10-01 10:51:28 -04:00
jeff
f9fb40f590
final touches
2019-09-20 12:56:19 -04:00
jeff
7c691cf334
handover should be fixed now
2019-09-19 16:28:12 -04:00
Jeff Becker
993e4c2637
try fixing handover
2019-09-19 14:34:41 -04:00
jeff
6c2ebbb925
try fixing handover and add snapp traffic to multithreaded crypto workers
2019-09-19 10:41:31 -04:00
Jeff Becker
327c545530
finish multithread cryptography first pass
2019-09-16 12:12:05 -04:00
jeff
14c9ef15ed
try calling stuff in logic thread from event loop
2019-09-16 06:21:12 -04:00
Jeff Becker
1adae338ce
Merge remote-tracking branch 'origin/master'
2019-09-04 07:58:02 -04:00
Michael
edd0ec398f
Move thread stuff to subdirectory
2019-09-03 20:52:28 +01:00
Michael
4d8fe2a8a8
Move meta programming to subdirectory
2019-09-03 20:52:28 +01:00
Michael
1aec0dfa2b
Move logging to subdirectory
2019-09-03 20:52:27 +01:00
Jeff Becker
c01112e4b7
tracy lock contention testing and other fun things
2019-09-03 11:56:56 -04:00
Jeff
093021ef99
try fixing handover drop bug
2019-09-02 12:44:08 -04:00
Jeff Becker
eabbb83149
use estimated build time instead of expiration time for delta when determining when to space out builds
2019-08-27 16:07:09 -04:00
Jeff Becker
e0424a91a7
bump path build handover window, check cooldown on build.
2019-08-27 16:00:00 -04:00
Jeff Becker
3c3338e801
Merge remote-tracking branch 'origin/master' into memlink
2019-08-21 10:53:25 -04:00
Michael
094b697b01
Replace StatusObject with underlying JSON type
2019-08-19 10:33:26 +01:00
Michael
16cdfbd5f0
clang-tidy modernize pass
2019-08-12 16:52:58 +01:00
Jeff Becker
fdbb2e8dc8
make format
2019-08-09 08:17:01 -04:00
Jeff Becker
847fcdf5f3
move convotag missmatch check to the right place
2019-08-09 08:16:20 -04:00
Michael
84601fa474
Make format
2019-08-08 00:26:40 +01:00
Michael
d1990b5e93
Fix suspicious thread-unsafety
2019-08-08 00:18:56 +01:00
Jeff
da4f1ddb0a
Merge pull request #757 from majestrate/master
...
don't expire based on reply intro
2019-08-07 17:15:46 -04:00
Jeff
c2c4f61ded
don't expire based on reply intro
2019-08-07 16:50:15 -04:00
Jeff Becker
c1f33bb1ac
initial mempipe implementation
2019-08-07 12:33:29 -04:00
Jeff Becker
e3d13fc2a0
drop missmatched convotags
2019-08-06 17:37:34 -04:00
Michael
f9e9227e19
Fix gcc trunk warnings
2019-08-02 10:29:08 +01:00
Michael
4763888d2c
Add fail-able docker build for gcc trunk
2019-08-02 10:28:09 +01:00
Jeff Becker
db2206664a
fix crashes in testnet
2019-07-29 11:10:20 -04:00
Jeff Becker
7a3c8e5ca0
set limits correctly
2019-07-18 12:32:26 -04:00
Jeff Becker
f48754c45d
make hop count and length configurable
2019-07-18 12:28:17 -04:00
Jeff Becker
d465400840
revert
2019-07-18 09:34:46 -04:00
Michael
5cef2865bd
Fix Ubuntu builds
2019-07-15 22:46:57 +01:00
Michael
e52492911d
Refactor endpoint state management to a new class
2019-07-15 10:15:51 +01:00
Jeff Becker
1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-07-12 09:53:52 -04:00
Michael
488695047f
Remove redundant else blocks
2019-07-09 22:54:46 +01:00
Jeff Becker
b9bcc2b775
make threadpool consice
2019-07-09 09:47:24 -04:00
Jeff Becker
0eb6431eb1
initialize tun with 0 and set defaults in correct places
2019-07-08 11:26:06 -04:00
Jeff Becker
fd911d0c52
make format
2019-07-08 10:22:47 -04:00
Jeff Becker
58005c5f81
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-07-08 10:17:21 -04:00
Michael
a2326efa37
Revert "Merge pull request #679 from tewinget/revert-config-refactor"
...
This reverts commit 2996a7f29c
, reversing
changes made to 10df3bd4b3
.
2019-07-06 14:46:25 +01:00
Jeff Becker
6467d21ba0
* fix testnet codepath
...
* add packet info for osx
2019-07-05 10:13:58 -04:00
Jeff Becker
81cab62bb9
* fix testnet codepath
...
* add packet info for osx
2019-07-05 08:07:06 -04:00
Thomas Winget
d044d60101
Reverts #678 #677 and #669 with hashes:
...
10df3bd
766ece8
979f095
See those commits for further details
2019-07-02 11:02:20 -04:00
Michael
b51f7d8015
Convert to load config in config loader
2019-07-02 01:58:39 +01:00
Michael
bd78471dae
Move ini parser as well
2019-07-02 01:58:38 +01:00
Jeff Becker
5874c38b38
swap path on inbound convo if expires soon
2019-07-01 17:35:49 -04:00
Jeff Becker
f211ff182a
pick ready paths for reply
2019-07-01 16:45:00 -04:00
Jeff Becker
d6ec528a72
start work on seperating ips out of endpoint
2019-07-01 10:56:56 -04:00
Jeff Becker
64e9622270
start seperating tun and endpoint
2019-07-01 09:44:25 -04:00
Jeff Becker
fbf01bd129
fix order
2019-06-28 11:56:25 -04:00
Jeff Becker
1061ae4fee
set outbound context to be outbound session
2019-06-28 11:53:29 -04:00
Jeff Becker
0146a967d0
fix convotag inbound state setting
2019-06-28 11:49:29 -04:00
Jeff Becker
6ab3678f5c
correct comparison
2019-06-28 11:39:54 -04:00
Jeff Becker
5c8b17154c
swap intros only on path build success
2019-06-28 11:32:47 -04:00
Jeff Becker
4734fa91fe
check for zero
2019-06-28 11:31:02 -04:00
Jeff Becker
f66e37ca37
oooof
2019-06-28 11:27:53 -04:00
Jeff Becker
289eb2a04c
fix previous commit
2019-06-28 11:23:39 -04:00
Jeff Becker
5c679a10e8
outbound context build more
2019-06-28 11:19:12 -04:00
Jeff Becker
6bca652182
choose first timestamp
2019-06-28 10:48:00 -04:00
Jeff Becker
0b90acff75
handle reply intro
2019-06-28 10:12:20 -04:00
Jeff Becker
8830ac8fac
tweak
2019-06-26 09:09:40 -04:00
Jeff Becker
ba6f9ed2d7
continue using llarp::openfilestream
2019-06-24 12:51:29 -04:00
Jeff Becker
54a098356d
continue using llarp::openfilestream
2019-06-24 12:39:03 -04:00
Jeff Becker
b0612e2ee1
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-06-21 11:23:53 -04:00
Michael
b6b400baef
Tidy up pathbuilder code
2019-06-20 17:35:40 +01:00
Jeff Becker
5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-06-20 10:35:51 -04:00
Michael
08609f9e5a
Rename message files
2019-06-19 23:30:07 +01:00
Michael
8a058fcb34
Move other messages
2019-06-19 21:35:57 +01:00
Michael
d6751e3eeb
Move subset of messages to right directory
2019-06-19 21:35:26 +01:00
Jeff Becker
2557a9ab25
check for expiration
2019-06-18 08:58:22 -04:00
Jeff Becker
cd05fa6150
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-06-18 08:46:35 -04:00
Rick V
c6c31efec9
make format
2019-06-17 23:29:54 -05:00
Jeff Becker
30f6a8ccd2
make format
2019-06-17 09:05:37 -04:00
Jeff Becker
9c24fc15a8
try not spamming network with builds
2019-06-17 08:43:16 -04:00
Jeff Becker
5853e5e3f4
pass in path
2019-06-14 09:13:06 -04:00
Jeff Becker
a323003824
differentiate between inbound and outbound convos
2019-06-14 08:49:45 -04:00
Jeff
b857be3d02
Merge pull request #639 from majestrate/master
...
[WIP] libuv
2019-06-13 09:27:42 -04:00
Jeff Becker
d8aebf36fb
swap intros on message rejection
2019-06-12 10:30:47 -04:00
Jeff Becker
1883c63997
swap intros on message rejection
2019-06-12 10:27:25 -04:00
Jeff Becker
2403ab8f86
ipv6
2019-06-11 12:44:05 -04:00
Jeff Becker
9ec41b8831
update RC expiration logic, lookup more often and remove stale entries
2019-06-10 08:47:21 -04:00
Jeff Becker
73c1538518
fix
2019-06-06 07:16:03 -04:00
Jeff Becker
f7ccbf0c78
eh
2019-06-06 07:10:18 -04:00
Jeff Becker
f8e2edae28
fix
2019-06-06 07:06:34 -04:00
Jeff Becker
223f2702d3
Merge branch 'fix-big-ooooofff'
2019-06-06 06:53:54 -04:00
Jeff Becker
a33dbce680
try switching logic
2019-06-06 06:52:27 -04:00
Jeff Becker
f8026b8a2d
use latest tag not oldest tag in inbound convos
2019-06-04 09:53:50 -04:00
Jeff Becker
39b1f104a8
revert
2019-06-04 09:43:49 -04:00
Jeff Becker
471a4bf6dd
use reply intro for inbound sessions
2019-06-04 09:34:24 -04:00
Michael
75430a234c
Convert to use memFn
2019-06-02 22:19:10 +01:00
Jeff
674f272a46
Merge pull request #630 from majestrate/master
...
recent stability stuff
2019-05-29 08:20:25 -04:00
Jeff Becker
762a0c534f
Merge remote-tracking branch 'origin/master'
2019-05-29 08:09:02 -04:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers
2019-05-28 20:45:08 +01:00
Jeff Becker
2897141036
make format and introduce new function EnsureRouter on router to check nodedb or do dht lookup
2019-05-28 07:35:26 -04:00
Jeff Becker
d113f06ebd
use for each loop
...
don't lookup expired routers we don't need that right now
2019-05-25 10:11:40 -04:00
Michael
3f53965b71
Remove all use of IBEncodeMessage
2019-05-24 03:01:36 +01:00
Jeff Becker
8b2dd72472
Merge remote-tracking branch 'origin/master'
2019-05-23 09:21:31 -04:00
Jeff Becker
41523b934c
more
2019-05-23 09:13:03 -04:00
Jeff Becker
2ac89c0afb
DRY
2019-05-23 08:22:48 -04:00
Michael
d49e57aa8d
Fix thread safety issue in service::Endpoint::ProcessDataMessage
2019-05-22 21:28:17 +01:00
Jeff Becker
e85cc1bc8a
fix
2019-05-22 13:47:33 -04:00
Jeff Becker
64c7ed42fc
make format
2019-05-22 12:20:50 -04:00
Jeff Becker
9c96aecf3f
move llarp::Logic to std::shared_ptr
...
add sequence numbers to HSD messages
begin work on network isolation code
add more docs
2019-05-22 12:20:03 -04:00
Michael
dd8a93a400
Apply rule of zero to code base
2019-05-19 23:11:07 +01:00
Michael
a83be769e2
More explicit error when keyfile is not a valid file
2019-05-18 18:34:25 +01:00
Jeff Becker
5f823f8ba3
fix
2019-05-17 07:41:11 -04:00
Jeff Becker
a954f2000e
shift introduction
2019-05-17 07:36:08 -04:00
Jeff Becker
8da3b51589
more hax
2019-05-17 07:18:42 -04:00
Jeff Becker
81f73bccc2
pick newer intros only
2019-05-16 19:37:32 -04:00
Jeff Becker
f832c9a593
use shared_ptr
2019-05-11 10:13:35 -04:00
Jeff
e21f1020ee
don't std::move
2019-05-11 08:48:54 -04:00
Jeff
06f8bb2f42
add blacklist-snode option
2019-05-10 12:19:33 -04:00
Jeff Becker
018dd008ec
add custom single threaded allocator for utp buffers
...
fix up test net stuff
2019-05-09 16:28:56 -04:00
Jeff Becker
85fcb4bd84
fix it up
2019-05-09 11:54:22 -04:00
Jeff Becker
1d74585637
don't crash when we get no routers from lookup
2019-05-09 11:51:21 -04:00
Jeff Becker
3821b4801c
fix intro section to not use first hop as intro
2019-05-08 10:54:03 -04:00
Jeff Becker
e7a40ac4e5
Revert "permit outbound context to select an intro who is a first hop."
...
This reverts commit c8c00e2d9f
.
2019-05-08 10:49:09 -04:00
Jeff Becker
c8c00e2d9f
permit outbound context to select an intro who is a first hop.
2019-05-08 10:43:56 -04:00
Jeff Becker
df322e1149
don't include duplicate hops in paths
2019-05-08 10:01:31 -04:00
Jeff Becker
7b03b63d13
more sighup code
2019-05-07 14:15:22 -04:00
Jeff Becker
a53da68700
start work on sighup
2019-05-07 13:46:38 -04:00
Jeff Becker
dee639500a
set intro
2019-05-07 10:11:10 -04:00
Jeff Becker
e08c8bf919
correct timeout for dht request
2019-05-07 09:19:36 -04:00
Jeff Becker
34533db620
add urgent build that builds over an existing path for an endpoint
2019-05-07 08:31:34 -04:00
Michael
1744ae7686
Tidy up service endpoint a bit more
2019-05-07 09:29:47 +01:00
Jeff Becker
b02a3715df
call hook on timeout
2019-05-05 10:42:13 -04:00
Jeff Becker
fc3db98e66
change log priority
2019-05-05 10:15:48 -04:00
Jeff Becker
d423ee02d2
use shared_ptr
2019-05-03 09:15:03 -04:00
Jeff Becker
986e831579
make bundle-rc option configurable on snode tld
2019-05-02 14:11:44 -04:00
Jeff Becker
e0892f7d23
gfdi
2019-05-02 12:33:53 -04:00
Jeff Becker
407f895c86
ooff
2019-05-02 12:31:08 -04:00
Jeff Becker
5b49008bca
more
2019-05-02 12:23:31 -04:00
Jeff Becker
a97e1e37a7
dont filter intros they are already good
2019-05-02 09:47:22 -04:00
Jeff Becker
e060082441
hook every dns for .loki and .snode when applicable
...
make {n,h}uint{32,16}_t templated type.
2019-05-01 09:40:10 -04:00
Jeff
59e6a4bc3d
make snode work again probably
2019-04-30 17:36:27 -04:00
Jeff Becker
20ba2c7b8c
try not to die
2019-04-30 12:57:59 -04:00
Jeff Becker
cde4fcc00a
queue pending traffic
2019-04-30 12:49:34 -04:00
Jeff Becker
bb47d612b3
more
2019-04-30 12:07:17 -04:00
Jeff Becker
0b68d3db5d
move stuff arround so that flushing queues are done in the correct event loops
...
TODO: locking
2019-04-30 11:09:42 -04:00
Jeff Becker
2a7ebce8f4
Merge remote-tracking branch 'origin/master'
2019-04-30 11:01:13 -04:00
Jeff Becker
5e0acc1197
separate upstream/downstream flush
2019-04-30 09:56:39 -04:00
Jeff Becker
d50b18d7b0
try fixing leak also make format
2019-04-30 08:22:15 -04:00
Michael
725ee293c1
Refactor well named functionality in service::Endpoint into new struct
2019-04-30 02:06:31 +01:00
Jeff
27fac68716
fix
2019-04-28 14:22:38 -04:00
Jeff
01906c5d94
Merge remote-tracking branch 'origin/master'
2019-04-28 13:33:27 -04:00
Michael
0b4d787042
More work on router docker image
...
- Multi-stage docker build (final image only 15MB!)
- Build in release mode
- Fix bug with release mode
- Fix compiler being dumb AF
- Disable FORTIFY for now
- Enable LTO when making a staticly linked release
- Fix some gcc specific warnings
- Refactor cmake stuff into multiple files
2019-04-28 17:04:52 +01:00
Jeff Becker
c3c26df6e3
Merge branch 'master' of ssh://github.com/majestrate/loki-network
2019-04-27 07:51:47 -04:00
Jeff
5305ef5974
use iterative lookups for sercice address lookups
2019-04-27 07:13:16 -04:00
Jeff Becker
f7dc67b189
use std::set
2019-04-26 09:02:08 -04:00
Jeff Becker
09f706b9cd
fix
2019-04-26 08:17:50 -04:00
Jeff Becker
fea64eaf12
handle subdomains
2019-04-26 08:14:29 -04:00
Jeff Becker
d20ba9ceab
handle subdomains
2019-04-26 08:11:34 -04:00
Michael
9ee525a006
Fix shadowing warnings
2019-04-26 00:21:19 +01:00
Jeff Becker
0529e45ebe
more
2019-04-25 13:15:56 -04:00
Jeff Becker
af1529fa72
Merge remote-tracking branch 'origin/master'
2019-04-25 07:25:22 -04:00
Jeff Becker
4bda489437
add explicit enable/disable profiling option, try to always maintain outbound connections.
2019-04-25 07:00:18 -04:00
Michael
4143472a17
Add cmake module to target a library as 'system', and fix a few warnings
2019-04-25 00:27:31 +01:00
Jeff Becker
5921086391
common codepath for sending protocol frames
2019-04-23 13:35:20 -04:00
Jeff Becker
6711296b26
finish converting to shared_ptr
2019-04-23 12:13:22 -04:00
Jeff Becker
8484e29c9b
turn more stuff into std::shared_ptr
...
remove dead codepaths
2019-04-23 10:47:23 -04:00
Jeff Becker
99c29cf05a
prepare for ios/android jazz
...
move to use std::shared_ptr instead of bare pointers so we can
multithread everything.
2019-04-23 10:28:59 -04:00
Jeff Becker
5872573e91
rename Logic and Crypto functions to GetLogic and GetCrypto
2019-04-23 09:20:01 -04:00
Jeff Becker
a2912ff860
Merge remote-tracking branch 'origin/master'
2019-04-23 09:12:36 -04:00
Michael
3a8715d8e4
Fix introset tests
2019-04-23 10:25:03 +01:00
michael-loki
e36ddfb093
Fixup casing ( #543 )
...
* Rename Identity.hpp to identity.hpp
* Rename Identity.cpp to identity.cpp
* Rename Info.hpp to info.hpp
* Rename Intro.cpp to intro.cpp
* Rename Intro.hpp to intro.hpp
2019-04-22 20:24:23 -05:00
Michael
98e691f315
Tidy up more parts of the service/ directory
2019-04-22 22:28:10 +01:00
Michael
2d2c0e3ac2
Make introset PoW be a unique_ptr
2019-04-22 22:19:51 +01:00
Jeff Becker
d5162c2aad
dont kill active exit paths
2019-04-22 13:55:07 -04:00
Michael
e33a33635c
Remove usage of raw new from service classes
2019-04-22 18:38:29 +01:00
Jeff Becker
c0d7b53328
make it work
2019-04-22 10:00:59 -04:00
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format
2019-04-22 08:25:25 -04:00
Michael
33c80b7c16
Move service::Session to its own componet
2019-04-21 19:39:50 +01:00
Michael
94ad84363a
Move CachedTagResult and TagLookupJob to its own component
2019-04-21 19:39:50 +01:00
Michael
6bf54e0925
Remove AsyncKeyExchange, HiddenServiceAddressLookup and OutboundContext to their own components
2019-04-21 19:39:50 +01:00
Michael
3db6d80928
Remove unnecessary llarp:: qualifiers
2019-04-21 19:39:50 +01:00
Michael
2412ed59ee
Move SendContext to its own component
2019-04-21 19:39:50 +01:00
Michael
84fc90dc82
Remove dependency on service::endpoint
2019-04-21 19:39:50 +01:00
Michael
c39c931d03
Remove IStateful virtual inheritance
2019-04-19 16:10:26 +01:00