From 51c932164f2d367f1219eaeb17caf54ae14f04ee Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sun, 15 Mar 2015 17:49:47 +0100 Subject: [PATCH] bep/1.0 negotiation can't be a hard error. --- cmd/syncthing/connections.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cmd/syncthing/connections.go b/cmd/syncthing/connections.go index aafe2c7b..7eaa839e 100644 --- a/cmd/syncthing/connections.go +++ b/cmd/syncthing/connections.go @@ -44,12 +44,11 @@ next: cs := conn.ConnectionState() // We should have negotiated the next level protocol "bep/1.0" as part - // of the TLS handshake. If we didn't, we're not speaking to another - // BEP-speaker so drop the connection. + // of the TLS handshake. Unfortunately this can't be a hard error, + // because there are implementations out there that don't support + // protocol negotiation (iOS for one...). if !cs.NegotiatedProtocolIsMutual || cs.NegotiatedProtocol != bepProtocolName { l.Infof("Peer %s did not negotiate bep/1.0", conn.RemoteAddr()) - conn.Close() - continue } // We should have received exactly one certificate from the other