make credentials with version, fix test
This commit is contained in:
parent
f5bb73a3e7
commit
698507d363
@ -11,13 +11,11 @@ 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
|
||||
}
|
||||
|
||||
@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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())
|
||||
|
||||
@ -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())
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user