Commit Graph

3581 Commits (c20d5b186d849c269e9d018f6daadbe5f90e9ed4)

Author SHA1 Message Date
Rick V c9f2f90e13
move these out of the way 5 years ago
Rick V 9b0ec0935a
bump for next release 5 years ago
Rick V 8e9842f4b2
bindaddr a common field on the machine-independent side 5 years ago
Rick V db0920d921
use backport fork for release installer only
move all invariant assets to common repo

remove ded code, libuv patches can be swapped in at build time for debug/release builds
5 years ago
Rick V b4d6f89452
try extracting dns bind addr from INI on windows 5 years ago
Jeff abff5c35cb
Merge pull request #1160 from majestrate/dns-rebinding-fix-2020-03-04
add llarp.admin.die rpc call to gracefully kill router
5 years ago
Jeff Becker 99c814e6b0
fix dns rebinding vuln in jsonrpc 5 years ago
Jason Rhinelander 3b0927ce13
Merge pull request #1140 from despair86/cmake-cleanup
some light cmake cleanup for win32
5 years ago
Jason Rhinelander a78a7fbb17
Merge pull request #1158 from majestrate/prune-routers-2020-03-03
Prune non routers from nodedb
5 years ago
Jason Rhinelander 6707037909
Merge pull request #1157 from majestrate/fix-systemd-status-2020-03-03
fix status line
5 years ago
Thomas Winget 695784b2b6 more hive things
DHT PubIntroSentEvent
some helper functions added to RouterHive (C++ class) as well as RouterHive(Python class)
hive.py main() continues to be a testbed for new event types
some more internal classes in pybind
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
Jason Rhinelander c87fd66386 Fix lookup filter to filter second, not first, lookup 5 years ago
Jeff Becker 08de84d40b
remove non public routers from nodedb 5 years ago
Thomas Winget 6fc05ca1ff RCGossipSentEvent 5 years ago
Thomas Winget f01624d10a 2ms between hive router spin-up instead of 20ms 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
Thomas Winget 88c80dc2ee add cxxopts to shared_lib dependencies 5 years ago
Thomas Winget df0380e746 LRSM RouterEvent, added to hive test and test passes. 5 years ago
Thomas Winget 771d0b4489 hive pytest framework in place (and path build test works)! 5 years ago
Thomas Winget 04c1f67f78 more structure to python hive code 5 years ago
Thomas Winget ee7b7e917d hive can now instantiate and start relays/clients separately 5 years ago
Thomas Winget 2bbb274131 superfluous class declaration 5 years ago
Stephen Shelton 4741d81051 Add GotIntro event to RouterHive 5 years ago
Thomas Winget 68c1ae52b3 add ShortHex function to AlignedBuffer 5 years ago
Thomas Winget 341d03bcf8 changes 5 years ago
Jeff Becker e7689b40a7 dht pub intro message router event thiny doo 5 years ago
Thomas Winget 5672c42f20 RouterEvent::ToString in parent class 5 years ago
Thomas Winget a9882ad475 PathRequestReceivedEvent implemented 5 years ago
Thomas Winget c9a278c0de some more changes to pybind/hive code, read below
hive.py is currently largely for testing the pybind stuff, so changes to it will likely
be frequent and arbitrary for now.

Added pybind for llarp::path::PathHopConfig, but not every member -- just rc and upstream routerID

Hive now uses std::queue with mutex instead of our lockless queue.

Removed some functions from Hive that will not be necessary as things are being handled from python.
5 years ago
Thomas Winget 5cf35769b4 don't have python try to intercept stdout/stderr 5 years ago
Jeff Becker 32dbe6b1ad more shiz 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 1e04decb66 can ping on lokinet running in python context! 5 years ago
Thomas Winget 5e498e962f working on more pybinds 5 years ago
Thomas Winget 0f34a950a9 pybind config object, working 5 years ago
Thomas Winget 9b3bf833e0 revert nop logging -- un-revert later 5 years ago
Thomas Winget a5c2b369b7 nop logging on hive build for now
a bunch of routers logging to stdout at the same time is a complete
charlie foxtrot.  until we take the time to make logger not a singleton
(and probably make each router able to log to its own file rather than stdout)
just make it not log.

Note: this is very temporary, as the logs will be annoying for testing the
pybind stuff and shouldn't be necessary for debugging it
5 years ago
Thomas Winget 0007996fde using instead of typedef 5 years ago
Jeff Becker a5dc41b049 OMG IT DOES STUFF :DDDDDD 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
Jeff Becker 26c1670af7 make it compile 5 years ago
Jeff Becker 35bea37fd1 make it compile 5 years ago
Jeff Becker 1fdb8b4c94 initial pybind11 introspection code 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 add305b9f4
use size / 2 as the number of transit paths 5 years ago
Jeff Becker 05082e2507
fix status line 5 years ago
Rick V 4cd7a22ca3
fix libsodium cross compile 5 years ago
Jeff Becker 61ffbc0643
std::vector reserve does not resize 5 years ago
Stephen Shelton 321314b456
Remove re-propagation of introsets when we are wrong candidate 5 years ago
Jeff Becker 32e768d7dd
change log 5 years ago
Jeff Becker d4ccf895e3
Merge branch 'fix-up-introset-lookup-fails-2020-03-02' of ssh://github.com/majestrate/loki-network into fix-up-introset-lookup-fails-2020-03-02 5 years ago
Jeff Becker 79746e3719
remote lookup limiting of 500ms per address 5 years ago
Stephen Shelton 9be8050854
Make format 5 years ago
Stephen Shelton 886a981997
Consolidate introset publishing constants 5 years ago
Jeff Becker a09bb89d15
dont put multiple outbound contexts 5 years ago
Jeff Becker d3f222ddcc
revert relay side dedup parameter 5 years ago
Stephen Shelton bbee45118e
Remove redundant lookup logic from relays 5 years ago
Jeff Becker 158a9018f3
rename variable 5 years ago
Jeff Becker 9ff31f6402
spelling is hard 5 years ago
Jeff Becker 8f4362f092
fix up introset lookups 5 years ago
Jason Rhinelander 806d43c34e
Merge pull request #1147 from notlesh/diagnose-pubintro-round2-2020-02-28
Diagnose pubintro round2
5 years ago
Jason Rhinelander d46a880150
Merge pull request #1145 from majestrate/remove-convotags-right-away-2020-02-27
Remove convotags right away when outbound context dies
5 years ago
Jason Rhinelander b60adc909d Make IntroSet publish confirmed less verbose
Essentially just rate limit the confirmation message to one message per
second.
5 years ago
Jason Rhinelander cfee824a79 Don't republish when we have extra paths
This caused some unwanted behaviour:

- on initial startup we often get two publishes in quick succession
because we're publishing and building paths at the same time

- at the 10m mark we enter a publish loop every 5 seconds because we
have paths with lifetimes < 10min that was triggering this condition,
and yet those paths will never actually be included in the introset
because they are expiring in <10m.
5 years ago
Jason Rhinelander c0eb0c4db4 Avoid unnecessary copy 5 years ago
Jeff Becker 45fa9bebbc
wrong txid 5 years ago
Jeff Becker e3b5fb4dd9
add local publish intro message to send reply down path 5 years ago
Jason Rhinelander 58fe7ac801 De-static constants
We don't need separate copies of these per compilation unit.
5 years ago
Jason Rhinelander 823c17206f Add min intro set paths, slightly increase spread speed
This should ensure that we have enough shortly after startup for initial
path builds.

The spread speed here gets slightly increased to lifetime/5 (=4min)
instead of lifetime/4 (=5min) so that our "normal" number of paths is 5
with occassional momentary drops to 4, but should always keep us >= the
new minimum of 4.

Because the path spread happens over time, this shouldn't result in a
rebuild of several paths: we'll build 4 quickly, then another at +4m,
another at +8m, etc.  When the initial 4 expire, we'll be dropping from
9 to 5 established but that's still above the minimum (4) so we won't
need to reconnect to several at once, and the spread builds should keep
us at 5 all the time.
5 years ago
Jeff Becker 5b075259e6
revert 5 years ago
Jeff Becker b4a59a0b1a
make format 5 years ago
Jeff Becker dd21cba1fe
dedup via txid not keyspace location 5 years ago
Jason Rhinelander 76608b6b90 Logic simplification 5 years ago
Jason Rhinelander 27b8743107 Add warns for introset publish failures 5 years ago
jeff f76b9f3042 make format 5 years ago
jeff 49e69d7087 remove uneeded code 5 years ago
Stephen Shelton 2ebd9bbd95
Implement PublishServiceJob::SendReply() 5 years ago
Stephen Shelton 638ea2e0fd
Make format 5 years ago
Stephen Shelton d09fd13dd6
Calculate 'candidateNumber' when we should store Introset 5 years ago
Stephen Shelton 37ca564005
Log when DHTSendTo fails @ Router::SendToOrQueue 5 years ago
Stephen Shelton 62014de91c
Handle PubIntro relayOrder logic on client-side 5 years ago
Stephen Shelton 61d19179f7
Remove dead code 5 years ago
Stephen Shelton a8623f09e9
Properly deserialize PubIntroMessages' relayed var 5 years ago
Stephen Shelton c0fbe06c0f
Require 'From' and 'relayed' in PublishIntroMessage ctor 5 years ago
Stephen Shelton f61cd1a7da
Add some notes/comments about DHT message handling 5 years ago
Stephen Shelton 6b906de00d
Judicious removal of dead code 5 years ago
Jeff Becker ce335dc47d
remove convotags on dead outbound context 5 years ago
Jeff Becker dea78d2326
change function signature for dht context to exclude time parameter 5 years ago
Jeff Becker 7a84bbe459
remove dht explore timer 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
Jason Rhinelander f1aa27e616 fix speeling mistack 5 years ago
Jeff a8ce76f6e4
Merge pull request #1094 from majestrate/upstream-cname-monkey-patch-dns-2020-02-12
monkey patch upstream dns to rewrite .loki cname answers
5 years ago
Jeff da780658e1
Merge pull request #1134 from majestrate/systemd-status-2020-02-25
remove uneeded members
5 years ago
Jeff Becker d50a0149f9
use std::chrono 5 years ago