syncthing/lib
Jakob Borg 6db8dc33f2
lib/model: Correctly verify short read blocks (fixes #7333) (#7334)
An untrusted device will receive padded info for small blocks, and hence
sometimes request a larger block than actually exists on disk.
Previously we let this pass because we didn't have a hash to compare to
in that case and we ignored the EOF error based on that.

Now the untrusted device does pass an encrypted hash that we decrypt and
verify. This means we can't check for len(hash)==0 any more, but on the
other hand we do have a valid hash we can apply to the data we actually
read. If it matches then we don't need to worry about the read
supposedly being a bit short.
2021-02-05 16:07:21 +01:00
..
api lib/api: Give the config changes some more time? (#7335) 2021-02-05 15:33:37 +01:00
assets lib/assets: Allow assets to remain uncompressed (#6661) 2020-05-25 08:51:27 +02:00
beacon lib/ur: Send unreported failures on shutdown (#7164) 2020-12-22 20:17:14 +01:00
build lib/api: Returns tags in version as list (#7190) 2020-12-10 12:22:09 +01:00
config all: Add configurable defaults (fixes #4224, fixes #6086) (#7131) 2021-02-04 21:10:41 +01:00
connections all: Add configurable defaults (fixes #4224, fixes #6086) (#7131) 2021-02-04 21:10:41 +01:00
db all: Failure reporting fixes (#7331) 2021-02-05 11:21:14 +01:00
dialer lib/dialer: Try dialing without reuse in parallel (fixes #6892) (#6893) 2020-08-18 13:11:12 +02:00
discover lib/ur: Send unreported failures on shutdown (#7164) 2020-12-22 20:17:14 +01:00
events lib/model: Forget pending folders no longer announced in ClusterConfig (fixes #5187) (#7205) 2021-01-25 10:58:10 +00:00
fs lib/fs: Cache all real-case results (fixes #7270) (#7286) 2021-01-27 19:25:34 +01:00
ignore lib/ignore: Store cache timestamps as Unix ns counts (#7326) 2021-02-04 18:39:06 +01:00
locations all: Handle errors opening db/creating file-set (ref #5907) (#7150) 2020-12-21 12:59:22 +01:00
logger all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
model lib/model: Correctly verify short read blocks (fixes #7333) (#7334) 2021-02-05 16:07:21 +01:00
nat all: Refactor preparing configuration (#7127) 2020-11-20 14:21:54 +01:00
osutil lib/osutil: Consider sync() best effort (fixes #7117) 2020-11-14 09:23:27 +01:00
pmp lib/nat: Make service termination faster (#6777) 2020-06-22 09:01:57 +01:00
protocol lib/protocol: Hide repeated data blocks in a given file (#7319) 2021-02-02 20:15:14 +01:00
rand lib/rand: Various minor fixes (#6752) 2020-06-17 10:43:58 +02:00
rc test, lib/model: Various integration test updates & improvements (#6956) 2020-09-07 09:35:37 +02:00
relay lib/ur: Send unreported failures on shutdown (#7164) 2020-12-22 20:17:14 +01:00
scanner lib/scanner: Remove unused field, move WaitGroup.Add out of loop (#7323) 2021-02-03 14:25:24 +01:00
sha256 Add indirection for large version vectors. (#6376) 2020-05-13 14:28:42 +02:00
signature all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
stats lib/connections, lib/model: Track last connection duration (ref #7223) (#7242) 2021-01-05 17:45:07 +01:00
stun lib/stun: Inline util.OnDone, comment on its purpose (#7308) 2021-01-27 19:27:00 +01:00
svcutil lib/util, lib/svcutil: Remove unused code (#7309) 2021-01-27 16:33:01 +01:00
sync lib/sync: Cleanly fail instead of panic in tests (#6088) 2019-10-16 10:11:11 +02:00
syncthing all: Add configurable defaults (fixes #4224, fixes #6086) (#7131) 2021-02-04 21:10:41 +01:00
testutils lib/connections, lib/model: Track last connection duration (ref #7223) (#7242) 2021-01-05 17:45:07 +01:00
tlsutil lib/tlsutil: Add O and OU to generated certificates (fixes #7108) (#7109) 2020-11-09 17:02:56 +01:00
upgrade all: Tweak error creation (#6391) 2020-03-03 22:40:00 +01:00
upnp lib/nat: Make service termination faster (#6777) 2020-06-22 09:01:57 +01:00
ur all: Failure reporting fixes (#7331) 2021-02-05 11:21:14 +01:00
util lib/stun: Inline util.OnDone, comment on its purpose (#7308) 2021-01-27 19:27:00 +01:00
versioner Created cleanup functionality for syncthing (#6884) 2020-08-24 12:14:30 +01:00
watchaggregator all: Refactor preparing configuration (#7127) 2020-11-20 14:21:54 +01:00
weakhash lib/weakhash: Fix speed reporting in benchmark (#6470) 2020-03-29 17:07:25 +02:00