Commit Graph

3223 Commits (e19714ebc1612744ef053c0a734ee655579e57a9)

Author SHA1 Message Date
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