diff --git a/handshake_ix.go b/handshake_ix.go index 4c6fd3a..8427278 100644 --- a/handshake_ix.go +++ b/handshake_ix.go @@ -27,12 +27,13 @@ func ixHandshakeStage0(f *Interface, hh *HandshakeHostInfo) bool { v := cs.initiatingVersion if hh.initiatingVersionOverride != cert.VersionPre1 { v = hh.initiatingVersionOverride - } - // If we're connecting to a v6 address we must use a v2 cert - for _, a := range hh.hostinfo.vpnAddrs { - if a.Is6() { - v = cert.Version2 - break + } else if v < cert.Version2 { + // If we're connecting to a v6 address we must use a v2 cert + for _, a := range hh.hostinfo.vpnAddrs { + if a.Is6() { + v = cert.Version2 + break + } } }