syncthing/lib/protocol
André Colomb ab0eb909a2
gui, lib/connections: Let the backend decide whether connection is local (fixes #8686) (#8694)
* lib/connections: Cache isLAN decision for later external access.

The check whether a remote device's address is on a local network
currently happens when handling the Hello message, to configure the
limiters.  Save the result to the ConnectionInfo and pass it out as
part of the model's ConnectionInfo struct in ConnectionStats().

* gui: Use provided connection attribute to distinguish LAN / WAN.

Replace the dumb IP address check which didn't catch common cases and
actually could contradict what the backend decided.  That could have
been confusing if the GUI says WAN, but the limiter is not actually
applied because the backend thinks it's a LAN.

Add strings for QUIC and relay connections to also differentiate
between LAN and WAN.

* gui: Redefine reception level icons for all connection types.

Move the mapping to the JS code, as it is much easier to handle
multiple switch cases by fall-through there.

QUIC is regarded no less than TCP anymore.  LAN and WAN make the
difference between levels 4 / 3 and 2 / 1:

{TCP,QUIC} LAN --> {TCP,QUIC} WAN --> Relay LAN --> Relay WAN -->
Disconnected.
2022-11-28 09:28:33 +01:00
..
mocks gui, lib/connections: Let the backend decide whether connection is local (fixes #8686) (#8694) 2022-11-28 09:28:33 +01:00
benchmark_test.go all: Fix unused method receiver (further) (#8466) 2022-07-28 17:55:29 +02:00
bep_extensions.go lib/protocol: Ignore inode time when xattr&ownership is ignored (fixes #8654) (#8655) 2022-11-08 08:36:41 +01:00
bep.pb.go all: Support syncing extended attributes (fixes #2698) (#8513) 2022-09-14 09:50:55 +02:00
bufferpool_test.go Fix bufferpool puts (ref #4976) (#6125) 2019-11-06 10:53:10 +00:00
bufferpool.go Fix bufferpool puts (ref #4976) (#6125) 2019-11-06 10:53:10 +00:00
common_test.go all: Remove unused method receivers (#8462) 2022-07-28 17:32:45 +02:00
compression_test.go all: Move remaining protos to use the vanity plugin (#7009) 2020-10-02 08:07:05 +02:00
compression.go all: Move remaining protos to use the vanity plugin (#7009) 2020-10-02 08:07:05 +02:00
conflict_test.go lib/db: Refactor to use global list by version (fixes #6372) (#6638) 2020-05-30 09:50:23 +02:00
counting.go all: Add comment to ensure correct atomics alignment (fixes #5813) 2019-07-13 14:05:39 +01:00
debug.go all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
deviceid_test.go lib: Use counterfeiter to mock interfaces in tests (#7375) 2021-03-03 08:53:50 +01:00
deviceid_test.pb.go all: Regenerate proto (#7696) 2021-05-19 13:30:20 +02:00
deviceid.go all: Clean up fmt.Errorf usage (#8309) 2022-04-27 20:30:13 +02:00
doc.go Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a' 2015-09-22 19:34:29 +02:00
encryption_test.go lib/protocol: Preserve sequence decrypting fileinfos (fixes #7994) (#7995) 2021-10-06 10:26:54 +02:00
encryption.go all: Remove unused method receivers (#8462) 2022-07-28 17:32:45 +02:00
errors.go lib/protocol: Simplify codeToError, errorToCode 2021-10-22 18:40:40 +02:00
hello_test.go all: Even more boring linter fixes (#5501) 2019-02-02 11:45:17 +01:00
hello.go lib/discover, lib/protocol: Buffer allocation 2021-09-06 15:30:56 +02:00
LICENSE Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a' 2015-09-22 19:34:29 +02:00
luhn_test.go lib/protocol: faster Luhn algorithm and better testing (#6475) 2020-03-29 22:28:04 +02:00
luhn.go lib/protocol: faster Luhn algorithm and better testing (#6475) 2020-03-29 22:28:04 +02:00
mocked_connection_info_test.go gui, lib/connections: Let the backend decide whether connection is local (fixes #8686) (#8694) 2022-11-28 09:28:33 +01:00
nativemodel_darwin.go lib/protocol: Eliminate nativeModel on Unix 2021-10-22 18:40:40 +02:00
nativemodel_unix.go lib/protocol: Eliminate nativeModel on Unix 2021-10-22 18:40:40 +02:00
nativemodel_windows_test.go lib/model, lib/protocol: Handle request concurrency in model (#5216) 2018-11-13 08:53:55 +01:00
nativemodel_windows.go lib/protocol: Eliminate nativeModel on Unix 2021-10-22 18:40:40 +02:00
protocol_test.go all: Fix various user-facing and non-user-facing typos (#8509) 2022-08-23 15:44:11 +02:00
protocol.go gui, lib/connections: Let the backend decide whether connection is local (fixes #8686) (#8694) 2022-11-28 09:28:33 +01:00
vector_test.go lib/protocol: Avoid data loss on database wipe by higher version numbers (fixes #3876) (#6605) 2020-05-06 08:47:02 +02:00
vector.go lib/db, lib/protocol: Never need empty-version entries (fixes #6961) (#6962) 2020-09-07 20:18:25 +02:00
wireformat.go all: Add untrusted folders behind feature flag (ref #62) (#7055) 2020-11-09 15:33:32 +01:00