Skip to content
Snippets Groups Projects
Commit 56dc5bd5 authored by Josh Brooks's avatar Josh Brooks
Browse files

Integrate timestamp with register with persmissioning calls

parent 5ecffb0d
Branches
Tags
1 merge request!23Release
...@@ -14,7 +14,8 @@ import ( ...@@ -14,7 +14,8 @@ import (
"gitlab.com/xx_network/crypto/signature/rsa" "gitlab.com/xx_network/crypto/signature/rsa"
) )
func (perm *Permissioning) Register(transmissionPublicKey, receptionPublicKey *rsa.PublicKey, registrationCode string) ([]byte, []byte, error) { func (perm *Permissioning) Register(transmissionPublicKey, receptionPublicKey *rsa.PublicKey,
registrationCode string) ([]byte, []byte, int64, error) {
return register(perm.comms, perm.host, transmissionPublicKey, receptionPublicKey, registrationCode) return register(perm.comms, perm.host, transmissionPublicKey, receptionPublicKey, registrationCode)
} }
...@@ -26,7 +27,7 @@ type registrationMessageSender interface { ...@@ -26,7 +27,7 @@ type registrationMessageSender interface {
//register registers the user with optional registration code //register registers the user with optional registration code
// Returns an error if registration fails. // Returns an error if registration fails.
func register(comms registrationMessageSender, host *connect.Host, func register(comms registrationMessageSender, host *connect.Host,
transmissionPublicKey, receptionPublicKey *rsa.PublicKey, registrationCode string) ([]byte, []byte, error) { transmissionPublicKey, receptionPublicKey *rsa.PublicKey, registrationCode string) ([]byte, []byte, int64, error) {
response, err := comms. response, err := comms.
SendRegistrationMessage(host, SendRegistrationMessage(host,
...@@ -37,10 +38,12 @@ func register(comms registrationMessageSender, host *connect.Host, ...@@ -37,10 +38,12 @@ func register(comms registrationMessageSender, host *connect.Host,
}) })
if err != nil { if err != nil {
err = errors.Wrap(err, "sendRegistrationMessage: Unable to contact Identity Server!") err = errors.Wrap(err, "sendRegistrationMessage: Unable to contact Identity Server!")
return nil, nil, err return nil, nil, 0, err
} }
if response.Error != "" { if response.Error != "" {
return nil, nil, errors.Errorf("sendRegistrationMessage: error handling message: %s", response.Error) return nil, nil, 0, errors.Errorf("sendRegistrationMessage: error handling message: %s", response.Error)
} }
return response.ClientSignedByServer.Signature, response.ClientReceptionSignedByServer.Signature, nil
return response.ClientSignedByServer.Signature,
response.ClientReceptionSignedByServer.Signature, response.Timestamp, nil
} }
...@@ -68,7 +68,7 @@ func TestRegisterWithPermissioning(t *testing.T) { ...@@ -68,7 +68,7 @@ func TestRegisterWithPermissioning(t *testing.T) {
} }
regCode := "flooble doodle" regCode := "flooble doodle"
sig1, sig2, err := register(&sender, sender.getHost, key.GetPublic(), key.GetPublic(), regCode) sig1, sig2, _, err := register(&sender, sender.getHost, key.GetPublic(), key.GetPublic(), regCode)
if err != nil { if err != nil {
t.Error(err) t.Error(err)
} }
...@@ -105,7 +105,7 @@ func TestRegisterWithPermissioning_ResponseErr(t *testing.T) { ...@@ -105,7 +105,7 @@ func TestRegisterWithPermissioning_ResponseErr(t *testing.T) {
var sender MockRegistrationSender var sender MockRegistrationSender
sender.succeedGetHost = true sender.succeedGetHost = true
sender.errInReply = "failure occurred on permissioning" sender.errInReply = "failure occurred on permissioning"
_, _, err = register(&sender, nil, key.GetPublic(), key.GetPublic(), "") _, _, _, err = register(&sender, nil, key.GetPublic(), key.GetPublic(), "")
if err == nil { if err == nil {
t.Error("no error if registration fails on permissioning") t.Error("no error if registration fails on permissioning")
} }
...@@ -122,7 +122,7 @@ func TestRegisterWithPermissioning_ConnectionErr(t *testing.T) { ...@@ -122,7 +122,7 @@ func TestRegisterWithPermissioning_ConnectionErr(t *testing.T) {
var sender MockRegistrationSender var sender MockRegistrationSender
sender.succeedGetHost = true sender.succeedGetHost = true
sender.errSendRegistration = errors.New("connection problem") sender.errSendRegistration = errors.New("connection problem")
_, _, err = register(&sender, nil, key.GetPublic(), key.GetPublic(), "") _, _, _, err = register(&sender, nil, key.GetPublic(), key.GetPublic(), "")
if err == nil { if err == nil {
t.Error("no error if e.g. context deadline exceeded") t.Error("no error if e.g. context deadline exceeded")
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment