Commit Graph

4937 Commits

Author SHA1 Message Date
Jeff
001c8c5f04
Merge pull request #926 from majestrate/fix-zero-hop-bug-2019-11-25
fix "zero hop" bug
2019-11-26 06:13:45 -05:00
Jeff Becker
dd48b149ca
make job queue size configurable 2019-11-25 16:30:34 -05:00
Jeff Becker
853108ce6e
make logic job queue 8 times bigger 2019-11-25 16:15:31 -05:00
Jeff Becker
cbb7196b30
fix "zero hop" bug 2019-11-25 11:53:03 -05:00
Stephen Shelton
7084dae79a Implement code to move old key files out of the way 2019-11-22 16:11:59 -07:00
Jeff
ee40389f05
Merge pull request #916 from majestrate/add-contention-killer-2019-11-14
assorted crap
2019-11-22 16:31:15 -05:00
Jeff
cea41121ca
Merge pull request #924 from jagerman/faster-ev-ticks
Lower the ev tick interval to 10ms
2019-11-22 16:30:08 -05:00
Jeff Becker
c3858a56df
make it compile 2019-11-22 16:23:21 -05:00
Jeff Becker
34bc3da069
flush quues of other paths 2019-11-22 16:23:20 -05:00
Jeff Becker
6f95fbfece
work in progress 2019-11-22 16:23:20 -05:00
Jeff Becker
ac686a9329
remove valgrind access errors 2019-11-22 16:23:20 -05:00
Jeff Becker
0ec4e583d4
initialize with zeros 2019-11-22 16:23:20 -05:00
Jeff Becker
065b022427
std::move 2019-11-22 16:23:20 -05:00
Jeff Becker
b8f773eb73
use lambda 2019-11-22 16:23:20 -05:00
Jeff Becker
250cfea1e9
remove use of void * in godawful old code from a time before happyness 2019-11-22 16:23:20 -05:00
Jeff Becker
b207db626f
please the gods of valgrind 2019-11-22 16:23:20 -05:00
Jeff Becker
d44d034775
make contention checker templated 2019-11-22 16:23:19 -05:00
Jeff Becker
1fa0a0aab2
make it compile 2019-11-22 16:23:19 -05:00
Jeff Becker
fdbaaa8188
try fixing file log segfault 2019-11-22 16:23:19 -05:00
Jeff Becker
1188763ece
typo fix in release 2019-11-22 16:23:19 -05:00
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs 2019-11-22 16:23:19 -05:00
Jeff Becker
eb6d042e73
make sure all calls of logic thread jobs are not having contention 2019-11-22 16:23:18 -05:00
Jeff Becker
d7f09a365d
contention killer 2019-11-22 16:23:18 -05:00
Stephen Shelton
db56e17c23 Rename bencode function for clarity 2019-11-22 14:14:37 -07:00
Stephen Shelton
0c02ea8d2e Add "keyfile version" to RouterContact 2019-11-22 14:06:15 -07:00
Jason Rhinelander
d3082fffc9 Lower the ev tick interval to 10ms
When there's nothing waiting we wait this long unconditionally, but that
can add a lot of latency across a path.

There are likely better ways to handle this via libuv's run handlers,
but this addresses the latency until we figure that out.
2019-11-22 17:05:51 -04:00
Stephen Shelton
1666498405 Replace bencode_write_version_entry with a more general-purpose function for writing bencoded dictionary entries 2019-11-22 10:39:35 -07:00
Stephen Shelton
fd02e3e149 Stub out KeyManager class 2019-11-21 20:57:41 -07:00
Jeff
99d76280be
Merge pull request #917 from jagerman/remove-resolveConf
Remove shell globbing of path
2019-11-21 11:33:54 -05:00
Jeff
a188291055
Merge pull request #919 from jagerman/avx2-detection
Fix runtime AVX2 detection
2019-11-21 10:54:46 -05:00
Jason Rhinelander
cdca34e628 Fix runtime AVX2 detection
The feature flags come via __cpuid_count instead of __cpuid

Also removes a couple unneeded headers.
2019-11-21 11:50:04 -04:00
Jason Rhinelander
f54740fa85 Don't pointlessly set conffname back to itself 2019-11-20 18:00:10 -04:00
Jason Rhinelander
e0340e86b2 clang-format fixes 2019-11-20 17:45:56 -04:00
Jason Rhinelander
2bdde18558 Remove shell globbing of path
resolvePath was leaking memory (the returned char * from realpath was
never freed), but upon closer inspection resolvePath doesn't seem right:
shell/glob/~ expansion is the job of the shell, not the argument (but
worse, if you pass it something like '~' (quoted) it would expand, which
is wrong.

Also de-duplicate some code.
2019-11-20 17:22:07 -04:00
Jason Rhinelander
d96d33329b
Merge pull request #912 from majestrate/logic-thread-fix-2019-11-13
fix logic thread behavior
2019-11-19 15:26:35 -04:00
Jeff
8f6a18f411
Merge pull request #915 from notlesh/fix-session-key-mismatch-2019-11-19
Fix #911: Drop new inbound IWP sessions when the first packet can't be handled
2019-11-19 14:25:49 -05:00
Jason Rhinelander
6524563d33
Merge pull request #897 from majestrate/bencode-seek-for-version-2019-11-03
seek for version and set it before deserializing
2019-11-19 15:24:07 -04:00
Stephen Shelton
b5b8cf0745 Reduce log level of IWP session issues as they may be encountered frequently and normally 2019-11-19 12:17:34 -07:00
Stephen Shelton
9eed243346
Merge pull request #860 from notlesh/null_mutex_clarity
Null mutex clarity (via comments / log statement)
2019-11-19 11:19:44 -07:00
Stephen Shelton
46fe64c2e6 make format (and git commit --amend to re-trigger CI) 2019-11-19 10:07:27 -07:00
Stephen Shelton
ef2670dfb4 Drop new inbound IWP sessions when the first packet can't be handled 2019-11-19 09:24:29 -07:00
Jeff Becker
168d25f244
add warning when trying to queue onto full logic thread 2019-11-14 12:18:20 -05:00
Jeff Becker
b34caa3e26
make unit tests pass for iwp 2019-11-14 11:48:02 -05:00
Jeff Becker
1a864832c8
make format 2019-11-14 10:07:40 -05:00
Jeff Becker
b31d7b75fc
Merge remote-tracking branch 'origin/dev' into logic-thread-fix-2019-11-13 2019-11-14 10:07:19 -05:00
Jeff Becker
f16c9f9b5d
iot seems that logic thread didn't work the way i remember it should
make logic work the way it should
2019-11-14 10:06:53 -05:00
Jeff
17efd37d37
Merge pull request #873 from tewinget/path-queues
Add per-path queues, prioritize control messages over traffic
2019-11-13 19:09:18 -05:00
Jeff Becker
3c8e148372
prevent double free crap with shared_ptr 2019-11-13 18:16:34 -05:00
Thomas Winget
5ce6ed5134
fixes some logical errors in per-path queues 2019-11-07 15:05:04 -05:00
Thomas Winget
23a9773e1e
remove our paths from outbound queues 2019-11-07 13:23:14 -05:00