make credentials with version, fix test

This commit is contained in:
Sergey Cherepanov 2023-05-22 15:31:55 +02:00 committed by Mikhail Iudin
parent f5bb73a3e7
commit 698507d363
No known key found for this signature in database
GPG Key ID: FAAAA8BAABDFF1C0
3 changed files with 6 additions and 10 deletions

View File

@ -11,14 +11,12 @@ import (
func newNoVerifyChecker(protoVersion uint32) handshake.CredentialChecker {
return &noVerifyChecker{
protoVersion: protoVersion,
cred: &handshakeproto.Credentials{Type: handshakeproto.CredentialsType_SkipVerify},
cred: &handshakeproto.Credentials{Type: handshakeproto.CredentialsType_SkipVerify, Version: protoVersion},
}
}
type noVerifyChecker struct {
protoVersion uint32
cred *handshakeproto.Credentials
cred *handshakeproto.Credentials
}
func (n noVerifyChecker) MakeCredentials(sc sec.SecureConn) *handshakeproto.Credentials {
@ -26,7 +24,7 @@ func (n noVerifyChecker) MakeCredentials(sc sec.SecureConn) *handshakeproto.Cred
}
func (n noVerifyChecker) CheckCredential(sc sec.SecureConn, cred *handshakeproto.Credentials) (identity []byte, err error) {
if cred.Version != n.protoVersion {
if cred.Version != n.cred.Version {
return nil, handshake.ErrIncompatibleVersion
}
return nil, nil
@ -59,6 +57,7 @@ func (p *peerSignVerifier) MakeCredentials(sc sec.SecureConn) *handshakeproto.Cr
return &handshakeproto.Credentials{
Type: handshakeproto.CredentialsType_SignedPeerIds,
Payload: payload,
Version: p.protoVersion,
}
}

View File

@ -44,7 +44,6 @@ func TestIncompatibleVersion(t *testing.T) {
a1 := newTestAccData(t)
a2 := newTestAccData(t)
_, _ = a1.SignKey.GetPublic().Marshall()
identity2, _ := a2.SignKey.GetPublic().Marshall()
cc1 := newPeerSignVerifier(0, a1)
cc2 := newPeerSignVerifier(1, a2)
@ -54,9 +53,8 @@ func TestIncompatibleVersion(t *testing.T) {
cr1 := cc1.MakeCredentials(c1)
cr2 := cc2.MakeCredentials(c2)
id1, err := cc1.CheckCredential(c1, cr2)
assert.NoError(t, err)
assert.Equal(t, identity2, id1)
_, err := cc1.CheckCredential(c1, cr2)
assert.EqualError(t, err, handshake.ErrIncompatibleVersion.Error())
_, err = cc2.CheckCredential(c2, cr1)
assert.EqualError(t, err, handshake.ErrIncompatibleVersion.Error())

View File

@ -64,7 +64,6 @@ func (s *secureService) Init(a *app.App) (err error) {
if s.key, err = crypto.UnmarshalEd25519PrivateKey(peerKey); err != nil {
return
}
s.noVerifyChecker = newNoVerifyChecker(s.protoVersion)
s.peerSignVerifier = newPeerSignVerifier(s.protoVersion, account.Account())