Commit Graph

3309 Commits

Author SHA1 Message Date
Stephen Shelton
5c518d6586
Include outbound message queue stats in dumpState API response 2020-01-17 10:14:24 -07:00
Stephen Shelton
169ece08e8
Fix HaveReceivedWhitelist() typo 2020-01-16 14:32:52 -07:00
Jason Rhinelander
a1333c901c
Merge pull request #1044 from notlesh/bump-version-0.6.3-2019-01-15
Bump version (0.6.3)
2020-01-16 01:08:30 -04:00
Jason Rhinelander
acd53f08b1
Merge pull request #1042 from jagerman/fix-jsonapi-bind-ip
Fix json api bind IP
2020-01-16 01:06:53 -04:00
Jason Rhinelander
ba89df40c8
Merge pull request #1041 from notlesh/dht-fixes-cleanup
Dht fixes cleanup
2020-01-16 01:04:51 -04:00
Stephen Shelton
2607bdbee6
Bump version (0.6.3) 2020-01-15 21:55:34 -07:00
Stephen Shelton
702c130020
Remove dead code in llarp_nodedb::Insert() 2020-01-15 21:44:25 -07:00
Jason Rhinelander
eadfeefafc
Merge pull request #1038 from majestrate/dht-disable-iterative-lookup-2020-01-14
disable iterative behavior in DHT
2020-01-16 00:22:12 -04:00
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.
2020-01-16 00:16:56 -04:00
Stephen Shelton
fbb274a724
Make format (mutter mutter) 2020-01-15 21:15:37 -07:00
Stephen Shelton
8206557ac7
Don't respect whitelist when we haven't received it yet 2020-01-15 21:12:38 -07:00
Stephen Shelton
c92e7ae5c7
Add warning when we found a null RC for a DHT lookup 2020-01-15 19:37:12 -07:00
Stephen Shelton
08149112b2
Randomize routers to explore in ExploreNetwork() 2020-01-15 19:16:18 -07:00
Jeff Becker
a17b5f25b5
check for zero'd rc 2020-01-15 10:43:21 -05:00
Jeff Becker
d9297a4907
log invalid signatures 2020-01-15 10:42:28 -05:00
Jeff Becker
4cb6301e28
use copy not move 2020-01-15 10:41:43 -05:00
Jeff Becker
c5feb07fb9
address feedback from tom 2020-01-14 15:48:39 -05:00
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
2020-01-14 15:12:47 -05:00
Jeff Becker
9322df013b
check with rc handler before insert 2020-01-14 13:39:08 -05:00
Jeff Becker
2af64671bf
make it compile 2020-01-14 13:10:10 -05:00
Jeff Becker
0526fef37b
store RCs if valid 2020-01-14 13:08:27 -05:00
Jeff Becker
b56a3528db
periodic nodedb flush 2020-01-14 12:01:41 -05:00
Jeff Becker
495ad6d566
testnet patch 2020-01-14 07:07:29 -05:00
Jeff Becker
09f5f6dfa7
disable iterative lookup 2020-01-14 07:07:10 -05:00
Jeff Becker
c7b94f32be
reduce disk io 2020-01-12 07:30:03 -05:00
Jeff
0e2c5736a8
Merge pull request #1034 from majestrate/dht-timeout-fixes-2020-01-10
dht timeout tweak
2020-01-10 17:35:56 -05:00
Jeff
0ad2809ac7
Merge pull request #1033 from majestrate/prevent-segfault-2020-01-10
prevent segfault
2020-01-10 17:35:49 -05:00
Jeff Becker
78cdf8f96b
variable lookup timeout on participants 2020-01-10 11:23:30 -05:00
Jeff Becker
8bb492da6e
dht timeout tweak 2020-01-10 10:45:25 -05:00
Jeff Becker
77f0944d6d
use shared_from_this 2020-01-10 07:35:00 -05:00
Jeff Becker
78e325c4c5
always lookup introset from nearest router 2020-01-09 07:21:38 -05:00
Jeff Becker
2d82e931da
try doing lookup from close router, randomize when above lookup threshold 2020-01-09 06:26:41 -05:00
Jeff Becker
b2784dd5ec
explore faster 2020-01-09 06:14:04 -05:00
Jeff
ac46d99107
Merge pull request #1029 from majestrate/expire-snode-sessions-based-off-activity-2020-01-08
Expire snode sessions based off activity
2020-01-08 16:37:17 -05:00
Jeff Becker
eb174923ad
m_LastUse shouldn't be 0 ever now 2020-01-08 11:05:29 -05:00
Jeff Becker
1a80153352
mark used on costructed so it doesn't go away 2020-01-08 11:05:04 -05:00
Jeff Becker
9e50920dad
dont update timestamp of last use using when we get exit only when we use it 2020-01-08 11:03:52 -05:00
Jeff Becker
a96fd645c5
remove side effect from address detection assert 2020-01-08 09:57:23 -05:00
Jeff Becker
fde0ca374f
i hate curl 2020-01-07 18:14:25 -05:00
Jeff Becker
336a748695
make it build in normal mode too 2020-01-07 18:14:25 -05:00
Jeff Becker
80cbddde7b
fixups for review 2020-01-07 18:14:25 -05:00
Jeff Becker
2ce592e4af
static link with docs 2020-01-07 18:14:25 -05:00
Jeff
cceb531e58
version bump 2020-01-07 14:41:41 -05:00
Jeff
a5f8568c9c
Merge pull request #1020 from majestrate/dev
recent fixes
2020-01-07 14:36:40 -05:00
Jeff Becker
37b11614d0
if select_random_hop_excluding returns false we should probably break anyways so do that 2020-01-07 14:31:35 -05:00
Jeff Becker
c6d77e72f2
fix up tcp connection logic 2020-01-07 13:04:12 -05:00
Jeff Becker
989146f63a
handle write failure 2020-01-07 13:03:58 -05:00
Jeff Becker
c38c055488
return result 2020-01-07 13:03:53 -05:00
Jeff Becker
42f721d691
don't queue on full write queue 2020-01-07 13:03:47 -05:00
Jeff Becker
6d42b5f997
reduce logic calls 2020-01-07 13:03:41 -05:00
Jeff Becker
8a5365d9a6
diversify endpoints 2020-01-07 13:00:15 -05:00
Jeff Becker
9f153f12e0
actually connect to random routers 2020-01-07 13:00:09 -05:00
Jeff Becker
a3e7324e9a
make it compile 2020-01-07 13:00:03 -05:00
Jeff Becker
c3b14b32b4
relays do profiling and not hand out "shit" routers in explore 2020-01-07 12:59:53 -05:00
Jeff Becker
c1ad5f955a
remove mutex 2020-01-07 12:59:30 -05:00
Jeff Becker
64b5537fe0
rpc clean up logic, dont fetch list as client AND dont ping lokid as client 2020-01-07 12:59:08 -05:00
Jeff Becker
e5f92eaa79
only ping lokid if a service node 2020-01-07 12:58:49 -05:00
Jeff
da8ec60922
Merge pull request #1023 from notlesh/iwp-bw-stats-2019-12-17
add bw stats to iwp sessions
2020-01-06 18:54:00 -05:00
Jeff Becker
9214ecbc48
rename bloomfilter to replayfilter 2020-01-06 07:20:16 -05:00
Rick V
636957f3f9
happy new year 2020-01-05 20:40:34 -06:00
Jeff Becker
3147e2d357
shuffle intros when more than 1 exists 2020-01-03 14:50:12 -05:00
Jeff Becker
a7a101e33c
more intellegent path failure profiling using LRSM 2020-01-03 07:52:19 -05:00
Jeff Becker
52b13b9f1e
typo fix 2020-01-03 07:08:38 -05:00
Jeff Becker
1244ad83ad
fix include file use 2020-01-03 07:05:28 -05:00
Jeff Becker
55e27d36e5
* only profile as client
* only explore churn as relay
2020-01-03 07:04:56 -05:00
Jeff Becker
d391f70417
reduce cpu use 2020-01-03 07:00:02 -05:00
Jeff Becker
73e07ef2d0
client side replay filter 2020-01-03 06:04:47 -05:00
Jeff Becker
b3ad65f470
randomize intro order on shift 2020-01-02 17:08:45 -05:00
Jeff Becker
79badd6714
* clients expore dht faster
* use random path when doing dht lookups for .loki
2020-01-02 16:37:17 -05:00
Jeff Becker
a8e6069a93
enable profiling by default 2020-01-02 16:14:15 -05:00
Jeff
f5338512b3
Merge pull request #1014 from majestrate/limit-client-path-builds-at-edges-2019-12-30
Limit client path builds at edges
2019-12-30 17:08:42 -05:00
Jeff Becker
472cee2594
make static constant for decay interval 2019-12-30 17:03:34 -05:00
Jeff Becker
7c92805bb4
fix typo 2019-12-30 17:03:19 -05:00
Jeff Becker
ecf2685aa3
use optional 2019-12-30 16:06:57 -05:00
Jeff Becker
da5af879e9
typofix 2019-12-30 15:58:30 -05:00
Jeff Becker
d7c78b0c71
comments 2019-12-30 15:57:09 -05:00
Jeff Becker
f3e96e06b2
propagate error to client 2019-12-30 15:55:56 -05:00
Jeff Becker
562f3f07ab
add unit test for decaying hash set 2019-12-30 15:52:10 -05:00
Jeff Becker
a9c9fe9c24
limit client side path builds per ip 2019-12-30 15:15:19 -05:00
Jeff Becker
5ae428a114
Revert "remove call to link manager"
This reverts commit 3dd36fa11a.
2019-12-30 11:13:17 -05:00
Jeff Becker
a5121c346c
remove call to link manager 2019-12-30 11:13:17 -05:00
Jeff Becker
d1a29884df
client side perf improvement 2019-12-30 11:13:17 -05:00
Jeff Becker
79c3c748e4
limit number of snode sessions client side 2019-12-30 05:19:03 -05:00
Jeff Becker
4126d307b3
dont close timers on closeall 2019-12-27 05:54:57 -05:00
Jeff Becker
59257815d5
version bump with intentional grammar troll motto for science related ventures. 2019-12-25 19:59:47 -05:00
Jeff Becker
8b8d636ded
make format 2019-12-22 09:16:28 -05:00
Rick V
b9c02d999f
why was this there
we do not support MSVC
2019-12-22 07:49:36 -06:00
Stephen Shelton
1300de2387 Enable the JSON RPC API by default 2019-12-19 14:54:09 -07:00
Jason Rhinelander
1b710455a7 Disallow AlignedBuffer < 8 bytes; add oddball buffer sizes 2019-12-19 16:17:02 -04:00
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.
2019-12-19 15:55:02 -04:00
Jeff
3c9df38b88
Merge pull request #990 from tewinget/libuv-timers
Libuv-based timers
2019-12-19 10:37:28 -05:00
Jeff Becker
16c7e7dd33 fix unit tests 2019-12-19 10:25:52 -05:00
Thomas Winget
f4c9e09d44 remove obsolete timer-related code 2019-12-18 19:05:33 -05:00
Thomas Winget
e53e3db171 make dht context use new libuv timers 2019-12-18 13:35:18 -05:00
Thomas Winget
55b44cfc13 fix derp nested function call and derp merge error 2019-12-18 13:35:01 -05:00
Thomas Winget
50118c3127 Change ILinkLayer::ScheduleTick to use new timer 2019-12-18 13:11:25 -05:00
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.
2019-12-18 13:11:13 -05:00
Jeff Becker
0f6c5958ba
add bw stats to iwp sessions 2019-12-17 09:36:56 -05:00
Jeff Becker
0eb4efdce9
netid update 2019-12-16 18:31:26 -05:00
Rick V
ccd936feb1
the internal windows toolchain _already_ provides a default manifest 2019-12-16 11:32:50 -06:00
Rick V
a08d2ff64e
microsoft libc a shit 2019-12-16 11:32:50 -06:00
Rick V
caa6549cbb
clang-format everything 2019-12-16 11:32:49 -06:00
Rick V
64710ca4d4
Explicitly align to 16 bytes on Win32 targets 2019-12-16 11:28:48 -06:00
Rick V
9fa9209114
don't be aggressive
remove libcurl packaging rules. We still build it, but ship only the curl.exe
2019-12-16 11:28:47 -06:00
Rick V
d1b9b89812
add note
add libuv build

add its dependent libraries to the final link line
2019-12-16 11:28:46 -06:00
Rick V
6d49ffd60b
include all platform dependencies transitively 2019-12-16 11:28:46 -06:00
Rick V
e15c57c114
get ready for v0.6
bump version

don't ship the shared object
2019-12-16 11:28:21 -06:00
Jeff Becker
896dd85a2b
allow multiple calls to FeedData 2019-12-15 12:01:29 -05:00
Jeff Becker
53b159e361
dont fail on 0 sized data fed to json parser 2019-12-15 11:59:26 -05:00
Jeff Becker
04faee565c
Revert "stricter timeouts"
This reverts commit aa9de42d4e.
2019-12-15 07:53:30 -05:00
Jeff Becker
aa9de42d4e
stricter timeouts 2019-12-15 07:52:28 -05:00
Jeff Becker
8817e7fe21
fix include 2019-12-15 07:09:19 -05:00
Jeff Becker
fcf0ae2b9e
prune unused files. 2019-12-15 07:02:17 -05:00
Jeff Becker
fc55469cfe
change interval such that FEC is less often done 2019-12-14 15:55:36 -05:00
Jeff Becker
7f6d1ebb92
fix slow start bug 2019-12-14 13:50:52 -05:00
Jeff Becker
a93e0a735b
fix typo, reduce delivery timeout 2019-12-14 13:50:36 -05:00
Jeff Becker
fcd3750a8b
increase ack window 2019-12-14 06:55:38 -05:00
Stephen Shelton
332f33b049 Remove FS_LIB conditionals 2019-12-12 12:58:46 -07:00
Stephen Shelton
8f6dd132ff Make format (on recent version-related code) 2019-12-12 10:10:27 -07:00
Stephen Shelton
5d3cb8f405 Include error code in log output in Identity::EnsureKeys() 2019-12-12 10:09:57 -07:00
Stephen Shelton
a4aef312ae make format (or format-verify, at least) 2019-12-12 10:09:57 -07:00
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.
2019-12-12 12:15:13 -04:00
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.
2019-12-12 12:12:45 -04:00
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).
2019-12-11 22:40:07 -04:00
Jason Rhinelander
99d27a4886 Add missing ev_libuv (now needed everywhere) 2019-12-11 19:19:28 -04:00
Stephen Shelton
211a5f7a03 Remove typo in version changes 2019-12-11 16:17:34 -07:00
Jeff
27a5904d68
Merge pull request #963 from majestrate/consolidate-versions-2019-12-11
consolidate versions
2019-12-11 17:30:19 -05:00
Jeff Becker
4fdff7f233
consolidate versions 2019-12-11 17:06:44 -05:00
Jeff Becker
f259cca0ba
remove mutexes 2019-12-11 16:49:00 -05:00
Jeff Becker
85e911fed0
fug 2019-12-11 16:36:13 -05:00
Jeff Becker
7a78160bf0
final change 2019-12-11 16:34:03 -05:00
Jeff Becker
5729d0bff5
more 2019-12-11 16:31:49 -05:00
Jeff Becker
c4f08e5145
finish remaining changes 2019-12-11 16:18:47 -05:00
Jeff Becker
abf9544ddc
make libuv on win32 work 2019-12-11 16:05:40 -05:00
Stephen Shelton
e2e9e63467 Optimize AlignedBuffer:::IsZero() 2019-12-10 11:50:52 -07:00
Jeff Becker
95eee4081a trypushback 2019-12-10 11:49:32 -07:00
Jeff Becker
cdfdfa1068 use thread queue 2019-12-10 11:49:32 -07:00
Jeff Becker
8455d5d1cf more cleanup 2019-12-10 11:49:32 -07:00
Jeff Becker
b286230d40 limit timer calls 2019-12-10 11:49:32 -07:00
Jeff Becker
35672e6d8c call timers with queuer if set 2019-12-10 11:49:32 -07:00
Jeff Becker
cec36b62b5 make logic and net thread one in the same 2019-12-10 11:49:32 -07:00
Jeff Becker
581306e35f prevent crash on exit 2019-12-10 11:49:32 -07:00
Jeff Becker
c9d38d421b clang fixes 2019-12-10 11:49:32 -07:00
Jeff Becker
1ddc2b40aa another attempt at travis fix 2019-12-10 11:49:32 -07:00
Jeff Becker
f29083f765 more travis fixes 2019-12-10 11:49:32 -07:00
Jeff Becker
4f87a95f66 fixes for travis 2019-12-10 11:49:32 -07:00
Jeff
22e9223e74
Merge pull request #955 from jagerman/remove-unused-arg
Remove unused argument
2019-12-10 07:51:48 -05:00
Jeff
fa75d7c96f
Merge pull request #957 from majestrate/reduce-cpu-use-in-tun-handler-2019-12-09
reduce cpu use in logic thread
2019-12-09 17:35:27 -05:00
Jeff Becker
a7884a82e2
use faster hashing 2019-12-09 17:35:05 -05:00
Jeff Becker
92bbda600b
remove callsto Router::PumpLL and stuff gets faster (or stuff) 2019-12-09 16:59:13 -05:00