Commit Graph

3420 Commits (f0374eb2b76ef2fd2bf4a03d9477d5cbfb5d9f21)

Author SHA1 Message Date
Jeff Becker 4185d47d4b
link layer message priority 5 years ago
Jeff a681c28e5f
Merge pull request #1050 from majestrate/tweak-limits-2020-01-16
Tweak limits
5 years ago
Jeff Becker c3f99e1b5c
make format 5 years ago
Stephen Shelton f01392cc49
Start stale router lookup 5 minutes before its expiration 5 years ago
Stephen Shelton 9b00e6fa8d
Bump RC expiration constants significantly 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 a1333c901c
Merge pull request #1044 from notlesh/bump-version-0.6.3-2019-01-15
Bump version (0.6.3)
5 years ago
Jason Rhinelander acd53f08b1
Merge pull request #1042 from jagerman/fix-jsonapi-bind-ip
Fix json api bind IP
5 years ago
Jason Rhinelander ba89df40c8
Merge pull request #1041 from notlesh/dht-fixes-cleanup
Dht fixes cleanup
5 years ago
Stephen Shelton 2607bdbee6
Bump version (0.6.3) 5 years ago
Stephen Shelton 702c130020
Remove dead code in llarp_nodedb::Insert() 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
Jason Rhinelander 416c71e554 Fix json api bind IP
Only the port was being used, the IP was being ignored and it was always
binding to localhost.
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 c92e7ae5c7
Add warning when we found a null RC for a DHT lookup 5 years ago
Stephen Shelton 08149112b2
Randomize routers to explore in ExploreNetwork() 5 years ago
Jeff Becker a17b5f25b5
check for zero'd rc 5 years ago
Jeff Becker d9297a4907
log invalid signatures 5 years ago
Jeff Becker 4cb6301e28
use copy not move 5 years ago
Jeff Becker c5feb07fb9
address feedback from tom 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 9322df013b
check with rc handler before insert 5 years ago
Jeff Becker 2af64671bf
make it compile 5 years ago
Jeff Becker 0526fef37b
store RCs if valid 5 years ago
Jeff Becker b56a3528db
periodic nodedb flush 5 years ago
Jeff Becker 495ad6d566
testnet patch 5 years ago
Jeff Becker 09f5f6dfa7
disable iterative lookup 5 years ago
Jeff Becker c7b94f32be
reduce disk io 5 years ago
Jeff 0e2c5736a8
Merge pull request #1034 from majestrate/dht-timeout-fixes-2020-01-10
dht timeout tweak
5 years ago
Jeff 0ad2809ac7
Merge pull request #1033 from majestrate/prevent-segfault-2020-01-10
prevent segfault
5 years ago
Jeff Becker 78cdf8f96b
variable lookup timeout on participants 5 years ago
Jeff Becker 8bb492da6e
dht timeout tweak 5 years ago
Jeff Becker 77f0944d6d
use shared_from_this 5 years ago
Jeff Becker 78e325c4c5
always lookup introset from nearest router 5 years ago
Jeff Becker 2d82e931da
try doing lookup from close router, randomize when above lookup threshold 5 years ago
Jeff Becker b2784dd5ec
explore faster 5 years ago
Jeff ac46d99107
Merge pull request #1029 from majestrate/expire-snode-sessions-based-off-activity-2020-01-08
Expire snode sessions based off activity
5 years ago
Jeff Becker eb174923ad
m_LastUse shouldn't be 0 ever now 5 years ago
Jeff Becker 1a80153352
mark used on costructed so it doesn't go away 5 years ago
Jeff Becker 9e50920dad
dont update timestamp of last use using when we get exit only when we use it 5 years ago
Jeff Becker a96fd645c5
remove side effect from address detection assert 5 years ago
Jeff Becker fde0ca374f
i hate curl 5 years ago
Jeff Becker 336a748695
make it build in normal mode too 5 years ago
Jeff Becker 80cbddde7b
fixups for review 5 years ago
Jeff Becker 2ce592e4af
static link with docs 5 years ago
Jeff cceb531e58
version bump 5 years ago
Jeff a5f8568c9c
Merge pull request #1020 from majestrate/dev
recent fixes
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 c6d77e72f2
fix up tcp connection logic 5 years ago
Jeff Becker 989146f63a
handle write failure 5 years ago
Jeff Becker c38c055488
return result 5 years ago
Jeff Becker 42f721d691
don't queue on full write queue 5 years ago
Jeff Becker 6d42b5f997
reduce logic calls 5 years ago
Jeff Becker 8a5365d9a6
diversify endpoints 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 c1ad5f955a
remove mutex 5 years ago
Jeff Becker 64b5537fe0
rpc clean up logic, dont fetch list as client AND dont ping lokid as client 5 years ago
Jeff Becker e5f92eaa79
only ping lokid if a service node 5 years ago
Jeff da8ec60922
Merge pull request #1023 from notlesh/iwp-bw-stats-2019-12-17
add bw stats to iwp sessions
5 years ago
Jeff Becker 9214ecbc48
rename bloomfilter to replayfilter 5 years ago
Rick V 636957f3f9
happy new year 5 years ago
Jeff Becker 3147e2d357
shuffle intros when more than 1 exists 5 years ago
Jeff Becker a7a101e33c
more intellegent path failure profiling using LRSM 5 years ago
Jeff Becker 52b13b9f1e
typo fix 5 years ago
Jeff Becker 1244ad83ad
fix include file use 5 years ago
Jeff Becker 55e27d36e5
* only profile as client
* only explore churn as relay
5 years ago
Jeff Becker d391f70417
reduce cpu use 5 years ago
Jeff Becker 73e07ef2d0
client side replay filter 5 years ago
Jeff Becker b3ad65f470
randomize intro order on shift 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
Jeff f5338512b3
Merge pull request #1014 from majestrate/limit-client-path-builds-at-edges-2019-12-30
Limit client path builds at edges
5 years ago
Jeff Becker 472cee2594
make static constant for decay interval 5 years ago
Jeff Becker 7c92805bb4
fix typo 5 years ago
Jeff Becker ecf2685aa3
use optional 5 years ago
Jeff Becker da5af879e9
typofix 5 years ago
Jeff Becker d7c78b0c71
comments 5 years ago
Jeff Becker f3e96e06b2
propagate error to client 5 years ago
Jeff Becker 562f3f07ab
add unit test for decaying hash set 5 years ago
Jeff Becker a9c9fe9c24
limit client side path builds per ip 5 years ago
Jeff Becker 5ae428a114
Revert "remove call to link manager"
This reverts commit 3dd36fa11a.
5 years ago
Jeff Becker a5121c346c
remove call to link manager 5 years ago
Jeff Becker d1a29884df
client side perf improvement 5 years ago
Jeff Becker 79c3c748e4
limit number of snode sessions client side 5 years ago
Jeff Becker 4126d307b3
dont close timers on closeall 5 years ago
Jeff Becker 59257815d5
version bump with intentional grammar troll motto for science related ventures. 5 years ago
Jeff Becker 8b8d636ded
make format 5 years ago
Rick V b9c02d999f
why was this there
we do not support MSVC
5 years ago
Stephen Shelton 1300de2387 Enable the JSON RPC API by default 5 years ago
Jason Rhinelander 1b710455a7 Disallow AlignedBuffer < 8 bytes; add oddball buffer sizes 5 years ago
Jason Rhinelander d57d6bfc6d Use memcpy to extract hash value
Using the straight reinterpret_cast runs into type aliasing issues,
which manifest on armhf.  C++20 adds `std::bit_cast` to deal with
exactly this, but memcpy is the pre-C++20 way to do it properly.
5 years ago
Jeff 3c9df38b88
Merge pull request #990 from tewinget/libuv-timers
Libuv-based timers
5 years ago
Jeff Becker 16c7e7dd33 fix unit tests 5 years ago
Thomas Winget f4c9e09d44 remove obsolete timer-related code 5 years ago
Thomas Winget e53e3db171 make dht context use new libuv timers 5 years ago
Thomas Winget 55b44cfc13 fix derp nested function call and derp merge error 5 years ago
Thomas Winget 50118c3127 Change ILinkLayer::ScheduleTick to use new timer 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
Jeff Becker 0f6c5958ba
add bw stats to iwp sessions 5 years ago
Jeff Becker 0eb4efdce9
netid update 5 years ago
Rick V ccd936feb1
the internal windows toolchain _already_ provides a default manifest 5 years ago
Rick V a08d2ff64e
microsoft libc a shit 5 years ago
Rick V caa6549cbb
clang-format everything 5 years ago
Rick V 64710ca4d4
Explicitly align to 16 bytes on Win32 targets 5 years ago
Rick V 9fa9209114
don't be aggressive
remove libcurl packaging rules. We still build it, but ship only the curl.exe
5 years ago
Rick V d1b9b89812
add note
add libuv build

add its dependent libraries to the final link line
5 years ago
Rick V 6d49ffd60b
include all platform dependencies transitively 5 years ago
Rick V e15c57c114
get ready for v0.6
bump version

don't ship the shared object
5 years ago
Jeff Becker 896dd85a2b
allow multiple calls to FeedData 5 years ago
Jeff Becker 53b159e361
dont fail on 0 sized data fed to json parser 5 years ago
Jeff Becker 04faee565c
Revert "stricter timeouts"
This reverts commit aa9de42d4e.
5 years ago
Jeff Becker aa9de42d4e
stricter timeouts 5 years ago
Jeff Becker 8817e7fe21
fix include 5 years ago
Jeff Becker fcf0ae2b9e
prune unused files. 5 years ago
Jeff Becker fc55469cfe
change interval such that FEC is less often done 5 years ago
Jeff Becker 7f6d1ebb92
fix slow start bug 5 years ago
Jeff Becker a93e0a735b
fix typo, reduce delivery timeout 5 years ago
Jeff Becker fcd3750a8b
increase ack window 5 years ago
Stephen Shelton 332f33b049 Remove FS_LIB conditionals 5 years ago
Stephen Shelton 8f6dd132ff Make format (on recent version-related code) 5 years ago
Stephen Shelton 5d3cb8f405 Include error code in log output in Identity::EnsureKeys() 5 years ago
Stephen Shelton a4aef312ae make format (or format-verify, at least) 5 years ago
Jason Rhinelander d4a5dc66ac Change alignment to std::max_align_t
This will typically be stricter alignment (16 byte on amd64) which seems
useful for the intended use case here.
5 years ago
Jason Rhinelander 460d64fc0f Simplify AlignedBuffer alignment implementation
This simplifies the use of std::aligned_storage with just using an
`alignas` on AlignedBuffer itself so that the (only) data member gets
the proper alignment and saves a bunch of reinterpret_casts in favour of
just having the std::array as an ordinary member.
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
Jason Rhinelander 99d27a4886 Add missing ev_libuv (now needed everywhere) 5 years ago
Stephen Shelton 211a5f7a03 Remove typo in version changes 5 years ago
Jeff 27a5904d68
Merge pull request #963 from majestrate/consolidate-versions-2019-12-11
consolidate versions
5 years ago
Jeff Becker 4fdff7f233
consolidate versions 5 years ago
Jeff Becker f259cca0ba
remove mutexes 5 years ago
Jeff Becker 85e911fed0
fug 5 years ago
Jeff Becker 7a78160bf0
final change 5 years ago
Jeff Becker 5729d0bff5
more 5 years ago
Jeff Becker c4f08e5145
finish remaining changes 5 years ago
Jeff Becker abf9544ddc
make libuv on win32 work 5 years ago
Stephen Shelton e2e9e63467 Optimize AlignedBuffer:::IsZero() 5 years ago
Jeff Becker 95eee4081a trypushback 5 years ago
Jeff Becker cdfdfa1068 use thread queue 5 years ago
Jeff Becker 8455d5d1cf more cleanup 5 years ago
Jeff Becker b286230d40 limit timer calls 5 years ago
Jeff Becker 35672e6d8c call timers with queuer if set 5 years ago
Jeff Becker cec36b62b5 make logic and net thread one in the same 5 years ago
Jeff Becker 581306e35f prevent crash on exit 5 years ago
Jeff Becker c9d38d421b clang fixes 5 years ago
Jeff Becker 1ddc2b40aa another attempt at travis fix 5 years ago
Jeff Becker f29083f765 more travis fixes 5 years ago
Jeff Becker 4f87a95f66 fixes for travis 5 years ago
Jeff 22e9223e74
Merge pull request #955 from jagerman/remove-unused-arg
Remove unused argument
5 years ago
Jeff fa75d7c96f
Merge pull request #957 from majestrate/reduce-cpu-use-in-tun-handler-2019-12-09
reduce cpu use in logic thread
5 years ago
Jeff Becker a7884a82e2
use faster hashing 5 years ago
Jeff Becker 92bbda600b
remove callsto Router::PumpLL and stuff gets faster (or stuff) 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 e90cb2929e
disable metrics by default 5 years ago
Jeff Becker 950006c036
reduce log levels at runtime 5 years ago
Jeff 512a350783
Merge pull request #953 from majestrate/try-preventing-router-lockup-2019-12-07
try fixing router lockup
5 years ago
Jeff Becker c010bf05a6
use correct format string 5 years ago
Jeff Becker f56e543d75
add deadlock checker and revert bencode change from long ago 5 years ago
Jeff Becker c5f198cfa1
disable absl decorator in release 5 years ago
Jeff Becker 2eabe98d9b
add systemd watchdog if enabled on compile time 5 years ago
Jeff Becker 8ceb20452a
add absl annotations 5 years ago
Jeff Becker fe6783eef6
squash possible race condition 5 years ago
Jeff Becker eb87189514
try fixing router lockup 5 years ago
Jason Rhinelander 8d2c22fc72 Replace cppbackport with ghc-filesystem
From https://github.com/gulrak/filesystem which is more up-to-date and
looks better maintained than cppbackport.
5 years ago
Jeff 9c7355ff9c
Merge pull request #951 from majestrate/fix-ip-rewrite-on-snode-2019-12-06
use ipv6 only with ipv6 packets
5 years ago
Jeff 1396b7b857
Merge branch 'dev' into bootstrap-list-2019-12-06 5 years ago
Jeff Becker 7c0fc69ad8
use ipv6 only with ipv6 packets 5 years ago
Stephen Shelton 68a604070b
Merge pull request #945 from notlesh/key_manager_cleanup
Key manager cleanup (post 0.6-rc1)
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
Jeff Becker 32da9e0817
reduce window 5 years ago
Jeff Becker 9be4092a2a
more close changes 5 years ago
Jeff Becker 3410f25fd0
close links lazy 5 years ago
Jeff Becker 87eab87b7f
only close outbound links 5 years ago
Jeff Becker 98d7116ffb
fix typo 5 years ago
Jeff Becker 39ab82ed8c
close sessions to non essential nodes 5 years ago
Stephen Shelton eb5184ee09 Reinstate link test / update to use KeyManager 5 years ago
Jeff Becker 0c5c1aab1b
remove unneeded log statement 5 years ago
Stephen Shelton 23fc2ad042 Init key manager before InitOutboundLinks are configured 5 years ago
Jason Rhinelander fd02662d9f
Bump default netid to gamma for 0.6 5 years ago
Jeff Becker 847ab3a47e
make it compile 5 years ago
Jeff 3f19b14c4f
Merge pull request #938 from majestrate/version-motto-bump-for-0.6.0-2019-12-03
bump version and motto
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
Jeff Becker 91627931ad
bump version and motto 5 years ago
Stephen Shelton 93b8832026
Merge branch 'dev' into private-keys-backup-support 5 years ago
Jeff 76fc50cfb7
Merge pull request #914 from despair86/dev
win32 fixes
5 years ago
Stephen Shelton 521ef9b5bb Handle link transport key in KeyManager 5 years ago
Jeff Becker 7d5fd132c8
make format 5 years ago
Jeff Becker 86a4ccd98f
unconditionally bundle first fragment in xmit 5 years ago
Jeff Becker 1f83fdb190
fix previous commit 5 years ago
Jeff Becker 19835ce501
dont use auto 5 years ago
Jeff Becker 1a6a66108d
make it compile 5 years ago
Jeff Becker c88602ee16
break the world to make it faster 5 years ago
Jeff Becker 01b24c7090
limit connections 5 years ago
Jeff Becker 0f4c531d06
fix path resource leak 5 years ago
Jeff b08897a214
Merge pull request #935 from jagerman/logic-thread-fixes
Logic thread fixes
5 years ago
Jeff 67b08e0e50
Merge pull request #933 from majestrate/loki-ping-call-2019-11-27
Loki ping call 2019 11 27
5 years ago
Jeff 8288bf3958
Merge pull request #931 from majestrate/rpc-fetch-privkey-2019-11-26
use curl to fetch from lokid rpc the identity key
5 years ago
Rick V da8ee47370
tick more often 5 years ago
Rick V 44e8d07d47
fix error msg 5 years ago
Rick V cf3469e11a
crash on wine, we support linux, ucb_unix, svr4
natively ffs. i tested this patch on wine 4.4 on fuckin
Solaris 11 snv_151
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
Jeff Becker a2fc35a7aa lower limit to 25ms 5 years ago
Jeff Becker 5924a2cec0 limit calls 5 years ago
Jason Rhinelander 5d8f547d33 Set tun to non-blocking
If we can't write to it we want failure, not blocking.
5 years ago
Jason Rhinelander 740460318a Die if job queue full
If this happens it's a pretty serious error; if someone is hitting it
occassionally it's better to know and update their queue size (and if it
is a runaway situation lokinet doesn't come back anyway).
5 years ago
Jeff Becker 28a2d471d6 style nitch 5 years ago
Jeff Becker 44e0e2c034 dont flood the logic queue 5 years ago
Jeff Becker fba1e47d1c call jobs in logic 5 years ago
Jeff Becker f5ede2d875 ammend previous commit 5 years ago
Jeff Becker 3489753d5a remove jenky call to logic thread in link server 5 years ago
Jeff Becker 0828307906 fix address mapping bug 5 years ago
Jeff Becker 5188873288 batch and flush 5 years ago
Jeff Becker 8849173112 try async decrypt then verify 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 1a06da9c3d reduce calls in link pump 5 years ago
Jason Rhinelander d13a3d2b62 Don't flush here; we already have a tick flushing 5 years ago
Thomas Winget 6d506302dc Show number of logic thread jobs in debug builds 5 years ago
Thomas Winget 6acf7bff7e Track and log UV event loop ticks in debug builds 5 years ago
Jeff Becker 285a9a1dd5 prevent segfault 5 years ago
Jeff Becker a3a62c34f3 use timer guard for all jobs in debug mode 5 years ago
Jeff Becker af663d8b10 prune members in timer context 5 years ago
Jeff Becker 11d4760c3d add metrics tracking for logic jobs in debug mode 5 years ago
Jeff Becker ba0fd223d9 reduce number of jobs we put onto the logic thread 5 years ago
Stephen Shelton a0699ad229 Undo adding of crypto version to RouterContact, other fixes 5 years ago
Jeff Becker d880eec1de
ping lokid rpc 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