Simon Frei
32245435e2
lib/model: Handle deleted items on RO for remote removes ( fixes #6432 ) ( #6464 )
2020-04-02 16:14:25 +02:00
greatroar
2f26a95973
lib/db, lib/model: Code simplifications ( #6484 )
...
NamespacedKV.prefixedKey is still small enough to be inlined.
2020-03-31 14:32:24 +02:00
Simon Frei
123941cf62
lib/fs: Basic with empty root shouldn't point at / ( #6483 )
2020-03-31 13:56:07 +02:00
Jakob Borg
9c67d57c28
lib/api: Update ldap package ( fixes #6479 ) ( #6481 )
2020-03-31 09:56:04 +02:00
mv1005
5b3466dc6e
lib/versioner: Extended tests of intervals ( #6462 )
2020-03-31 00:14:05 +02:00
Michael Rienstra
bca6854c03
lib/versioner: Fix "30 days" interval ( fixes #6410 ) ( #6461 )
2020-03-30 23:28:53 +02:00
greatroar
c930b2e9e2
lib/rand: Various fixes ( #6474 )
2020-03-30 23:26:28 +02:00
greatroar
d7a257b391
lib/util: Fix potential data race ( #6477 )
...
Co-authored-by: greatroar <@>
2020-03-30 14:10:08 +01:00
greatroar
1e2379df1b
lib/protocol: faster Luhn algorithm and better testing ( #6475 )
...
The previous implementation was very generic; its tests didn't cover the
actual alphabet for device IDs.
Benchmark results on amd64:
name old time/op new time/op delta
Luhnify-8 1.00µs ± 1% 0.28µs ± 4% -72.38% (p=0.000 n=9+10)
Unluhnify-8 992ns ± 2% 274ns ± 1% -72.39% (p=0.000 n=10+9)
2020-03-29 22:28:04 +02:00
greatroar
ea5c9176e1
lib/protocol: Remove unused channel Connection.preventSends ( #6473 )
...
Co-authored-by: greatroar <@>
2020-03-29 17:09:53 +01:00
greatroar
cc1b003f21
lib/weakhash: Fix speed reporting in benchmark ( #6470 )
2020-03-29 17:07:25 +02:00
greatroar
1c47fae206
lib/ur: Use sysctl syscall to get RAM size on Mac ( #6468 )
2020-03-29 14:28:46 +02:00
Simon Frei
79a758be3c
lib/model: Do Revert/Override synchronously ( #6460 )
2020-03-27 13:05:09 +01:00
Simon Frei
c7cf3ef899
lib/syncthing: Save version to db after upgrade ops are done (ref #6457 ) ( #6458 )
2020-03-26 16:58:21 +01:00
Simon Frei
b7dffc051e
lib/model: Remove unused func ( #6456 )
2020-03-26 14:19:26 +01:00
Simon Frei
7f23de4f03
all: Pass db intervals as args not env vars ( #6448 )
2020-03-24 13:53:20 +01:00
Jakob Borg
ca89f12be6
lib/api: Set ServerName on LDAPS connections ( fixes #6450 ) ( #6451 )
...
tls.Dial needs it for certificate verification.
2020-03-24 12:56:43 +01:00
Simon Frei
ddfa82e990
lib/model: Unset local flag on deleted files ( fixes #6436 ) ( #6449 )
2020-03-24 12:51:17 +01:00
Simon Frei
d6b4873eed
gui, lib/model: Fix for folder stats with r-o and ignoreDel ( fixes #6430 ) ( #6431 )
2020-03-22 11:46:42 +01:00
Jakob Borg
c4abe6f815
lib/db: Don't whack blocks when putting truncated file ( #6434 )
...
As of the latest database checker we are again putting files without
blocks. I'm not 100% convinced that's a great idea, but we also do it
for ignored files apparently so it looks like we probably should support
it. This adds an escape hatch that must be manually enabled...
2020-03-20 12:07:14 +01:00
Simon Frei
74706bb02b
lib/db, lib/syncthing: Repair db once on upgrade (ref #6425 , #6427 ) ( #6429 )
2020-03-19 15:58:32 +01:00
Simon Frei
cf11fa4327
lib/db: Fix removeFromGlobal and no filenames in error ( fixes #6427 ) ( #6428 )
2020-03-19 14:32:22 +01:00
Simon Frei
40580d8b9b
lib/db: Remove emptied global list in checkGlobals ( fixes #6425 ) ( #6426 )
2020-03-19 14:30:20 +01:00
Simon Frei
e25e71cdde
cmd/syncthing, lib/locations: Separate data and config dirs ( fixes #4924 ) ( #6309 )
2020-03-18 20:58:11 +01:00
Simon Frei
00b2340f9a
lib/db: Checkpoint during schema updates ( fixes #6422 ) ( #6424 )
2020-03-18 20:33:43 +01:00
Simon Frei
cc2a55892f
lib: Repair sequence inconsistencies ( #6367 )
2020-03-18 17:34:46 +01:00
Jakob Borg
80107d5f5e
lib/config: Correct spelling of address in LDAP config ( #6420 )
...
Literally noone uses this so I don't see a need to call this out or
trigger a 1.5 release for it.
2020-03-18 10:44:00 +00:00
Alex Xu
1e68ab3f90
lib/beacon: Only send to appropriately flagged interfaces (ref #5957 ) ( #6404 )
...
saves some traffic (potential mobile wakeups), may help with #5957 .
2020-03-17 09:40:37 +01:00
Jakob Borg
e053db6a5e
lib/protocol: Zero pad index ID strings
2020-03-17 07:40:52 +01:00
Simon Frei
1bd4ea0cbb
lib/db: Don't ignore failures unmarshaling version lists ( #6411 )
2020-03-16 10:09:27 +01:00
Simon Frei
a1cb1d70c4
lib/db: Use need func in withNeed and simplify ( #6412 )
2020-03-16 08:45:45 +01:00
Simon Frei
16698b12b1
lib/db: Extend set test with second remote ( #6402 )
2020-03-11 08:15:45 +01:00
Jakob Borg
20aaa5927b
lib/protocol: Use BlocksHash to compare block lists when available ( #6401 )
...
This is an optimization for faster equal checks on block lists.
2020-03-10 14:46:49 +01:00
Jakob Borg
d612c35290
lib/api: Ignore that one file that always shows up in git status
2020-03-07 11:46:54 +01:00
Jakob Borg
2faa1ad360
lib/db: Be more lenient during migration ( fixes #6397 ) ( #6398 )
2020-03-06 20:50:55 +01:00
Jakob Borg
c7d6a6d780
gui, lib/api: Remove CPU & RAM measurements ( fixes #6249 ) ( #6393 )
2020-03-04 20:27:48 +01:00
Jakob Borg
dd92b2b8f4
all: Tweak error creation ( #6391 )
...
- In the few places where we wrap errors, use the new Go 1.13 "%w"
construction instead of %s or %v.
- Where we create errors with constant strings, consistently use
errors.New and not fmt.Errorf.
- Remove capitalization from errors in the few places where we had that.
2020-03-03 22:40:00 +01:00
Jakob Borg
c08e253e7c
lib/db: Prevent GC concurrently with migration ( fixes #6389 ) ( #6390 )
2020-02-29 19:51:32 +01:00
Jakob Borg
5de6f6d349
lib/db: Correct metadata recalculation ( fixes #6381 ) ( #6382 )
...
If we decide to recalculate the metadata we shouldn't start from
whatever we loaded from the database, as that data is wrong. We should
start from a clean slate.
2020-02-28 11:16:33 +01:00
Jakob Borg
883497966e
lib/db: Remove reference to env var that never existed
2020-02-27 11:21:35 +01:00
Jakob Borg
4f7a77597e
lib/db: Slightly improve indirection (ref #6372 ) ( #6373 )
...
I was working on indirecting version vectors, and that resulted in some
refactoring and improving the existing block indirection stuff. We may
or may not end up doing the version vector indirection, but I think
these changes are reasonable anyhow and will simplify the diff
significantly if we do go there. The main points are:
- A bunch of renaming to make the indirection and GC not about "blocks"
but about "indirection".
- Adding a cutoff so that we don't actually indirect for small block
lists. This gets us better performance when handling small files as it
cuts out the indirection for quite small loss in space efficiency.
- Being paranoid and always recalculating the hash on put. This costs
some CPU, but the consequences if a buggy or malicious implementation
silently substituted the block list by lying about the hash would be bad.
2020-02-27 11:19:21 +01:00
Jakob Borg
4e4b9a872a
lib/dialer: Preserve nilness in error handling ( fixes #6368 ) ( #6369 )
...
Also the call site where it shouldn't anyway be looking at the conn when
the err is non-nil.
2020-02-26 13:16:18 +01:00
Audrius Butkevicius
71aecc5cd4
lib/dialer: Bring back address faking connection ( fixes #6289 ) ( #6363 )
2020-02-26 12:37:23 +01:00
Simon Frei
680b0b14db
lib/connections: Refactor status for testing (ref #6361 ) ( #6362 )
2020-02-25 21:18:31 +01:00
Jakob Borg
55238e3b5b
lib/connections: Actually record connection errors ( #6361 )
2020-02-25 16:56:24 +01:00
Simon Frei
f0e33d052a
lib: More contextification ( #6343 )
2020-02-24 21:57:15 +01:00
Jakob Borg
10cb14fcb8
lib/db: Allow put partial FileInfo without blocks (ref #6353 )
2020-02-22 17:44:34 +01:00
Simon Frei
32e12abb43
lib/db: Don't panic on incorrect BlocksHash ( fixes #6353 ) ( #6355 )
2020-02-22 16:51:23 +01:00
Simon Frei
6489feb1d7
lib/db: Schema update to repair sequence index (ref #6304 ) ( #6350 )
2020-02-22 09:36:59 +01:00
Simon Frei
fae7425bbf
lib: Modify FileInfos consistently (ref #6321 ) ( #6349 )
2020-02-19 16:58:09 +01:00