server selected unsupported protocol version 303

You need to either upgrade that really old Debian version or stay on an older version on the other side.

IMHO old TLS versions should first give a deprecation warning of some sort or the enforcement should be done in a major version (2.x.x) only.

insecureAllowOldTLSVersions should have been an option, but default for now.

Debian stable still ships with 1.0.0 by default (see here) and forcing TLS 1.3 breaks syncs.

Just turning this off and leaving users to wonder why their devices suddenly all show Disconnected and making them search for the error on github and forums isn’t really a good way to do this.

7 Likes

This makes sense (although it is probably too late), but at the same time, I would personally say that it is really Debian that should be giving their users a warning on installing that old version of Syncthing that it may not be compatible with the newer ones. This would make the users at least aware of potential problems.

For the record, the OP stated that their Syncthing ran 1.17.0 on both sides though.

1 Like

Updating my Raspberry pi os did the trick

I just ran sudo apt update && sudo apt upgrade on my Raspberry Pi running RetroPie (so basically Raspbian). It’s still running Syncthing version 1.0.0 and unable to sync with my Android device running version 1.17.0 with the same error (server selected unsupported protocol version 303).

Is there anything else you did to get it to connect that I could try?

Edit: I got it to work by using the Syncthing-Fork android app.

A simple upgrade is not enough. You need to add Syncthings apt repository first.

https://apt.syncthing.net/

2 Likes

That’s only a temporary workaround until @Catfriend1 releases 1.17.0. This can only be solved by updating your old Syncthing versions.

2 Likes

You need to either upgrade that really old Debian version or stay on an older version on the other side.

The Syncthing Versions & Releases documentation indicates that if two versions of Syncthing ‘cannot connect to each other or otherwise can’t sync files for some reason’ then the new version should be a new major version.

I strongly suggest that 1.17.0 should have been 2.0.0. Or, better still, have defaulted to a compatible mode.

Adding another apt repo decreases system stability, which is a large part of the reason someone would be running Debian stable in the first place.

2 Likes

I agree but proper use of Semver does not solve version incompatibilities, it only makes them easily discoverable.

Less secure defaults for everyone as long as Debian supports the release isn’t really that great.

The syncthing apt repo ships statically linked binaries and doesn’t override any non-syncthing packages.

Whether the software is “too old”, insecure, or both, the documentation has to be accurate. It’s the only authoritative resource we have to administer our systems and if the docs are irrefutably incorrect then what’s the point of them?

There is theoretical purity and there is pragmatism. I generally lean towards the latter. A 2.0 would imply major changes, incompatibility with all 1.x versions, and prevent auto upgrades. None of that was desirable. A couple of early 1.x versions are incompatible; there are workarounds. This is not the end of the world.

6 Likes

And on top of that: Only incompatible by default. You can still trade security for compatibility with an opt-in configuration switch.

1 Like

Unless users lose data because Syncthing silently stops syncing.

2 Likes

Suggestion: If syncthing encounters and error precipitated by an update, put a notification banner across the top of the syncthing web-ui that summarizes the issue and links to a page that explains options in more detail. A less-technical user would have a hard time figuring out what’s wrong and something like this would be very useful. Even for technical users, this would be very nice.

1 Like

You can still trade security for compatibility with an opt-in configuration switch.

Any update on this? I noticed that my co-workers were not able to connect to my repo, because I had updated all my repos to 1.18.

Now I’m forced to downgrade and loose my syncthing database in order to re-connect to their network.

1 Like

What update are you waiting for?

The setting was already mentioned and can be set in the web UI on Android.

1 Like

The setting was already mentioned and can be set in the web UI on Android.

Where is it?

Edit:

This one I assume.

yes, that.

1 Like

Totally asinine move on syncthing’s part. Not even a message when starting syncthing. There could be a compatibility check upon running syncthing that would give users a fscking clue. Maybe you are too busy worried about politics such as “rasicm”. You sure got that posted on the front page which is exactly where the version(s) total incompatibility should be posted.

I’ll use something else.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.