Simon Frei
8c8167a4ab
lib/model: Don't bump seq on error in index handler ( #9459 )
2024-03-11 07:30:21 +01:00
Simon Frei
73cc5553b6
lib/model: Prevent infinite index sending loop ( fixes #9407 ) ( #9458 )
...
Explanation of what/why in a code comment.
Fixes https://github.com/syncthing/syncthing/issues/9407
2024-03-10 22:28:40 +01:00
Simon Frei
2ab2488274
lib/scanner: Fix ticker leak in scanner ( fixes #9417 ) ( #9451 )
...
Move the ticker closer to where it's used and defer stop it to avoid
missing a branch.
Fixes regression introduced in
https://github.com/syncthing/syncthing/commit/2f3eacdb6c1c33650ccdd91f42e842c116200d92
Fixes https://github.com/syncthing/syncthing/issues/9417
2024-03-05 19:04:26 +01:00
Simon Frei
2f3eacdb6c
gui, lib/scanner: Improve scan progress indication (ref #8331 ) ( #9308 )
2023-12-31 23:01:16 +01:00
Simon Frei
a28de73031
lib/model: Remove runner during folder cleanup ( fixes #9269 ) ( #9271 )
...
Before introducing the service map and using it for folder runners, the
entries in folderCfgs and folderRunners for the same key/folder were
removed under a single lock. Stopping the folder happens separately
before that with just the read lock. Now with the service map stopping
the folder and removing it from the map is a single operation. And that
still happens with just a read-lock. However even with a full lock it’s
still problematic: After the folder stopped, the runner isn’t present
anymore while the folder-config still is and sais the folder isn't
paused.
The index handler in turn looks at the folder config that is not paused,
thus assumes the runner has to be present -> nil deref on the runner.
A better solution might be to push most of these fmut maps into the
folder - they anyway are needed in there. Then there's just a single
map/source of info that's necessarily consistent. That's quite a bit of
work though, and probably/likely there will be corner cases there too.
2023-12-08 07:13:09 +01:00
Simon Frei
958ff67ccc
lib/model: Acquire fmut lock in ensureIndexHandler ( fixes #9234 ) ( #9235 )
...
Towards the end of the function f.folderCfgs and f.folderRunners are
read without the lock.
2023-11-20 08:12:25 +01:00
Simon Frei
bf6ffbbd67
Don't add empty device to config on init ( #8933 )
...
We usually want to ensure that our own device is present. However if the
given device ID is the empty ID, we shouldn't do that. This is a
legimate (though way too non-obvious) use-case when opening the config
without knowing/caring about the device ID.
2023-06-10 20:33:39 +00:00
Simon Frei
c867a5f5b3
build: Upgrade recli ( fixes #8503 ) ( #8871 )
2023-04-14 18:46:50 +02:00
Simon Frei
3a41d4afa5
lib/model: Set enc. trailer size on pull (ref #8563 , #8556 ) ( #8839 )
...
In the original fix in #8563 I simply forgot this. Which meant #8556
wasn't actually fixed, as the trialer size would have been 0 (default),
and thus we would have still sent the inflated size to encrypted peers.
2023-03-28 22:47:24 +02:00
Simon Frei
6a66aee489
lib/model: Fix file size inconsistency due to enc. trailer ( #8840 )
...
lib/model: Fix file size inconsisency due to enc. trailer
Fixes a regression due to PR #8563 , while arguable the bug was actually
introduced in a much older PR #7155 , but didn't have any bad effects so
far:
We account for the encryption trailer in the db updater routine,
calculating the file-info size there. However there's no guarantee that
the file-info at this point is still the exact same as when it was
written. It was before, but isn't anymore since introducing the new
EncryptedTrailerSize field.
Fix: Adjust the size in the info at the same place where the trailer is
written, i.e. we definitely have the actual size on disk.
2023-03-28 22:02:59 +02:00
Simon Frei
da72df6ffc
lib: Correctly handle encrypted trailer size ( fixes #8556 ) ( #8563 )
2023-03-10 14:14:14 +01:00
Simon Frei
634a3d0e3b
lib/fs: Use io/fs errors as recommended in std lib ( #8726 )
2022-12-21 23:42:22 +01:00
Simon Frei
d157d12037
lib/model: Only log at info level if setting change time fails ( #8725 )
2022-12-21 21:58:35 +01:00
Simon Frei
ce2a68622c
lib/protocol: Ignore inode time when xattr&ownership is ignored ( fixes #8654 ) ( #8655 )
...
lib/protocol: Ignore inode time when both xattr and ownership is ignored (fixes #8654 )
2022-11-08 08:36:41 +01:00
Simon Frei
a0c80e030a
lib/model: Fix warning log statement (ref #8583 ) ( #8584 )
2022-10-05 18:45:37 +02:00
Simon Frei
81bdde79ea
lib/fs: Skip xattrs test on EOPNOTSUPP ( fixes #8564 ) ( #8565 )
2022-10-02 08:58:19 +02:00
Simon Frei
0935886045
lib/fs: Skip xattrs test on EOPNOTSUPP ( fixes #8564 ) ( #8565 )
2022-10-01 08:48:00 +02:00
Simon Frei
6dedffe3f7
cmd/syncthing: Use os.executable in monitor, only fallback to PATH ( #8502 )
2022-08-17 08:57:33 +02:00
Simon Frei
5fd6278609
cmd/syncthing: Work around binary in current dir restriction ( fixes #8499 ) ( #8500 )
2022-08-14 21:25:45 +02:00
Simon Frei
3a6ebb8482
lib/config, lib/model: Warn about two-way introducer ( fixes #8393 ) ( #8395 )
2022-06-20 18:36:45 +01:00
Simon Frei
5ac122b85f
lib/model: Don't include deleted items in kqueue warning threshold (ref #7855 ) ( #8365 )
2022-05-28 20:15:38 +02:00
Simon Frei
e3078cc531
lib/model: Don't fail on temporary chmod ( fixes #8355 , ref #8235 ) ( #8356 )
2022-05-22 13:52:40 +02:00
Simon Frei
f35fb974d0
build: Add concise build instructions to readme ( #8327 )
2022-05-06 07:56:26 +02:00
Simon Frei
4031568cdf
gui: Bandaid for null http errors ( fixes #8261 ) ( #8305 )
2022-04-25 19:15:14 +02:00
Simon Frei
6a7fc49c6b
lib/discover: Increase global discovery timeout ( #8303 )
2022-04-23 16:12:25 +02:00
Simon Frei
3907cb0693
lib/model: Subscribe to correct event for fs watching (ref #8249 ) ( #8287 )
2022-04-17 12:41:25 +04:00
Simon Frei
0525c755f4
build: Bump quic-go to 0.26.0 for go1.18 update ( #8231 )
...
Merging because I want this in the RC, when we do the RC...
2022-04-12 16:27:29 +04:00
Simon Frei
bcd91f536e
lib/connections: Create the forgotten channel (ref #8263 ) ( #8267 )
2022-04-11 17:32:22 +04:00
Simon Frei
db72579f0e
lib: Get rid of buggy filesystem wrapping ( #8257 )
2022-04-10 20:55:05 +02:00
Simon Frei
22e12904c9
lib/connections: Make request tests sequential ( #8263 )
2022-04-10 20:54:16 +02:00
Simon Frei
b947056e62
lib: Removal global connection registry ( #8254 )
2022-04-09 16:04:56 +02:00
Simon Frei
072fa46bfd
lib/connections, lib/model: Improve new conn handling ( #8253 )
2022-04-07 17:35:33 +02:00
Simon Frei
edc3a77b98
lib/fs, lib/model: Add warning about kqueue resource usage ( fixes #7855 ) ( #8249 )
2022-04-05 21:32:06 +02:00
Simon Frei
55c513b827
lib/model: Clear folder error after loading ignores ( fixes #8232 ) ( #8238 )
2022-03-27 21:29:40 +02:00
Simon Frei
518d5174e6
lib/model: Print device when a block request fails ( #8159 )
2022-02-01 20:20:55 +01:00
Simon Frei
2656c1b8e1
gui: Fix mistake ( fixes #8152 , ref #8147 ) ( #8157 )
2022-01-31 17:54:19 +01:00
Simon Frei
635085d139
lib/db, lib/model: Remove filesystem state from FileSet ( fixes #7850 ) ( #8151 )
2022-01-31 10:12:52 +01:00
Simon Frei
6094b95784
gui: Fix and align folder editing states ( fixes #8145 ) ( #8147 )
2022-01-30 17:43:39 +01:00
Simon Frei
8763fb05ec
lib/fs: Improve error messages checking file paths ( fixes #7942 ) ( #8148 )
2022-01-29 18:47:55 +01:00
Simon Frei
f0d5dc5696
gui: Fix loading default ignores ( #8135 )
2022-01-21 17:24:11 +01:00
Simon Frei
e40289ce7a
build: Bump quic to v0.25.0 for Go1.18 support ( #8134 )
2022-01-21 14:54:42 +01:00
Simon Frei
45d145a281
gui: Fix bug saving settings ( fixes #8116 ) ( #8117 )
2022-01-16 19:06:50 +01:00
Simon Frei
b2996eee87
gui: Handle folder missing in model on error event ( #8120 )
2022-01-16 18:07:33 +01:00
Simon Frei
21d04b895a
lib, gui: Default ignores for new folders ( fixes #7428 ) ( #7530 )
2022-01-13 23:38:21 +01:00
Simon Frei
c00c6b3957
build: Bump quic-go to 0.24.0
2021-12-30 13:07:01 +01:00
Simon Frei
591e4d8af1
gui, lib: Fix tracking deleted locally-changed on encrypted ( fixes #7715 ) ( #7726 )
2021-11-10 09:46:21 +01:00
Simon Frei
951b058952
lib/model: Set mod. time after writing trailer in shortcut (ref #7992 )
2021-10-24 16:50:30 +02:00
Simon Frei
517667c590
lib/model: Pull when a new connection is established ( fixes #8012 ) ( #8013 )
2021-10-20 18:55:22 +02:00
Simon Frei
c94b797f00
lib/protocol: Preserve sequence decrypting fileinfos ( fixes #7994 ) ( #7995 )
2021-10-06 10:26:54 +02:00
Simon Frei
708a5c2070
lib/model: Write trailer when shortcutting on recv-enc ( fixes #7991 ) ( #7992 )
2021-10-05 11:23:27 +02:00
Simon Frei
721cd740d8
lib/model: Don't reset db while folder is running ( fixes #7935 ) ( #7936 )
2021-09-11 17:14:47 +02:00
Simon Frei
4e2a9bb139
lib/model: Remove encryption pw on folder stop ( #7925 )
2021-09-03 09:54:47 +02:00
Simon Frei
5711bacd83
build: Readd systemd files to deb releases (ref #7564 ) ( #7899 )
2021-08-22 20:04:47 +02:00
Simon Frei
70a840d3d5
lib/connections: Remove future go build constraints on quic ( #7898 )
2021-08-19 21:05:28 +02:00
Simon Frei
0fe72e6fc5
lib/model: Schedule pull after revert on recv-enc ( #7892 )
2021-08-17 09:24:10 +02:00
Simon Frei
c025e76f30
lib/model: Do not wait for scan when setting ignores ( fixes #7893 ) ( #7891 )
2021-08-17 09:23:33 +02:00
Simon Frei
e1bf1e672e
lib/ur: Fix panic getting goroutines for failures (ref #7785 ) ( #7890 )
2021-08-16 22:47:05 +02:00
Simon Frei
db302b15ea
lib/syncthing: Set system timezone on android ( #7878 )
2021-08-09 09:27:14 +02:00
Simon Frei
952f3ffb0c
lib/db/backend: Prevent panic in errors.As ( #7873 )
2021-08-05 11:25:20 +01:00
Simon Frei
e61091d240
lib/stun: Prevent nil deref when naming service ( #7872 )
2021-08-05 00:04:22 +01:00
Simon Frei
50aacdf1f0
lib/protocol: Ensure correct blocksize on enc. fileinfo (ref #7861 ) ( #7870 )
2021-08-04 23:12:01 +02:00
Simon Frei
e56e8b7aa1
lib/model: Don't consider hashes pulling on recv-enc ( #7869 )
2021-08-04 11:10:10 +02:00
Simon Frei
734c2fc870
Merge branch 'release'
2021-07-30 14:46:20 +02:00
Simon Frei
67b18569cf
all: Send deadlocks as failures, crash only as a last resort ( #7785 )
2021-07-27 21:27:52 +02:00
Simon Frei
dc0dd09e93
lib/model: Don't try to delete deleted item on revert ( #7843 )
2021-07-23 14:26:20 +02:00
Simon Frei
7ec76095e6
gui, script: Parse JS files for translation values ( fixes #7845 ) ( #7846 )
2021-07-23 14:24:08 +02:00
Simon Frei
cb26552440
gui, script: Fix various gui string/translation issues ( fixes #7839 ) ( #7842 )
2021-07-22 11:47:03 +02:00
Simon Frei
1ae5ac7d0b
cmd/stcrashreceiver: Sanitize failure report fingerprints ( #7840 )
2021-07-22 11:16:24 +02:00
Simon Frei
eeb7091180
lib/model: Missing fmut-lock on encryption failures ( #7841 )
2021-07-22 11:15:25 +02:00
Simon Frei
1921533c4c
lib/connections: Fully dial resumed devices ( #7798 )
2021-07-03 18:26:55 +02:00
Simon Frei
89e762fd6e
lib/model: Prevent folder-type change from/to encrypted ( fixes #7704 ) ( #7796 )
2021-07-03 13:47:04 +02:00
Simon Frei
a63d3ee625
lib/model: Scan removed dirs when reverting recv-enc ( fixes #7706 ) ( #7797 )
2021-07-03 13:46:24 +02:00
Simon Frei
445a82f120
lib/model: Compare all items with global on scan ( fixes #7740 ) ( #7791 )
2021-06-27 08:48:54 +02:00
Simon Frei
69ce121267
lib/db: Missing event-logger in write-transaction ( #7793 )
2021-06-27 08:43:49 +02:00
Simon Frei
08e3cd1cce
lib/fs: Set expiry after DirNames in case-fs ( #7794 )
2021-06-27 08:30:02 +02:00
Simon Frei
c78fa42f31
lib/connections: Dial devices in parallel ( #7783 )
2021-06-25 11:38:04 +02:00
Simon Frei
c84e8d1e09
gui: Consider size 0 items in remote completion ( fixes #7741 ) ( #7781 )
2021-06-21 22:53:50 +02:00
Simon Frei
5fb72eed85
gui: Make listener/discovery modal more discoverable ( #7780 )
2021-06-21 21:44:28 +02:00
Simon Frei
400d62c1e6
lib/connections: Missed map init in nextDialAt (ref #7753 ) ( #7778 )
2021-06-17 21:13:57 +04:00
Simon Frei
857caf3637
lib/connections: Trigger dialer when connection gets closed ( #7753 )
2021-06-17 13:57:44 +02:00
Simon Frei
aeca1fb575
lib/db: Check if sequences change when repairing metadata ( #7770 )
2021-06-17 13:53:39 +02:00
Simon Frei
ac2988a485
gui, lib: Handle pw adding remote encrypted folder ( fixes #7705 ) ( #7772 )
2021-06-17 13:53:02 +02:00
Simon Frei
cb5ef250f4
build: Add codecov upload script to repo ( #7776 )
2021-06-17 13:52:10 +02:00
Simon Frei
23a0e18292
lib/db: Fix accounting bug when dropping indexes ( #7774 )
2021-06-17 10:15:11 +02:00
Simon Frei
aa6c55dec1
lib/model: Remove bogus failureevent when restarting folder ( #7773 )
2021-06-17 08:57:24 +02:00
Simon Frei
2c7d9b59c6
gui: Fix race in online event callback ( fixes #7733 ) ( #7771 )
2021-06-16 19:32:30 +02:00
Simon Frei
1e7a3997e3
lib/db, lib/model: Improve error handling on pending items ( #7754 )
2021-06-09 13:35:17 +02:00
Simon Frei
1a22689328
lib/db: Add failure reports to failures iterating over hashes ( #7755 )
2021-06-07 23:10:35 +02:00
Simon Frei
18592af993
lib/model: Fix wrongly hardcoded arguments in test helper ( #7749 )
2021-06-05 17:01:23 +02:00
Simon Frei
b1e0e7b923
lib/model: Fix indexhandling for new folders paused on remote ( #7747 )
2021-06-05 16:27:15 +02:00
Simon Frei
6494a9332d
lib/model: Fix test introduced in #7714 failing due to #7689 ( #7745 )
2021-06-04 15:32:47 +02:00
Simon Frei
41baccb85d
lib/model: Fix passwords on receive-enc needing token (ref #7518 ) ( #7739 )
2021-06-03 15:39:49 +02:00
Simon Frei
52eb7392c4
lib/api, lib/config: Apply defaults before deserializing json ( #7690 )
2021-06-03 15:09:35 +02:00
Simon Frei
855c53ad02
lib/model: Fix reverting when version has only our own ID ( fixes #7708 ) ( #7714 )
2021-06-03 15:08:56 +02:00
Simon Frei
004eded398
lib/model: Don't share with introduced device if encrypted ( fixes #7724 ) ( #7734 )
2021-06-03 15:02:57 +02:00
Simon Frei
df48276300
lib/model: Ensure indexes are only received after checking IDs (ref #7649 ) ( #7689 )
2021-06-03 14:58:50 +02:00
Simon Frei
fcb19518c7
build, lib/model: Add flag to run tests without -short and fix failure ( #7716 )
2021-05-28 22:20:18 +02:00
Simon Frei
22e09334ec
lib/model: Fix incoming request on receive-enc ( fixes #7699 ) ( #7702 )
2021-05-22 21:38:49 +02:00
Simon Frei
58592e3ef1
lib/db: Add logging for GC ( #7707 )
2021-05-22 21:36:43 +02:00
Simon Frei
0126188ba7
lib/config: Set DisableTempIndexes to true on receive-encrypted ( #7701 )
2021-05-20 22:33:23 +02:00