Commit Graph

338 Commits (dev)

Author SHA1 Message Date
Jeff Becker 0828307906 fix address mapping bug 5 years ago
Jeff Becker 5188873288 batch and flush 5 years ago
Jeff Becker 2852601a28 flush in logic 5 years ago
Jeff Becker d823d6fa70 only flush when no other jobs are executing 5 years ago
Jeff Becker 9e305c5b30 use lockless queues to gather results of transit traffic work 5 years ago
Jeff Becker d591394ad2 dont process empty queues 5 years ago
Jeff Becker e2472d985d process transit hops on flush 5 years ago
Jeff Becker c3858a56df
make it compile 5 years ago
Jeff Becker 34bc3da069
flush quues of other paths 5 years ago
Jeff Becker 56dce90de9
add trace log level for tracking logic thread jobs 5 years ago
Jeff Becker 1a864832c8
make format 5 years ago
Thomas Winget 23a9773e1e
remove our paths from outbound queues 5 years ago
Thomas Winget ef1a5652ef
remove our paths from outbound queues 5 years ago
Thomas Winget 17de3f2478 do...while; make format; remove erroneous GUARDED_BY 5 years ago
Thomas Winget 75512b1b58 ban zero id for pathid; clarity and cleanup 5 years ago
Thomas Winget 9d3e7d349c Add per-path queues, prioritize control messages over traffic 5 years ago
Jeff Becker 7ee026fa50
make path builds work again 5 years ago
Jeff Becker 7c35b00f98
Revert "move calling of path build sccess hook to correct place"
This reverts commit 902cd86a3b.
5 years ago
Jeff Becker 902cd86a3b
move calling of path build sccess hook to correct place 5 years ago
Jeff Becker 9d266dbec7
meh 5 years ago
jeff 32ed821763 Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography 5 years ago
jeff f9fb40f590 final touches 5 years ago
jeff 6c2ebbb925 try fixing handover and add snapp traffic to multithreaded crypto workers 5 years ago
Jeff Becker 5863e33825
move it arround 5 years ago
Jeff Becker 327c545530
finish multithread cryptography first pass 5 years ago
jeff 14c9ef15ed try calling stuff in logic thread from event loop 5 years ago
Jeff Becker bcf9135da6
testnet 5 years ago
Jeff Becker 3c0245f8b3
Merge remote-tracking branch 'github/master' into iwp-multi-ack 5 years ago
Jeff Becker 4bf6882c8a
more async cryptography 5 years ago
Jeff Becker 12314e8d00
ensure no crash on quit 5 years ago
Jeff Becker 5cdd92e2a3
remove more locking and make it safe 5 years ago
Jeff Becker 1adae338ce
Merge remote-tracking branch 'origin/master' 5 years ago
Michael edd0ec398f
Move thread stuff to subdirectory 5 years ago
Michael 4d8fe2a8a8
Move meta programming to subdirectory 5 years ago
Jeff Becker c01112e4b7
tracy lock contention testing and other fun things 5 years ago
Michael 094b697b01
Replace StatusObject with underlying JSON type 5 years ago
Michael 40aabd6d92
Use the right version of clang-tidy 5 years ago
Michael 0a1620aff2
make format 5 years ago
Michael 16cdfbd5f0
clang-tidy modernize pass 5 years ago
Michael 84601fa474
Make format 5 years ago
Michael d1990b5e93
Fix suspicious thread-unsafety 5 years ago
Jeff 10d7e7cb77
Merge branch 'master' into master 5 years ago
Michael c429f0cec9
Jeff's fixes 5 years ago
Michael a270fe5f33
fixup! Fix gcc trunk warnings 5 years ago
Michael f9e9227e19
Fix gcc trunk warnings 5 years ago
Michael 4763888d2c
Add fail-able docker build for gcc trunk 5 years ago
Rick V f6c97091fd
clang-format 5 years ago
Rick V 16096c6adb
add debug helper lib for core dump generation on all supported windows targets
had an epiphany earlier

i kept having problems with static linking because
i merged the GNU C runtime with the SEH library
instead of merging the latter with pthread
5 years ago
Jeff Becker aa0a795689
call path build fail stuff in logic thread 5 years ago
Jeff Becker 60fbeca9d4
const correctness 5 years ago
Jeff Becker db2206664a
fix crashes in testnet 5 years ago
Thomas Winget 697ece64cc make TransitHop self-destruct if path is invalidated 5 years ago
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
5 years ago
Thomas Winget bbb5339b33 add debug-level log message on path build success 5 years ago
Jeff Becker 7a3c8e5ca0
set limits correctly 5 years ago
Jeff Becker f48754c45d
make hop count and length configurable 5 years ago
Michael e52492911d
Refactor endpoint state management to a new class 5 years ago
Jeff Becker 1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun 5 years ago
Michael be997020dd
Fixup two minor warnings 5 years ago
Michael 488695047f
Remove redundant else blocks 5 years ago
Jeff Becker b9bcc2b775
make threadpool consice 5 years ago
Jeff Becker d6ec528a72
start work on seperating ips out of endpoint 5 years ago
Jeff Becker 64e9622270
start seperating tun and endpoint 5 years ago
Michael b6b400baef
Tidy up pathbuilder code 5 years ago
Michael 08609f9e5a
Rename message files 5 years ago
Michael 8a058fcb34
Move other messages 5 years ago
Michael 83bd9227a7
Move exit messages 5 years ago
Michael d6751e3eeb
Move subset of messages to right directory 5 years ago
Michael b89689fec3
Refactor path build code 5 years ago
Rick V c6c31efec9
make format 5 years ago
Jeff Becker 9ea13a9ee3
ingore paths that drop exit traffic 5 years ago
Jeff Becker 762a0c534f
Merge remote-tracking branch 'origin/master' 5 years ago
Michael 491fee206b
Port code to use CryptoManager over passing Crypto pointers 5 years ago
Jeff Becker 068fec82fb
set lifetime of paths 5 years ago
Jeff Becker 2897141036
make format and introduce new function EnsureRouter on router to check nodedb or do dht lookup 5 years ago
Jeff Becker a375f1103f
explicitly lookup router if not connected to it on LRCM forward. 5 years ago
Jeff Becker c77e0aff8a
only check for ready paths when counting in future 5 years ago
Jeff Becker 13190284f7
double path build timeout 5 years ago
Jeff Becker 64c7ed42fc
make format 5 years ago
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
5 years ago
Michael dd8a93a400
Apply rule of zero to code base 5 years ago
Jeff Becker a4e90ee769
hax to make it work. 5 years ago
Jeff Becker d3a98db267
don't resize frames 5 years ago
Jeff Becker f832c9a593
use shared_ptr 5 years ago
Jeff 06f8bb2f42 add blacklist-snode option 5 years ago
Jeff Becker ad019cab71
add changes for review 5 years ago
Jeff Becker 486042511c
log hops 5 years ago
Jeff Becker 540c2e1666
fix previous commit 5 years ago
Jeff Becker df322e1149
don't include duplicate hops in paths 5 years ago
Jeff Becker 9d466cd09d
pump only on send queue full and clear exit roles when closing exit 5 years ago
Jeff Becker b68f539de6
limit outbound connections 5 years ago
Jeff Becker 1d852a1e83
send exit close ack 5 years ago
Jeff Becker 7b03b63d13
more sighup code 5 years ago
Jeff Becker a53da68700
start work on sighup 5 years ago
Jeff Becker 744ebac579
only use ready paths 5 years ago
Jeff Becker 61d42811be
prevent crash 5 years ago
Jeff Becker 34533db620
add urgent build that builds over an existing path for an endpoint 5 years ago
Jeff Becker b9adf90fb9
remove random timer fuzz 5 years ago
Jeff Becker 6c17bf35b3
decrease minimum path build interval 5 years ago
Jeff Becker 5fa85acaf7
rebuild exit paths if they die 5 years ago
Jeff Becker 92ad98be8b
refactor hooks to be have more c++isms
make path build timeouts use log level warning
5 years ago
Jeff Becker d423ee02d2
use shared_ptr 5 years ago
Jeff Becker d50b18d7b0
try fixing leak also make format 5 years ago
Jeff 01906c5d94 Merge remote-tracking branch 'origin/master' 5 years ago
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
5 years ago
Michael 9ee525a006
Fix shadowing warnings 5 years ago
Jeff Becker af1529fa72
Merge remote-tracking branch 'origin/master' 5 years ago
Michael 4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 5 years ago
Jeff Becker 6711296b26
finish converting to shared_ptr 5 years ago
Jeff Becker 99c29cf05a
prepare for ios/android jazz
move to use std::shared_ptr instead of bare pointers so we can
multithread everything.
5 years ago
Jeff Becker 5872573e91
rename Logic and Crypto functions to GetLogic and GetCrypto 5 years ago
Jeff Becker a2912ff860
Merge remote-tracking branch 'origin/master' 5 years ago
Michael 98e691f315
Tidy up more parts of the service/ directory 5 years ago
Jeff Becker 36369abcb4
"better" (more vigorus) path building 5 years ago
Jeff Becker d5162c2aad
dont kill active exit paths 5 years ago
Michael e33a33635c
Remove usage of raw new from service classes 5 years ago
Jeff Becker 3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 5 years ago
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
5 years ago
Michael c39c931d03
Remove IStateful virtual inheritance 5 years ago
Jeff Becker 57dc6cc965
make bundling rc in path builds configurable on runtime 5 years ago
Jeff Becker 94eb37d490
bundle RC in build record to improve build success rates. 5 years ago
Jeff Becker 87ff9268da
if a router is connected it's fine given it's a boostrap 5 years ago
Jeff Becker a45d6db0e0
better profiling 5 years ago
Jeff 7a83f71713 re-animate paths 5 years ago
Jeff Becker 04a5db8789
call hook 5 years ago
Jeff Becker 6220fef2dc
select good first hops 5 years ago
Jeff Becker c910a2a2fb
more 5 years ago
Jeff 97b9c679b0 don't use bootstrap nodes for first hops in paths 5 years ago
Jeff Becker 965b0957ee
tweaks 5 years ago
Jeff Becker c23498925c
disable profiling on path fail 5 years ago
Jeff Becker 24e7151ff5
log and don't remove path on died 5 years ago
Jeff Becker b849ff9a94
handle path death better 5 years ago
Jeff Becker fcdef8d363
don't mark paths as dead after established 5 years ago
Jeff Becker d4cb6808ec
more 5 years ago
Jeff Becker 91298c4819
re-enable profiling 5 years ago
Jeff Becker 8a63533d1a
have service nodes maintain min connections
path building more robust selection
5 years ago
Jeff Becker db17b0fad5
disable profiling 5 years ago
Jeff Becker c63beae1c6
use std::min not std::max for linear backoff
ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyylmao
this was fucking dumb as shit
5 years ago
Jeff Becker ce126166af
more logging info 5 years ago
Jeff Becker 0369e42d5e
try harder to select hops 5 years ago
Jeff Becker dc36856922
try tweaking timeout 5 years ago
Jeff Becker 5d3833ef1a
fix dumb as shit path building that causes premature termiantion because of duplicate hops 5 years ago
Jeff Becker 6489ea2152
make it work 5 years ago
Jeff Becker df17866ff7
breaking protocol change, bundle source txid on outside of path transfer message. 5 years ago
Jeff Becker 2218749134
Merge remote-tracking branch 'origin/staging' into staging 5 years ago
Jeff Becker 6a09348c47
today's work 5 years ago
Jeff 1a09a12ee0
Merge branch 'staging' into absl_mutex 5 years ago
Jeff Becker 8331449ab9
update profiles on path build 5 years ago
Michael 61f3273dc4
Add threading annotations and fix potential deadlocks 5 years ago
Michael c5a129ddff
Convert to use abseil synchronisation primitives 5 years ago
Jeff Becker 71302ee48b
Merge remote-tracking branch 'origin/staging' into fix-libabyss-352 5 years ago
Jeff Becker f8d6becce8
make whitelist happy 5 years ago
Jeff db504e8044
Merge pull request #354 from despair86/dev
regression fixes
5 years ago
Rick V 975b4ca743
clang-format 5 years ago
Jeff Becker ef13ec7499
Merge remote-tracking branch 'origin/staging' into staging 5 years ago
Michael e4cf1f245c
Convert most of llarp to use Printer 5 years ago
Jeff Becker c626f7c9b7
revert 5 years ago
Jeff Becker 64f34dccc2
set transit started time
holy what the crap.
5 years ago
Michael 4fb2b39f74
Format changes 5 years ago
Michael 13a9f65520
Fully define interface for dht::Context 5 years ago
Jeff Becker 591f3c92a9
make build records smaller 5 years ago
Rick V 5a3947ca5c
clang-format 5 years ago
Jeff Becker 445ed05b32
make format 5 years ago
Michael 887fb4ac62
Replace insert(make_pair()) with emplace() 5 years ago
Michael 048fa83c39
Finish replacement of Router with AbstractRouter 5 years ago
Jeff Becker 46222df421
refactor 5 years ago
Jeff Becker 66753430ad
fix it 5 years ago
Jeff Becker e1522faeaa
add introspection rpc endpoint 5 years ago
Jeff 4c4f3faf83
Merge pull request #284 from michael-loki/abstract_router
Convert llarp::Router into an abstract base class
5 years ago
Jeff Becker 2f369a3399
dont send latency tests while building 5 years ago
Jeff Becker b40055181d
lower path build timeout to 15s
tweak various dns stuff
5 years ago
Michael 729cd045f1
Convert llarp::Router into an abstract base class 5 years ago
Jeff Becker be74589c41
remove logging 5 years ago
Jeff Becker 96006a061a
correct logging 5 years ago
Jeff Becker b76a227897
call path built hook AFTER latency is confirmed 5 years ago
Jeff Becker a953b34a45
fix crash 5 years ago
Ryan Tharp 4bf4faa956 make format 5 years ago
Michael 7ca3e13e78
Rename to ManagedBuffer 5 years ago
Michael 47380ba64b
Simplify some code 5 years ago
Michael f3b0af9d2f
Create CopyableBuffer type 5 years ago
Michael 2de621b0ad
Disable copy constructing llarp_buffer_t 5 years ago
Michael f24f554a01
Convert llarp::Crypto into an abstract base class 5 years ago
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
5 years ago
Michael 7296ebcbe8
Tidy dht code 5 years ago
Michael da6cdfc0b2
More refactoring to continue to make dependency graph acylic 5 years ago
Michael 79157414f3
Split crypto.hpp into 3 different files 6 years ago
Michael 04e0fe3ad7
Move crypto code to a subdirectory 6 years ago
Michael 081d4dfa32
Reorganise source into more folders 6 years ago