Jeff Becker
db2206664a
fix crashes in testnet
2019-07-29 11:10:20 -04:00
Thomas Winget
697ece64cc
make TransitHop self-destruct if path is invalidated
2019-07-25 19:54:10 -04:00
Thomas Winget
38fd0552d3
Adds Link-Relay Status Messages
...
Success case:
- the path endpoint creates and sends a LR_StatusMessage upon
successful path creation
Failure case:
- an intermediate hop creates and sends a LR_StatusMessage upon
failure to forward the path to the next hop for any reason
Both cases:
- transit hops receive LR_StatusMessages and add a frame
to them reflecting their "status" with respect to that path
- the path creator receives LR_StatusMessages and decrypts/parses
the LR_StatusRecord frames from the path hops. If all is good,
the Path does as it would when receiving a PathConfirmMessage.
If not, the Path marks the new path as failed.
LR_StatusMessage is now used/sent in place of PathConfirmMessage
2019-07-25 17:46:56 -04:00
Thomas Winget
bbb5339b33
add debug-level log message on path build success
2019-07-25 14:48:14 -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
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
be997020dd
Fixup two minor warnings
2019-07-12 07:27:21 +01: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
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
Michael
b6b400baef
Tidy up pathbuilder code
2019-06-20 17:35:40 +01: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
83bd9227a7
Move exit messages
2019-06-19 21:35:26 +01:00
Michael
d6751e3eeb
Move subset of messages to right directory
2019-06-19 21:35:26 +01:00
Michael
b89689fec3
Refactor path build code
2019-06-18 22:51:41 +01:00
Rick V
c6c31efec9
make format
2019-06-17 23:29:54 -05:00
Jeff Becker
9ea13a9ee3
ingore paths that drop exit traffic
2019-05-31 06:57:41 -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
068fec82fb
set lifetime of paths
2019-05-28 10:06:01 -04: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
a375f1103f
explicitly lookup router if not connected to it on LRCM forward.
2019-05-27 15:01:09 -04:00
Jeff Becker
c77e0aff8a
only check for ready paths when counting in future
2019-05-25 12:27:54 -04:00
Jeff Becker
13190284f7
double path build timeout
2019-05-23 09:38:31 -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
Jeff Becker
a4e90ee769
hax to make it work.
2019-05-16 14:55:12 -04:00
Jeff Becker
d3a98db267
don't resize frames
2019-05-15 10:55:01 -04:00
Jeff Becker
f832c9a593
use shared_ptr
2019-05-11 10:13:35 -04:00
Jeff
06f8bb2f42
add blacklist-snode option
2019-05-10 12:19:33 -04:00
Jeff Becker
ad019cab71
add changes for review
2019-05-08 10:59:28 -04:00
Jeff Becker
486042511c
log hops
2019-05-08 10:30:55 -04:00
Jeff Becker
540c2e1666
fix previous commit
2019-05-08 10:18:04 -04:00
Jeff Becker
df322e1149
don't include duplicate hops in paths
2019-05-08 10:01:31 -04:00
Jeff Becker
9d466cd09d
pump only on send queue full and clear exit roles when closing exit
2019-05-08 08:50:33 -04:00
Jeff Becker
b68f539de6
limit outbound connections
2019-05-08 08:17:48 -04:00
Jeff Becker
1d852a1e83
send exit close ack
2019-05-07 14:27:21 -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
744ebac579
only use ready paths
2019-05-07 09:49:49 -04:00
Jeff Becker
61d42811be
prevent crash
2019-05-07 09:04:43 -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
Jeff Becker
b9adf90fb9
remove random timer fuzz
2019-05-06 12:13:41 -04:00
Jeff Becker
6c17bf35b3
decrease minimum path build interval
2019-05-06 12:00:10 -04:00
Jeff Becker
5fa85acaf7
rebuild exit paths if they die
2019-05-06 10:54:05 -04:00
Jeff Becker
92ad98be8b
refactor hooks to be have more c++isms
...
make path build timeouts use log level warning
2019-05-05 09:51:48 -04:00
Jeff Becker
d423ee02d2
use shared_ptr
2019-05-03 09:15:03 -04:00
Jeff Becker
d50b18d7b0
try fixing leak also make format
2019-04-30 08:22:15 -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
Michael
9ee525a006
Fix shadowing warnings
2019-04-26 00:21:19 +01:00
Jeff Becker
af1529fa72
Merge remote-tracking branch 'origin/master'
2019-04-25 07:25:22 -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
6711296b26
finish converting to shared_ptr
2019-04-23 12:13:22 -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
98e691f315
Tidy up more parts of the service/ directory
2019-04-22 22:28:10 +01:00
Jeff Becker
36369abcb4
"better" (more vigorus) path building
2019-04-22 15:15:07 -04: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
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format
2019-04-22 08:25:25 -04:00
michael-loki
0195152e05
Allow builds on MSVC ( #518 )
...
* Import cxxopts to replace getopts usage
* Add visual studio build things
* Fixup abseil build parts
* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED
* Fixup minor windows build issues
* Replace getopts usage
* Temporarily fixup .rc files
* More minor windows fixes
* Get a working build
* Revert .rc files
* Revert changes to nodedb
2019-04-19 13:24:33 -05:00
Michael
c39c931d03
Remove IStateful virtual inheritance
2019-04-19 16:10:26 +01:00
Jeff Becker
57dc6cc965
make bundling rc in path builds configurable on runtime
2019-04-18 07:49:54 -04:00
Jeff Becker
94eb37d490
bundle RC in build record to improve build success rates.
2019-04-17 15:05:54 -04:00
Jeff Becker
87ff9268da
if a router is connected it's fine given it's a boostrap
2019-04-16 10:43:12 -04:00
Jeff Becker
a45d6db0e0
better profiling
2019-04-16 07:44:55 -04:00
Jeff
7a83f71713
re-animate paths
2019-04-13 10:32:07 -04:00
Jeff Becker
04a5db8789
call hook
2019-04-10 08:56:14 -04:00
Jeff Becker
6220fef2dc
select good first hops
2019-04-09 12:27:47 -04:00
Jeff Becker
c910a2a2fb
more
2019-04-05 10:58:22 -04:00
Jeff
97b9c679b0
don't use bootstrap nodes for first hops in paths
2019-04-03 15:05:44 -04:00
Jeff Becker
965b0957ee
tweaks
2019-03-31 11:09:59 -04:00
Jeff Becker
c23498925c
disable profiling on path fail
2019-03-31 10:41:36 -04:00
Jeff Becker
24e7151ff5
log and don't remove path on died
2019-03-30 09:12:48 -04:00
Jeff Becker
b849ff9a94
handle path death better
2019-03-30 09:02:10 -04:00
Jeff Becker
fcdef8d363
don't mark paths as dead after established
2019-03-27 16:25:54 -04:00
Jeff Becker
d4cb6808ec
more
2019-03-25 11:41:37 -04:00
Jeff Becker
91298c4819
re-enable profiling
2019-03-25 10:17:02 -04:00
Jeff Becker
8a63533d1a
have service nodes maintain min connections
...
path building more robust selection
2019-03-25 08:52:32 -04:00
Jeff Becker
db17b0fad5
disable profiling
2019-03-22 13:41:04 -04:00
Jeff Becker
c63beae1c6
use std::min not std::max for linear backoff
...
ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyylmao
this was fucking dumb as shit
2019-03-22 10:18:57 -04:00
Jeff Becker
ce126166af
more logging info
2019-03-22 10:10:30 -04:00
Jeff Becker
0369e42d5e
try harder to select hops
2019-03-22 08:44:15 -04:00
Jeff Becker
dc36856922
try tweaking timeout
2019-03-20 21:19:30 -04:00
Jeff Becker
5d3833ef1a
fix dumb as shit path building that causes premature termiantion because of duplicate hops
2019-03-11 09:58:31 -04:00
Jeff Becker
6489ea2152
make it work
2019-03-08 12:26:29 -05:00
Jeff Becker
df17866ff7
breaking protocol change, bundle source txid on outside of path transfer message.
2019-03-08 10:33:49 -05:00
Jeff Becker
2218749134
Merge remote-tracking branch 'origin/staging' into staging
2019-03-07 17:58:29 -05:00
Jeff Becker
6a09348c47
today's work
2019-03-07 17:53:36 -05:00
Jeff
1a09a12ee0
Merge branch 'staging' into absl_mutex
2019-03-05 17:06:23 -05:00
Jeff Becker
8331449ab9
update profiles on path build
2019-03-04 12:03:18 -05:00
Michael
61f3273dc4
Add threading annotations and fix potential deadlocks
2019-03-04 00:03:52 +00:00
Michael
c5a129ddff
Convert to use abseil synchronisation primitives
2019-03-03 21:20:38 +00:00
Jeff Becker
71302ee48b
Merge remote-tracking branch 'origin/staging' into fix-libabyss-352
2019-02-27 07:55:38 -05:00
Jeff Becker
f8d6becce8
make whitelist happy
2019-02-27 07:55:26 -05:00
Jeff
db504e8044
Merge pull request #354 from despair86/dev
...
regression fixes
2019-02-26 17:40:48 -05:00
Rick V
975b4ca743
clang-format
2019-02-26 15:48:03 -06:00
Jeff Becker
ef13ec7499
Merge remote-tracking branch 'origin/staging' into staging
2019-02-26 07:55:27 -05:00
Michael
e4cf1f245c
Convert most of llarp to use Printer
2019-02-24 23:46:44 +00:00
Jeff Becker
c626f7c9b7
revert
2019-02-23 12:39:48 -05:00
Jeff Becker
64f34dccc2
set transit started time
...
holy what the crap.
2019-02-23 12:36:39 -05:00
Michael
4fb2b39f74
Format changes
2019-02-22 17:18:54 +00:00
Michael
13a9f65520
Fully define interface for dht::Context
2019-02-22 15:08:08 +00:00
Jeff Becker
591f3c92a9
make build records smaller
2019-02-19 10:06:39 -05:00
Rick V
5a3947ca5c
clang-format
2019-02-18 17:58:12 -06:00
Jeff Becker
445ed05b32
make format
2019-02-18 14:44:41 -05:00
Michael
887fb4ac62
Replace insert(make_pair()) with emplace()
2019-02-18 10:35:23 +00:00
Michael
048fa83c39
Finish replacement of Router with AbstractRouter
2019-02-14 22:31:31 +00:00
Jeff Becker
46222df421
refactor
2019-02-11 12:14:43 -05:00
Jeff Becker
66753430ad
fix it
2019-02-08 16:29:56 -05:00
Jeff Becker
e1522faeaa
add introspection rpc endpoint
2019-02-08 14:43:25 -05:00
Jeff
4c4f3faf83
Merge pull request #284 from michael-loki/abstract_router
...
Convert llarp::Router into an abstract base class
2019-02-06 19:09:31 -05:00
Jeff Becker
2f369a3399
dont send latency tests while building
2019-02-06 08:51:05 -05:00
Jeff Becker
b40055181d
lower path build timeout to 15s
...
tweak various dns stuff
2019-02-06 08:02:17 -05:00
Michael
729cd045f1
Convert llarp::Router into an abstract base class
2019-02-06 09:59:47 +00:00
Jeff Becker
be74589c41
remove logging
2019-02-05 13:44:14 -05:00
Jeff Becker
96006a061a
correct logging
2019-02-05 13:44:05 -05:00
Jeff Becker
b76a227897
call path built hook AFTER latency is confirmed
2019-02-05 13:43:55 -05:00
Jeff Becker
a953b34a45
fix crash
2019-02-05 10:06:53 -05:00
Ryan Tharp
4bf4faa956
make format
2019-02-04 16:41:33 -08:00
Michael
7ca3e13e78
Rename to ManagedBuffer
2019-02-03 00:48:10 +00:00
Michael
47380ba64b
Simplify some code
2019-02-03 00:31:10 +00:00
Michael
f3b0af9d2f
Create CopyableBuffer type
2019-02-02 23:21:35 +00:00
Michael
2de621b0ad
Disable copy constructing llarp_buffer_t
2019-02-01 01:58:13 +00:00
Michael
f24f554a01
Convert llarp::Crypto into an abstract base class
2019-01-26 15:40:58 +00:00
Rick V
778a45bb37
at last
...
full anonymity on computers the world over
is nearing completion - see path.cpp for a potential bug
(cherry picked from commit 7bd6ddf88a
)
# Conflicts:
# llarp/ev_win32.hpp
2019-01-22 18:16:57 -06:00
Michael
7296ebcbe8
Tidy dht code
2019-01-19 01:41:14 +00:00
Michael
da6cdfc0b2
More refactoring to continue to make dependency graph acylic
2019-01-15 23:15:44 +00:00
Michael
79157414f3
Split crypto.hpp into 3 different files
2019-01-13 16:32:51 +00:00
Michael
04e0fe3ad7
Move crypto code to a subdirectory
2019-01-13 15:06:16 +00:00
Michael
081d4dfa32
Reorganise source into more folders
2019-01-11 01:19:49 +00:00