diff --git a/api/client.go b/api/client.go index 68270dc0d5b5fd0bc63eee4aa3e32ad15ad93a14..dde04e469171dc353234caab1912c7ba1ff8f2c2 100644 --- a/api/client.go +++ b/api/client.go @@ -40,6 +40,8 @@ type Client struct { switchboard *switchboard.Switchboard //object used for communications comms *client.Comms + // Network parameters + parameters params.Network // note that the manager has a pointer to the context in many cases, but // this interface allows it to be mocked for easy testing without the @@ -175,8 +177,8 @@ func loadClient(session *storage.Session, rngStreamGen *fastRNG.StreamGenerator, } //get the user from session - user := c.storage.User() - cryptoUser := user.GetCryptographicIdentity() + u := c.storage.User() + cryptoUser := u.GetCryptographicIdentity() //start comms c.comms, err = client.NewClientComms(cryptoUser.GetUserID(), @@ -197,6 +199,9 @@ func loadClient(session *storage.Session, rngStreamGen *fastRNG.StreamGenerator, "permissioning handler") } + // Add network parameters + c.parameters = parameters + // check the client version is up to date to the network err = c.checkVersion() if err != nil { @@ -263,7 +268,7 @@ func loadClient(session *storage.Session, rngStreamGen *fastRNG.StreamGenerator, // Responds to confirmations of successful rekey operations // - Auth Callback (/auth/callback.go) // Handles both auth confirm and requests -func (c *Client) StartNetworkFollower(parameters params.Rekey) error { +func (c *Client) StartNetworkFollower() error { jww.INFO.Printf("StartNetworkFollower()") err := c.status.toStarting() @@ -281,7 +286,7 @@ func (c *Client) StartNetworkFollower(parameters params.Rekey) error { } c.runner.Add(stopFollow) // Key exchange - c.runner.Add(keyExchange.Start(c.switchboard, c.storage, c.network, parameters)) + c.runner.Add(keyExchange.Start(c.switchboard, c.storage, c.network, c.parameters.Rekey)) err = c.status.toRunning() if err != nil { diff --git a/bindings/client.go b/bindings/client.go index c4f933a0876894afcb566fe7895820353cd9878b..43bd0a640a2b7a62975f001b2b76587751c4a34d 100644 --- a/bindings/client.go +++ b/bindings/client.go @@ -176,13 +176,8 @@ func UnmarshalSendReport(b []byte) (*SendReport, error) { // Responds to sent rekeys and executes them // - KeyExchange Confirm (/keyExchange/confirm.go) // Responds to confirmations of successful rekey operations -func (c *Client) StartNetworkFollower(parameters string) error { - p, err := params.GetRekeyParameters(parameters) - if err != nil { - return errors.New(fmt.Sprintf("Failed to start the "+ - "network follower: %+v", err)) - } - if err := c.api.StartNetworkFollower(p); err != nil { +func (c *Client) StartNetworkFollower() error { + if err := c.api.StartNetworkFollower(); err != nil { return errors.New(fmt.Sprintf("Failed to start the "+ "network follower: %+v", err)) } diff --git a/bindings/params.go b/bindings/params.go index d32541ad1f7e46bf45ba2d5653f97063da34c4cf..35afbb8901cfd5e8309f8be7a30a14c907496c23 100644 --- a/bindings/params.go +++ b/bindings/params.go @@ -23,11 +23,6 @@ func (c *Client) GetE2EParams() (string, error) { return string(p), err } -func (c *Client) GetRekeyParams() (string, error) { - p, err := params.GetDefaultRekey().Marshal() - return string(p), err -} - func (c *Client) GetNetworkParams() (string, error) { p, err := params.GetDefaultNetwork().Marshal() return string(p), err diff --git a/cmd/root.go b/cmd/root.go index 87ed87c850fa8a341a35379be9253b07bd5bb079..b98d676ee256300fc614879c693431445897b48e 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -110,7 +110,7 @@ var rootCmd = &cobra.Command{ }) } - err = client.StartNetworkFollower(params.GetDefaultRekey()) + err = client.StartNetworkFollower() if err != nil { jww.FATAL.Panicf("%+v", err) } diff --git a/interfaces/params/keyExchange.go b/interfaces/params/keyExchange.go index 24166e304c0b7243516f5fc8d5d127ed6b9506a3..c30b49c6168f52fb7ad97098f123bb226486ee11 100644 --- a/interfaces/params/keyExchange.go +++ b/interfaces/params/keyExchange.go @@ -8,7 +8,6 @@ package params import ( - "encoding/json" "time" ) @@ -21,19 +20,3 @@ func GetDefaultRekey() Rekey { RoundTimeout: time.Minute, } } - -func (r Rekey) Marshal() ([]byte, error) { - return json.Marshal(r) -} - -// Obtain default Rekey parameters, or override with given parameters if set -func GetRekeyParameters(params string) (Rekey, error) { - p := GetDefaultRekey() - if len(params) > 0 { - err := json.Unmarshal([]byte(params), &p) - if err != nil { - return Rekey{}, err - } - } - return p, nil -} diff --git a/interfaces/params/keyExchange_test.go b/interfaces/params/keyExchange_test.go deleted file mode 100644 index f45ff2c6a838642e05e739388192a68b21dd0663..0000000000000000000000000000000000000000 --- a/interfaces/params/keyExchange_test.go +++ /dev/null @@ -1,44 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Copyright © 2021 Privategrity Corporation / -// / -// All rights reserved. / -//////////////////////////////////////////////////////////////////////////////// - -package params - -import "testing" - -// New params path -func TestGetRekeyParameters(t *testing.T) { - p := GetDefaultRekey() - - expected := p.RoundTimeout + 1 - p.RoundTimeout = expected - jsonString, err := p.Marshal() - if err != nil { - t.Errorf("%+v", err) - } - - q, err := GetRekeyParameters(string(jsonString)) - if err != nil { - t.Errorf("%+v", err) - } - - if q.RoundTimeout != expected { - t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTimeout, expected) - } -} - -// No new params path -func TestGetRekeyParameters_Default(t *testing.T) { - p := GetDefaultRekey() - - q, err := GetRekeyParameters("") - if err != nil { - t.Errorf("%+v", err) - } - - if q.RoundTimeout != p.RoundTimeout { - t.Errorf("Parameters failed to change! Got %d, Expected %d", q.RoundTimeout, p.RoundTimeout) - } -} diff --git a/interfaces/params/network.go b/interfaces/params/network.go index 3c5da7cad1541d0119496c59abe69139ae9d2bfc..75e7aa4e4dd04d8a8a9d33f253d95eac8ae44e67 100644 --- a/interfaces/params/network.go +++ b/interfaces/params/network.go @@ -24,6 +24,7 @@ type Network struct { Rounds Messages + Rekey } func GetDefaultNetwork() Network { diff --git a/network/internal/internal.go b/network/internal/internal.go index ae0580da5d72bbe83cd8e84e3d61485a80bdc933..51b25214cb89e94cc10234488b6ea6010e8ed765 100644 --- a/network/internal/internal.go +++ b/network/internal/internal.go @@ -35,6 +35,4 @@ type Internal struct { //channels NodeRegistration chan network.NodeGateway - //local pointer to user ID because it is used often - }