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
LICENSE Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a' 2015-09-22 19:34:29 +02:00
benchmark_test.go all: Fix unused method receiver (further) (#8466) 2022-07-28 17:55:29 +02:00
bep.pb.go all: Support syncing extended attributes (fixes #2698) (#8513) 2022-09-14 09:50:55 +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
bufferpool.go Fix bufferpool puts (ref #4976) (#6125) 2019-11-06 10:53:10 +00:00
bufferpool_test.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.go all: Move remaining protos to use the vanity plugin (#7009) 2020-10-02 08:07:05 +02:00
compression_test.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.go all: Clean up fmt.Errorf usage (#8309) 2022-04-27 20:30:13 +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
doc.go Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a' 2015-09-22 19:34:29 +02:00
encryption.go all: Remove unused method receivers (#8462) 2022-07-28 17:32:45 +02:00
encryption_test.go lib/protocol: Preserve sequence decrypting fileinfos (fixes #7994) (#7995) 2021-10-06 10:26:54 +02:00
errors.go lib/protocol: Simplify codeToError, errorToCode 2021-10-22 18:40:40 +02:00
hello.go lib/discover, lib/protocol: Buffer allocation 2021-09-06 15:30:56 +02:00
hello_test.go all: Even more boring linter fixes (#5501) 2019-02-02 11:45:17 +01:00
luhn.go lib/protocol: faster Luhn algorithm and better testing (#6475) 2020-03-29 22:28:04 +02:00
luhn_test.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.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
protocol.go gui, lib/connections: Let the backend decide whether connection is local (fixes #8686) (#8694) 2022-11-28 09:28:33 +01:00
protocol_test.go all: Fix various user-facing and non-user-facing typos (#8509) 2022-08-23 15:44:11 +02:00
vector.go lib/db, lib/protocol: Never need empty-version entries (fixes #6961) (#6962) 2020-09-07 20:18:25 +02: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
wireformat.go all: Add untrusted folders behind feature flag (ref #62) (#7055) 2020-11-09 15:33:32 +01:00