Stephen Shelton
f2a26adcaa
Move all [endpoint] options to [network]
4 years ago
Stephen Shelton
dd9ab0f1d5
Remove ability to have multiple endpoints/snodes from config
4 years ago
Stephen Shelton
2bc908cd40
Remove [dns]:local-dns in favor of [dns]:bind
4 years ago
Stephen Shelton
779658edd0
Refactor ExitEndpoint's config, mv dns ops from [network] to [dns]
4 years ago
Stephen Shelton
21ad442b55
Remove NetConfig_t
4 years ago
Stephen Shelton
df01770466
Rename SnappConfig -> EndpointConfig
4 years ago
Stephen Shelton
93b35c92a7
Eradicate service::Config
4 years ago
Jason Rhinelander
1697bf90fe
C++17
...
Compiles with C++17, replaces ghc::filesystem with std::filesystem,
nonstd::optional with std::optional, and llarp::string_view with
std::string_view.
4 years ago
Stephen Shelton
f8439dab61
Misc aesthetic tweaks
4 years ago
Stephen Shelton
526b1320b7
Some maybe-fixes for RouterHive post config cleanup
5 years ago
Jeff
54a7843bc5
Merge pull request #1186 from notlesh/config-cleanup-2020-03-13
...
Config cleanup
5 years ago
Jason Rhinelander
3c6aa002b8
Fix errors and warnings compiling on mac
5 years ago
Stephen Shelton
ca24f25665
Make fewer assumptions about config state
...
This handles values missing when config is created through RouterHive.
5 years ago
Stephen Shelton
de8e44ba21
Re-apply clang-format rules after rebasing
5 years ago
Stephen Shelton
be014175e9
Consolidate logging initialization logic
5 years ago
Stephen Shelton
6909e20588
Fix logging initialization and flush at program exit
5 years ago
Stephen Shelton
d3bcc05aa6
Organize some constants and default values
5 years ago
Stephen Shelton
91206725cb
Inject a default bootstrap file if none in conf
5 years ago
Stephen Shelton
7ea8d62640
Use fs::path over std::string for files
5 years ago
Stephen Shelton
4f77080f75
Remove optional<> from block-bogons
5 years ago
Stephen Shelton
adfcbd1d0b
Slight cleanup of k:v option maps
5 years ago
Stephen Shelton
6fd270ba09
Rip out link type spec and factory
...
We only support IWP now, so this is all effectively dead code.
5 years ago
Stephen Shelton
733efbab40
Reflect removal of accessors on config structs
5 years ago
Stephen Shelton
5b520a4dff
Simplify connection limit constants
5 years ago
Stephen Shelton
ffc58fcedb
Remove dead code (serverOptions)
5 years ago
Stephen Shelton
2e47262350
Demystify LinksConfig
5 years ago
Stephen Shelton
cd1e7713de
Clean up / consolidate config logging logic
5 years ago
Stephen Shelton
273270916e
The Great Wall of Blame
...
This commit reflects changes to clang-format rules. Unfortunately,
these rule changes create a massive change to the codebase, which
causes an apparent rewrite of git history.
Git blame's --ignore-rev flag can be used to ignore this commit when
attempting to `git blame` some code.
5 years ago
Jeff
d3091cf9fc
Merge pull request #1167 from tewinget/tooling
...
RouterHive initial PR
5 years ago
Stephen Shelton
ea835405c5
Refactor NotifyRouterEvent() to forward args, event code cleanup
...
This template-ifies Router::NotifyRouterEvent() up so that it accepts
the arguments to instantiate the specified event type, forwarding them
to std::make_unique. This would allow (in the future) the function to
no-op the call and avoid memory allocation. It also slightly reduces
the amount of code required to fire an event.
This commit also simplifies some of the RouterEvent code to reduce
redundancy.
5 years ago
Jeff Becker
5191af1525
typo fix
5 years ago
Jeff Becker
5d86587aab
typo fix
5 years ago
Jeff Becker
bce5cd7b0f
add additional case check and documentation comments for pruning logic
5 years ago
Jeff Becker
b3f2c71617
add comment
5 years ago
Jeff Becker
d8da3f0a83
simplify logic
5 years ago
Jeff Becker
327ab6f178
prune nodedb as client and service node with no whitelist
5 years ago
Thomas Winget
84a1d7dbcc
clang format.......
5 years ago
Rick V
b449e03f43
So as of GCC 9.2, std::random_device on Windows is RtlGenRandom()
...
....which is precisely the thing i patch out in libsodium to use CryptoAPI
documented interfaces instead (which fall through to RtlGenRandom() on
such devices _anyway_)
we can just use libsodium directly, i happened to patch it out in libstdc++
as a side effect (since my local toolchain can target any version of windows)
5 years ago
Thomas Winget
6d472d2423
rc gossip delay adjustment for hive
...
allows enough time for every relay (at least in a hive of 50) to connect
to the bootstrap node so all will get all gossips, but not too long so
tests can run relatively quickly.
5 years ago
Jeff Becker
08de84d40b
remove non public routers from nodedb
5 years ago
Thomas Winget
6fc05ca1ff
RCGossipSentEvent
5 years ago
Thomas Winget
a58a8c9a61
hive.py now defaults to 1000 relays because f your box.
...
also check for error on uv_async_init...
may want to `ulimit -Sn $(ulimit -Hn)`...
5 years ago
Thomas Winget
c8c66f0a5f
some refactoring of tooling code, added RCGossipReceivedEvent
5 years ago
Jeff Becker
877443d95c
more introspection code
5 years ago
Thomas Winget
931ff521d1
working toward full testnet of routers (not clients yet) in hive/pybind setup
...
Not working yet -- some sort of RC issue. Checkout the commit prior to this if you want something that 'works' that you can play with.
5 years ago
Thomas Winget
0f34a950a9
pybind config object, working
5 years ago
Thomas Winget
f712acc486
huzzah it builds, time to test soon!
5 years ago
Jeff Becker
da79b14703
make it compile
5 years ago
Thomas Winget
8dc5dabe49
working toward compilation, still has include issue
5 years ago
Thomas Winget
8d03e6dd3c
more router hive stuff, read below the fold
...
Router now has a hive pointer if LOKINET_HIVE is set.
llarp::Context has a method InjectHive to give Router the pointer.
Router has a method NotifyRouterEvent which does:
- when LOKINET_HIVE is set, passes the event to RouterHive
- else when LOKINET_DEBUG is set, prints the event at a low log level
- else NOP
5 years ago
Jeff Becker
61ffbc0643
std::vector reserve does not resize
5 years ago
jeff
49e69d7087
remove uneeded code
5 years ago
Jason Rhinelander
df7a173649
Shorten version and prefix with v
...
So we get `v0.7.0` instead of `lokinet-0.7.0-abcdef12`; the latter is
useful for devs, but not so much for random operators (and you can
always go get the full version from the binary).
5 years ago
Jason Rhinelander
d5eed90a3c
Fix systemd compilation & enable systemd on travis
5 years ago
Jeff Becker
66181d8a8f
systemd status
5 years ago
Jeff Becker
bf0416cab8
remove Time_t, add operator overload for printing llarp_time_t and add to_json function for serializing llarp_time_t to json
5 years ago
Jeff Becker
d2d109e92c
llarp_time_t is now using std::chrono
5 years ago
Jeff Becker
f4520ac920
make decaying hashset use llarp::Time_t and move unit tests to use catch2
5 years ago
Jason Rhinelander
089056ca5b
Remove all ABSL_ATTRIBUTE_UNUSED uses
5 years ago
Jason Rhinelander
5c95971335
Make C++ literals available everywhere in `llarp`
5 years ago
Jason Rhinelander
f84ce61d66
Removed empty cpp files
...
These aren't needed: CMake already knows how to follow #includes and
rebuild when headers change as long as the headers are included
*somewhere*. The extra .cpp files here just require building a bunch of
.cpp files with just header content that we just end up throw away
during linking (since the same things will also be compiled in whatever
other compilation units include the same headers).
5 years ago
Jason Rhinelander
b4440094b0
De-abseil, part 2: mutex, locks, (most) time
...
- util::Mutex is now a std::shared_timed_mutex, which is capable of
exclusive and shared locks.
- util::Lock is still present as a std::lock_guard<util::Mutex>.
- the locking annotations are preserved, but updated to the latest
supported by clang rather than using abseil's older/deprecated ones.
- ACQUIRE_LOCK macro is gone since we don't pass mutexes by pointer into
locks anymore (WTF abseil).
- ReleasableLock is gone. Instead there are now some llarp::util helper
methods to obtain unique and/or shared locks:
- `auto lock = util::unique_lock(mutex);` gets an RAII-but-also
unlockable object (std::unique_lock<T>, with T inferred from
`mutex`).
- `auto lock = util::shared_lock(mutex);` gets an RAII shared (i.e.
"reader") lock of the mutex.
- `auto lock = util::unique_locks(mutex1, mutex2, mutex3);` can be
used to atomically lock multiple mutexes at once (returning a
tuple of the locks).
This are templated on the mutex which makes them a bit more flexible
than using a concrete type: they can be used for any type of lockable
mutex, not only util::Mutex. (Some of the code here uses them for
getting locks around a std::mutex). Until C++17, using the RAII types
is painfully verbose:
```C++
// pre-C++17 - needing to figure out the mutex type here is annoying:
std::unique_lock<util::Mutex> lock(mutex);
// pre-C++17 and even more verbose (but at least the type isn't needed):
std::unique_lock<decltype(mutex)> lock(mutex);
// our compromise:
auto lock = util::unique_lock(mutex);
// C++17:
std::unique_lock lock(mutex);
```
All of these functions will also warn (under gcc or clang) if you
discard the return value. You can also do fancy things like
`auto l = util::unique_lock(mutex, std::adopt_lock)` (which lets a
lock take over an already-locked mutex).
- metrics code is gone, which also removes a big pile of code that was
only used by metrics:
- llarp::util::Scheduler
- llarp:🧵 :TimerQueue
- llarp::util::Stopwatch
5 years ago
Thomas Winget
74d421ac2d
PathBuildNumber -> NextPathBuildNumber because increment side-effect
5 years ago
Thomas Winget
fc56a018e5
path builder prints hops, rest print short name
5 years ago
Jason Rhinelander
6a8d4aca38
Fix signed/unsigned comparison warning and make more std::chrono-y
5 years ago
Jeff Becker
837998eb88
rename variable
5 years ago
Jeff Becker
28561cd654
use Time_t
5 years ago
Jeff Becker
96c5553e34
rename variables
5 years ago
Jeff Becker
434ce56553
* get rid of dht explore for service nodes
...
* add Time_t using std::chrono for future uses
* make decaying hashset constructor with llarp_time_t explicit
* add decaying hashset implicit constructor using Time_t
* add timeouts for gossiper replay
* allow regossip of our RC
5 years ago
Jeff Becker
154be464ea
rc gossiping
5 years ago
Jeff Becker
7ad47f2dba
* get rid of dht explore for service nodes
...
* add Time_t using std::chrono for future uses
* make decaying hashset constructor with llarp_time_t explicit
* add decaying hashset implicit constructor using Time_t
* add timeouts for gossiper replay
* allow regossip of our RC
5 years ago
Jeff Becker
ea3851d15f
rc gossiping
5 years ago
Jeff
1403cff805
Merge pull request #1079 from majestrate/remove-dht-message-limit-2020-02-03
...
make message queue unbound for direct dht messages
5 years ago
Stephen Shelton
bc3184a126
s/LogInfo/LogDebug/ @ explore message
5 years ago
Jeff Becker
80f8363386
don't drop messages with pathid zero which belong to snode to snode dht and path build requests.
5 years ago
Jeff Becker
9efd796145
initial wack at 0.7.0 dht fixes
5 years ago
jeff
816070be62
dont inherit std::array
5 years ago
jeff
f728e6016b
router version
5 years ago
Jeff Becker
b280bac141
don't always use bootstrap when exploring
5 years ago
Jeff Becker
3b66cf6e75
dht fixes, disable iterative lookups on clients, revert "fixes" from 0.6.3, pass in recursion depth from introset lookup
5 years ago
Stephen Shelton
fba12093ac
Remove dead code (AbstractRouter::EnsureRouter())
5 years ago
Jeff Becker
1165466d56
don't deadlock when we want to remove lots of paths, flush queue instead when full
5 years ago
Jeff Becker
12899701c5
inform congestion on tail drop
5 years ago
Jeff Becker
860891b6a6
tail drop
5 years ago
Jeff Becker
4185d47d4b
link layer message priority
5 years ago
Jeff Becker
c3f99e1b5c
make format
5 years ago
jeff
79fd08e559
fix typo
5 years ago
jeff
4a761be52d
use std::chrono
5 years ago
Jeff Becker
fe148f7823
merge conflict fix
5 years ago
Jeff
493213717f
Merge pull request #1054 from notlesh/message-queue-stats-2020-01-17
...
Include outbound message queue stats in dumpState API response
5 years ago
Stephen Shelton
3cf4bd8f97
Lookup routers at maximum frequency of 10 minutes
5 years ago
Stephen Shelton
698dddc151
Use std::max() and make format
5 years ago
Stephen Shelton
5c518d6586
Include outbound message queue stats in dumpState API response
5 years ago
Stephen Shelton
169ece08e8
Fix HaveReceivedWhitelist() typo
5 years ago
Jason Rhinelander
ba89df40c8
Merge pull request #1041 from notlesh/dht-fixes-cleanup
...
Dht fixes cleanup
5 years ago
Jason Rhinelander
eadfeefafc
Merge pull request #1038 from majestrate/dht-disable-iterative-lookup-2020-01-14
...
disable iterative behavior in DHT
5 years ago
Stephen Shelton
fbb274a724
Make format (mutter mutter)
5 years ago
Stephen Shelton
8206557ac7
Don't respect whitelist when we haven't received it yet
5 years ago
Stephen Shelton
08149112b2
Randomize routers to explore in ExploreNetwork()
5 years ago
Jeff Becker
6fd714d193
contrib/testnet: fix up testnet config generator to make super centralized topology
...
llarp/context.cpp, llarp/nodedb.{h,c}pp: load netdb AFTER whitelist
llarp/router/router.cpp: explore always
llarp/router/{i,}rc_lookup_handler.{h,c}pp explore with whitelist, update routers with lookup before stale
5 years ago
Jeff Becker
b56a3528db
periodic nodedb flush
5 years ago
Jeff Becker
37b11614d0
if select_random_hop_excluding returns false we should probably break anyways so do that
5 years ago
Jeff Becker
9f153f12e0
actually connect to random routers
5 years ago
Jeff Becker
a3e7324e9a
make it compile
5 years ago
Jeff Becker
c3b14b32b4
relays do profiling and not hand out "shit" routers in explore
5 years ago
Jeff Becker
e5f92eaa79
only ping lokid if a service node
5 years ago
Jeff Becker
52b13b9f1e
typo fix
5 years ago
Jeff Becker
55e27d36e5
* only profile as client
...
* only explore churn as relay
5 years ago
Jeff Becker
79badd6714
* clients expore dht faster
...
* use random path when doing dht lookups for .loki
5 years ago
Jeff Becker
a8e6069a93
enable profiling by default
5 years ago
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.
5 years ago
Jason Rhinelander
638fb25b47
Put version info into a compiled file
...
This rewrites the version info using lokid's approach of compiling it
into a .cpp file that gets generated as part of the build (*not* during
the configure stage).
Among other things, this means that changing the version no longer
invalidates ccache or cmake dependencies, and because it depends on
`.git/index` git commits will cause the version to be regenerated,
making the commit tag more reliable (currently if you rebuild without
running cmake your git commit tag doesn't update).
5 years ago
Jeff Becker
c9d38d421b
clang fixes
5 years ago
Jeff
22e9223e74
Merge pull request #955 from jagerman/remove-unused-arg
...
Remove unused argument
5 years ago
Jason Rhinelander
6f92ac9c2b
Remove unused argument
...
Fixed a compiler warning about an unused argument, plus the argument
legitimately appears unused/obsolete now.
5 years ago
Jeff Becker
950006c036
reduce log levels at runtime
5 years ago
Jeff Becker
f56e543d75
add deadlock checker and revert bencode change from long ago
5 years ago
Jeff Becker
2eabe98d9b
add systemd watchdog if enabled on compile time
5 years ago
Jeff Becker
eb87189514
try fixing router lockup
5 years ago
Jeff
1396b7b857
Merge branch 'dev' into bootstrap-list-2019-12-06
5 years ago
Stephen Shelton
2c6226f54a
Backup SNApp keys when migrating to new ed25519 crypto
5 years ago
Jeff Becker
0afb3b320b
add bootstrap list functionality and utility
5 years ago
Stephen Shelton
11410a2748
Avoid trivial getters/setters in KeyManager
5 years ago
Stephen Shelton
66a058a2af
Make format
5 years ago
Stephen Shelton
23fc2ad042
Init key manager before InitOutboundLinks are configured
5 years ago
Jeff
27b1e36039
Merge pull request #936 from majestrate/dev
...
last changes before 0.6.0 version bump
5 years ago
Stephen Shelton
af2259db5f
Move lokid key API request to KeyManager
5 years ago
Stephen Shelton
49e248bfc1
Fix bad merge
5 years ago
Stephen Shelton
93b8832026
Merge branch 'dev' into private-keys-backup-support
5 years ago
Stephen Shelton
521ef9b5bb
Handle link transport key in KeyManager
5 years ago
Jeff Becker
01b24c7090
limit connections
5 years ago
Jeff
b08897a214
Merge pull request #935 from jagerman/logic-thread-fixes
...
Logic thread fixes
5 years ago
Jeff Becker
3c85691f81
limit calls to pumpll such that it gets called fast enough but not too much under load
5 years ago
Stephen Shelton
a0699ad229
Undo adding of crypto version to RouterContact, other fixes
5 years ago
Jeff Becker
098915bb8e
add check for identity key validity
5 years ago
Jeff Becker
5868a25fcc
clear response between tries
5 years ago
Jeff Becker
d685057754
update readme and disable curl on windows
5 years ago
Jeff Becker
d12c75ce1e
move sleep
5 years ago
Jeff Becker
61b75828f0
sleep
5 years ago
Jeff Becker
3878ebd534
use curl to fetch from lokid rpc the identity key
5 years ago
Stephen Shelton
e8e2e21fa2
Reorganize priv key file loading a bit and hook KeyManager into Router
5 years ago
Jeff Becker
cbb7196b30
fix "zero hop" bug
5 years ago
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs
5 years ago
Jeff Becker
eb6d042e73
make sure all calls of logic thread jobs are not having contention
5 years ago
Jeff Becker
d7f09a365d
contention killer
5 years ago
Stephen Shelton
fd02e3e149
Stub out KeyManager class
5 years ago
Thomas Winget
5ce6ed5134
fixes some logical errors in per-path queues
5 years ago
Thomas Winget
17de3f2478
do...while; make format; remove erroneous GUARDED_BY
5 years ago
Thomas Winget
12adff570d
fix seg fault, fix uninitialized static member
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
8d44eefead
make router give time directly
5 years ago
Jeff Becker
7ee026fa50
make path builds work again
5 years ago
Jeff Becker
0d89f1170b
make it compile
5 years ago
Jeff Becker
c9f26c4911
call Router::PumpLL after every batch of packets from a link session
5 years ago
Jeff Becker
90f523881a
try interchanging pump order
5 years ago
Jeff
3a6c16aa36
Merge pull request #871 from majestrate/ed25519-signing
...
Ed25519 signing
5 years ago
jeff
869ab0b652
Merge remote-tracking branch 'upstream/dev' into vpn-api-2019-10-03
5 years ago
jeff
265da6f37b
use get_service_nodes rpc endpoint
5 years ago
Stephen Shelton
b1da46e521
Add numNodesKnown to llarp.admin.dumpstate RPC endpoint
5 years ago
jeff
58a25602f5
more fixes, implemenmt missing functions
5 years ago
jeff
7d7c6bf38c
Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography
5 years ago
Michael
f326c93b5b
Apply Jeff's comments
5 years ago
jeff
52757fef0e
Merge remote-tracking branch 'micheal/background_mode' into vpn-api-2019-10-03
5 years ago
Michael
15cb49c9bd
Introduce --background to only start JSON RPC
...
fixes #853
5 years ago
jeff
1853b28590
remove libutp and all such code related to utp
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
ac2a2aed1d
gut libutp and finish making things compile and pass tests
5 years ago
Jeff Becker
da6a3bf9bb
Merge remote-tracking branch 'origin/master' into iwp-multi-ack
5 years ago
Jeff Becker
d54dc7a988
prune dht peers every router tick
5 years ago
Jeff Becker
fd787cc56d
try more ranges
5 years ago
Jeff Becker
61ade40a51
reduce logging and make format
5 years ago
Jeff Becker
e3bb59707e
more
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
Rick V
8daaab5f6a
fix
5 years ago
Rick V
ef6f62cc04
some people set the netid explicitly, and set it to default anyway
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
0950571313
Move metrics to subdirectory
5 years ago
Michael
4d8fe2a8a8
Move meta programming to subdirectory
5 years ago
Michael
1aec0dfa2b
Move logging to subdirectory
5 years ago
Jeff Becker
c01112e4b7
tracy lock contention testing and other fun things
5 years ago
Jeff Becker
444d832b7c
correct constructors on llarp_buffer_t and check rc on regen
5 years ago
Jeff Becker
ba2aaa68c6
add short data fragments and rx replay filter
5 years ago
Jeff Becker
b5402dc6c3
Merge remote-tracking branch 'origin/master' into iwp-redux
5 years ago
Jeff Becker
0241851b72
add likn layer delivery timeout notification for iwp
5 years ago
Michael
70937ab503
Fix docker-compose isolated network
5 years ago
Jeff Becker
acf5f78949
update iwp , add NACK
5 years ago
Jeff Becker
3c3338e801
Merge remote-tracking branch 'origin/master' into memlink
5 years ago
Michael
094b697b01
Replace StatusObject with underlying JSON type
5 years ago
Jeff
ecf3c37d2e
Merge pull request #768 from majestrate/sane-limits
...
Sane limits
5 years ago
Jeff Becker
c14993bc56
use llarp::path::default_len to inform how many routers we need
5 years ago
Michael
16cdfbd5f0
clang-tidy modernize pass
5 years ago
Jeff Becker
4f98535f84
more
5 years ago
Jeff Becker
a1fff96a1b
limit connections in outbound session maker
5 years ago
Jeff Becker
efa61f324f
include header
5 years ago
Jeff Becker
2345dd3239
try adding proper limits
5 years ago
Michael
d1990b5e93
Fix suspicious thread-unsafety
5 years ago
Jeff Becker
c1f33bb1ac
initial mempipe implementation
5 years ago
michael-loki
d6f2a1954f
Merge pull request #756 from michael-loki/fix_deadlock_on_error
...
Fix a deadlock when link fails to establish
5 years ago
Michael
be211926cf
Fix a deadlock when link fails to establish
5 years ago
Jeff
fc64b83c13
Merge pull request #752 from majestrate/master
...
always regen expired rc
5 years ago
Jeff Becker
70ddc84d3a
always regen expired rc
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
Jeff
af74ee6f70
Merge pull request #737 from majestrate/add-link-layer-delivery-feedback
...
Add link layer delivery feedback
5 years ago
Jeff
c08f8361a3
Merge pull request #732 from tewinget/path-build-status-messages
...
Adds Link-Relay Status Messages
5 years ago
Jeff Becker
835b334a59
* increase utp buffers
...
* disallow inbound traffic on outbound utp link
* const correctness
5 years ago
Jeff Becker
16e6ab2193
propagate all utp link errors
5 years ago
Jeff Becker
503bea19cd
make travis happy
5 years ago
Jeff Becker
822f529be8
add link layer delivery feedback
5 years ago
Jeff Becker
972d4f8672
fix crash of clients and propagate lookup failures
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
011abde5ec
make travis happy again *and* don't break message sending
5 years ago
Thomas Winget
af2c960867
revert change that made travis happy because it broke things
5 years ago
Thomas Winget
5e0fc2bc71
change log level of message send success
5 years ago
Thomas Winget
baf8019fe5
Refactor Router code into more classes
...
This commit refactors functionality from the Router class into separate,
dedicated classes.
There are a few behavior changes that came as a result of discussion on
what the correct behavior should be.
In addition, many things Router was previously doing can now be provided
callback functions to alert the calling point when the asynchronous
action completes, successfully or otherwise.
5 years ago
Jeff Becker
a0f32fde13
reduce logging
5 years ago
Jeff Becker
4cc0c9b4d1
unconditional insert so that we dont run out of peers
5 years ago
Jeff Becker
c4ca61b76a
use static lookup timeout
5 years ago
Jeff Becker
86aabff256
only update if newer
5 years ago
Jeff Becker
b0d850afb5
durable write for nodedb
5 years ago
Jeff Becker
16e20a9e79
try fixing bootstrap
5 years ago
Jeff Becker
9a2ffb85e6
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
0d0efe7007
try bailing when configration failed
5 years ago
Jeff Becker
4e4c0b85ce
change order of configuration
5 years ago
Jeff Becker
6882e627ba
make format
5 years ago
Jeff Becker
1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
fcc3c05124
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Michael
488695047f
Remove redundant else blocks
5 years ago
michael-loki
0cd9b4c380
Merge pull request #687 from michael-loki/config_env
...
Allow environment variable override of config
5 years ago
Jeff Becker
5460cb5aa6
* pump after stopping hidden service context
...
* flush nodedb after stopping links
5 years ago
Jeff Becker
454fb3bb72
use logical or instead of bitwise or
5 years ago
Jeff Becker
ec6a1cfddc
make it compile
5 years ago
Jeff Becker
8ac9ef6f18
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
b9bcc2b775
make threadpool consice
5 years ago
Michael
b01e5accbb
Add function to set threadname, and use from threadpool impl
5 years ago
Michael
3ce90b678e
Allow override of the rest of the config
5 years ago
Michael
fbb83704a0
Allow override of some config via env variables
5 years ago
Michael
08d306f6e9
Have fromSection return void
5 years ago
Michael
937f28f75d
Move router config to be encapsulated
5 years ago
Jeff Becker
0eb6431eb1
initialize tun with 0 and set defaults in correct places
5 years ago
Jeff Becker
58005c5f81
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Michael
6418c67f75
Set netid before doing anything else
5 years ago
Michael
661a8b6537
Fix macos build after rebase
5 years ago
Michael
f310160065
Fixup and add tests
5 years ago
Michael
a2326efa37
Revert "Merge pull request #679 from tewinget/revert-config-refactor"
...
This reverts commit 2996a7f29c
, reversing
changes made to 10df3bd4b3
.
5 years ago
Jeff Becker
c4aaa80e75
use sane defaults and deprecated "auto" as it's horribly bad style
5 years ago
Jeff Becker
ec1910b8ca
remove threadpool.hpp
...
make link layer not use null lock and null mutex
5 years ago
Jeff Becker
fc8f58822c
remove threadpool.hpp
...
make link layer not use null lock and null mutex
5 years ago
Thomas Winget
d044d60101
Reverts #678 #677 and #669 with hashes:
...
10df3bd
766ece8
979f095
See those commits for further details
5 years ago
Jeff Becker
191ebe32ce
actually set config for network
5 years ago
Jeff Becker
a82be1d040
disable rpc by default
5 years ago
Michael
b51f7d8015
Convert to load config in config loader
5 years ago
Michael
00c237dc6d
Move config class to its own dir
5 years ago
Jeff Becker
ef50c726b1
better logging
5 years ago
Jeff Becker
5eb7ec493f
do direct lookup when in endgame scenario as client when looking for router
5 years ago
Jeff Becker
a225759c0f
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
eaab454e80
track drop in metrics
5 years ago
Jeff Becker
4e355327d8
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
3038a13373
explore faster via all peers
5 years ago
Jeff Becker
228afcec7e
only kill rcs as client
5 years ago
Jeff Becker
5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun
5 years ago
Jeff Becker
f56273eb6a
fix comparision
5 years ago
Michael
68063b320c
Rename InboundMessageParser to LinkMessageParser
5 years ago
Michael
b89689fec3
Refactor path build code
5 years ago
Jeff Becker
aadde2e9c6
save all nodedb entries in memory on exit
5 years ago
Jeff Becker
389c414ee3
add handover window to router contact updating
5 years ago
Jeff Becker
6ae9cf8c2e
store looked up routers
5 years ago
Michael
95646d2d87
Publish metric tags
5 years ago
Jeff Becker
6714b06470
json logging option
5 years ago
Jeff Becker
bbeda7c014
use timetamps
5 years ago
Jeff Becker
9ec41b8831
update RC expiration logic, lookup more often and remove stale entries
5 years ago
Jeff Becker
223f2702d3
Merge branch 'fix-big-ooooofff'
5 years ago
Jeff Becker
a33dbce680
try switching logic
5 years ago
Jeff Becker
92f8c059e9
please don't work
5 years ago
Jeff Becker
802fda4a1a
please don't work
5 years ago
Jeff Becker
c2803e3020
fix
5 years ago
Jeff Becker
cacc73db7b
add rc expiration (again)
5 years ago
Michael
75430a234c
Convert to use memFn
5 years ago
Jeff Becker
9deafa4cb8
use libuv
5 years ago
Jeff
674f272a46
Merge pull request #630 from majestrate/master
...
recent stability stuff
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
2897141036
make format and introduce new function EnsureRouter on router to check nodedb or do dht lookup
5 years ago
Jeff Becker
9c15f87da1
uncomment
5 years ago
Jeff Becker
a375f1103f
explicitly lookup router if not connected to it on LRCM forward.
5 years ago
Jeff Becker
fbf9b06685
* don't lookup routers in sendtoorqueue
...
* don't lookup routers that are not public when committing
5 years ago
Jeff Becker
5f55e53331
prefer inbound links over outbound links
5 years ago
Jeff Becker
72dbbd53d6
update docs and discard pending traffic on connect timeout to prevent memleak
5 years ago
Michael
3f53965b71
Remove all use of IBEncodeMessage
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
Jeff
65766a501f
Merge pull request #610 from michael-loki/more_thread_pool
...
Convert more things to use thread::ThreadPool
5 years ago
Michael
b11bd01637
Drain diskworker pool on close
5 years ago
Michael
636bb2a17d
Convert router diskworker to use a modern ThreadPool
5 years ago
Michael
19578fa8fc
Fix ASAN build
5 years ago
Jeff Becker
a4e90ee769
hax to make it work.
5 years ago