diff --git a/api/client.go b/api/client.go index f56a4ca3ff432224e1bc4f0ffaddb60233cfd937..c7d27fe3ef8aa067643bd164e9b8ab94205dc9a4 100644 --- a/api/client.go +++ b/api/client.go @@ -16,7 +16,7 @@ import ( "gitlab.com/elixxir/client/interfaces/user" "gitlab.com/elixxir/client/keyExchange" "gitlab.com/elixxir/client/network" - "gitlab.com/elixxir/client/permissioning" + "gitlab.com/elixxir/client/registration" "gitlab.com/elixxir/client/stoppable" "gitlab.com/elixxir/client/storage" "gitlab.com/elixxir/client/switchboard" @@ -56,7 +56,7 @@ type Client struct { // loop network interfaces.NetworkManager //object used to register and communicate with permissioning - permissioning *permissioning.Permissioning + permissioning *registration.Registration //object containing auth interactions auth *auth.Manager @@ -221,10 +221,10 @@ func Login(storageDir string, password []byte, parameters params.Network) (*Clie return nil, err } - //get the NDF to pass into permissioning and the network manager + //get the NDF to pass into registration and the network manager def := c.storage.GetNDF() - //initialize permissioning + //initialize registration if def.Registration.Address != "" { err = c.initPermissioning(def) if err != nil { @@ -293,7 +293,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte, //store the updated base NDF c.storage.SetNDF(def) - //initialize permissioning + //initialize registration if def.Registration.Address != "" { err = c.initPermissioning(def) if err != nil { @@ -338,14 +338,14 @@ func (c *Client) initComms() error { func (c *Client) initPermissioning(def *ndf.NetworkDefinition) error { var err error - //initialize permissioning - c.permissioning, err = permissioning.Init(c.comms, def) + //initialize registration + c.permissioning, err = registration.Init(c.comms, def) if err != nil { return errors.WithMessage(err, "failed to init "+ "permissioning handler") } - //register with permissioning if necessary + //register with registration if necessary if c.storage.GetRegistrationStatus() == storage.KeyGenComplete { jww.INFO.Printf("Client has not registered yet, attempting registration") err = c.registerWithPermissioning() @@ -702,7 +702,7 @@ func checkVersionAndSetupStorage(def *ndf.NetworkDefinition, storageDir string, //move the registration state to keys generated err = storageSess.ForwardRegistrationStatus(storage.KeyGenComplete) } else { - //move the registration state to indicate registered with permissioning + //move the registration state to indicate registered with registration err = storageSess.ForwardRegistrationStatus(storage.PermissioningComplete) } diff --git a/api/permissioning.go b/api/permissioning.go index cf0d3cb89a9de3dc37bcee689c2a23dc8f06d855..3fd0153e0116837f4d36c2e30b1bf5181e84d9b7 100644 --- a/api/permissioning.go +++ b/api/permissioning.go @@ -26,7 +26,7 @@ func (c *Client) registerWithPermissioning() error { "permissioning") } - //register with permissioning + //register with registration transmissionRegValidationSignature, receptionRegValidationSignature, registrationTimestamp, err := c.permissioning.Register(transmissionPubKey, receptionPubKey, regCode) if err != nil { diff --git a/api/version_vars.go b/api/version_vars.go index e2fb460e8729bf5fc6071b5d11eb373b7a112851..4c7400d408c23d6a07c021ca80643bc7b362fc22 100644 --- a/api/version_vars.go +++ b/api/version_vars.go @@ -1,9 +1,9 @@ // Code generated by go generate; DO NOT EDIT. // This file was generated by robots at -// 2021-07-15 16:06:06.709454021 -0700 PDT m=+0.009378863 +// 2021-07-27 14:13:01.428348 -0500 CDT m=+0.036560333 package api -const GITVERSION = `76ffcc37 update deps` +const GITVERSION = `758d1e91 Merge branch 'protoMainNet' into 'release'` const SEMVER = "2.8.0" const DEPENDENCIES = `module gitlab.com/elixxir/client @@ -24,13 +24,13 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 github.com/spf13/viper v1.7.1 gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228 - gitlab.com/elixxir/comms v0.0.4-0.20210715174633-c97d38a8f2be - gitlab.com/elixxir/crypto v0.0.7-0.20210715174359-2ee9461daae7 + gitlab.com/elixxir/comms v0.0.4-0.20210714201329-5efcbdfac3ca + gitlab.com/elixxir/crypto v0.0.7-0.20210714201100-45fb778a00fb gitlab.com/elixxir/ekv v0.1.5 - gitlab.com/elixxir/primitives v0.0.3-0.20210715174241-fddf320de581 - gitlab.com/xx_network/comms v0.0.4-0.20210715174212-d2408ed3c8ce - gitlab.com/xx_network/crypto v0.0.5-0.20210715174114-f33d03bc10ec - gitlab.com/xx_network/primitives v0.0.4-0.20210715170345-a78092d7b48e + gitlab.com/elixxir/primitives v0.0.3-0.20210714200942-a908050c230c + gitlab.com/xx_network/comms v0.0.4-0.20210714165756-8e3b40d71db1 + gitlab.com/xx_network/crypto v0.0.5-0.20210714165656-1ed326047ba9 + gitlab.com/xx_network/primitives v0.0.4-0.20210727175935-dd746a0d73de golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 golang.org/x/net v0.0.0-20210525063256-abc453219eb5 google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1 // indirect diff --git a/cmd/getndf.go b/cmd/getndf.go index 7562acd153adc1257667faacb4d4a0ccbfbc2e74..22edea7c6f99803110bcf95a88914ab01e84f67c 100644 --- a/cmd/getndf.go +++ b/cmd/getndf.go @@ -110,7 +110,7 @@ func init() { viper.BindPFlag("gwhost", getNDFCmd.Flags().Lookup("gwhost")) getNDFCmd.Flags().StringP("permhost", "", "", - "Poll this permissioning host:port for the NDF") + "Poll this registration host:port for the NDF") viper.BindPFlag("permhost", getNDFCmd.Flags().Lookup("permhost")) diff --git a/go.mod b/go.mod index 210d981f4dfab0bc43bc4954a70f87c42ad16575..593a8a2551829adc50805b851b1fdcc3e8e2ccc1 100644 --- a/go.mod +++ b/go.mod @@ -17,13 +17,13 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 github.com/spf13/viper v1.7.1 gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228 - gitlab.com/elixxir/comms v0.0.4-0.20210715174633-c97d38a8f2be - gitlab.com/elixxir/crypto v0.0.7-0.20210715174359-2ee9461daae7 + gitlab.com/elixxir/comms v0.0.4-0.20210727193005-77b7208dbebb + gitlab.com/elixxir/crypto v0.0.7-0.20210727192727-d801dea28fcf gitlab.com/elixxir/ekv v0.1.5 - gitlab.com/elixxir/primitives v0.0.3-0.20210715174241-fddf320de581 - gitlab.com/xx_network/comms v0.0.4-0.20210715174212-d2408ed3c8ce - gitlab.com/xx_network/crypto v0.0.5-0.20210715174114-f33d03bc10ec - gitlab.com/xx_network/primitives v0.0.4-0.20210715170345-a78092d7b48e + gitlab.com/elixxir/primitives v0.0.3-0.20210727192608-609254eca789 + gitlab.com/xx_network/comms v0.0.4-0.20210727192538-2e78b803c7fc + gitlab.com/xx_network/crypto v0.0.5-0.20210727192439-c1ce10d60b7e + gitlab.com/xx_network/primitives v0.0.4-0.20210727191551-5fe750830811 golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 golang.org/x/net v0.0.0-20210525063256-abc453219eb5 google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1 // indirect diff --git a/go.sum b/go.sum index 2102558caab8e8ba498173cc8e86093283798d2e..1d4fdd8fcec547d79832f17471a1c2b6efb4bab2 100644 --- a/go.sum +++ b/go.sum @@ -251,32 +251,32 @@ github.com/zeebo/pcg v1.0.0 h1:dt+dx+HvX8g7Un32rY9XWoYnd0NmKmrIzpHF7qiTDj0= github.com/zeebo/pcg v1.0.0/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228 h1:Gi6rj4mAlK0BJIk1HIzBVMjWNjIUfstrsXC2VqLYPcA= gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228/go.mod h1:H6jztdm0k+wEV2QGK/KYA+MY9nj9Zzatux/qIvDDv3k= -gitlab.com/elixxir/comms v0.0.4-0.20210715174633-c97d38a8f2be h1:DO36PFykUoVwETXj9UL9VYGrxVkqbHRGIh7wxSaXGWA= -gitlab.com/elixxir/comms v0.0.4-0.20210715174633-c97d38a8f2be/go.mod h1:3mKdoqB+U5bQS6IH6ecfX5X5nbmJTL2M0+o4SJh0R0Q= +gitlab.com/elixxir/comms v0.0.4-0.20210727193005-77b7208dbebb h1:bQHf86XcS92rJfA7go5/Nt9J+VnHwzQvXn6ZYpuSur4= +gitlab.com/elixxir/comms v0.0.4-0.20210727193005-77b7208dbebb/go.mod h1:1OAVxmLZNseR+U8II0KU56sd1k+61oWGrMOZR8z4DaY= gitlab.com/elixxir/crypto v0.0.0-20200804182833-984246dea2c4/go.mod h1:ucm9SFKJo+K0N2GwRRpaNr+tKXMIOVWzmyUD0SbOu2c= gitlab.com/elixxir/crypto v0.0.3/go.mod h1:ZNgBOblhYToR4m8tj4cMvJ9UsJAUKq+p0gCp07WQmhA= -gitlab.com/elixxir/crypto v0.0.7-0.20210715174359-2ee9461daae7 h1:1nHVEYQ04nA41OhIlwT4it72/GwC/l2MFca+OIgqzB8= -gitlab.com/elixxir/crypto v0.0.7-0.20210715174359-2ee9461daae7/go.mod h1:maWK7FLT+JdRgd99dR2ECyzYNsZ/UqKFR5ytuTmI55A= +gitlab.com/elixxir/crypto v0.0.7-0.20210727192727-d801dea28fcf h1:7AetXHtuTIEXPWWGS+x8Wk0xu/F7zXVE4GBOmRmjkIY= +gitlab.com/elixxir/crypto v0.0.7-0.20210727192727-d801dea28fcf/go.mod h1:xgE3s3yop+USKLWIBII+ytrctMgUoS/RkZfiuEwFSbI= gitlab.com/elixxir/ekv v0.1.5 h1:R8M1PA5zRU1HVnTyrtwybdABh7gUJSCvt1JZwUSeTzk= gitlab.com/elixxir/ekv v0.1.5/go.mod h1:e6WPUt97taFZe5PFLPb1Dupk7tqmDCTQu1kkstqJvw4= gitlab.com/elixxir/primitives v0.0.0-20200731184040-494269b53b4d/go.mod h1:OQgUZq7SjnE0b+8+iIAT2eqQF+2IFHn73tOo+aV11mg= gitlab.com/elixxir/primitives v0.0.0-20200804170709-a1896d262cd9/go.mod h1:p0VelQda72OzoUckr1O+vPW0AiFe0nyKQ6gYcmFSuF8= gitlab.com/elixxir/primitives v0.0.0-20200804182913-788f47bded40/go.mod h1:tzdFFvb1ESmuTCOl1z6+yf6oAICDxH2NPUemVgoNLxc= gitlab.com/elixxir/primitives v0.0.1/go.mod h1:kNp47yPqja2lHSiS4DddTvFpB/4D9dB2YKnw5c+LJCE= -gitlab.com/elixxir/primitives v0.0.3-0.20210715174241-fddf320de581 h1:8PzV66I3eBHhaCWSF8jTa4LAtG/Q3SFnS250SNWPtQ0= -gitlab.com/elixxir/primitives v0.0.3-0.20210715174241-fddf320de581/go.mod h1:8kBZ2yYOqaKgrN8VY6aCaNXa4p05NYVPPc0KmOpbXSY= +gitlab.com/elixxir/primitives v0.0.3-0.20210727192608-609254eca789 h1:SQm9HWVatmr4Wa7n8xnBFDVpZd+MCoGobJOxhA0JhVo= +gitlab.com/elixxir/primitives v0.0.3-0.20210727192608-609254eca789/go.mod h1:LiBXRxrYQBPty77ZZJj7ZQ9rULvf2ApFmDdkBwyrgUU= gitlab.com/xx_network/comms v0.0.0-20200805174823-841427dd5023/go.mod h1:owEcxTRl7gsoM8c3RQ5KAm5GstxrJp5tn+6JfQ4z5Hw= -gitlab.com/xx_network/comms v0.0.4-0.20210715174212-d2408ed3c8ce h1:eVzZChYD89b9S65otdFUbZcCc204xw0Pb4U/PAd2Q60= -gitlab.com/xx_network/comms v0.0.4-0.20210715174212-d2408ed3c8ce/go.mod h1:IVmADLpH+iRqvcb+/rUKu63CKSk1f3wjpNah4P5RGbQ= +gitlab.com/xx_network/comms v0.0.4-0.20210727192538-2e78b803c7fc h1:3LMPRzMfXJcAH3wzNLybWiLKRn1O7lueEqNi2paWNfM= +gitlab.com/xx_network/comms v0.0.4-0.20210727192538-2e78b803c7fc/go.mod h1:Il4wKI2gnxTisIvxpvwr4aMoSVTrNymF+QdR7scv0m4= gitlab.com/xx_network/crypto v0.0.3/go.mod h1:DF2HYvvCw9wkBybXcXAgQMzX+MiGbFPjwt3t17VRqRE= gitlab.com/xx_network/crypto v0.0.4/go.mod h1:+lcQEy+Th4eswFgQDwT0EXKp4AXrlubxalwQFH5O0Mk= -gitlab.com/xx_network/crypto v0.0.5-0.20210715174114-f33d03bc10ec h1:RI77Al3biWhoZQUC+6oyuJolb5ynm0p4Vywizex/3XY= -gitlab.com/xx_network/crypto v0.0.5-0.20210715174114-f33d03bc10ec/go.mod h1:hVTbuOCDjTMv8y2rznZI0pvY85k/fWJ96DtBRIzGaC8= +gitlab.com/xx_network/crypto v0.0.5-0.20210727192439-c1ce10d60b7e h1:+ENYcJxrjb5ZWI5YdbXtq9O9OLf1rxB3g9bVXiqdIpI= +gitlab.com/xx_network/crypto v0.0.5-0.20210727192439-c1ce10d60b7e/go.mod h1:PPqJYbJ4dSQWWEVIhoUaMneMPoBAnWwaU7C7I20JZWk= gitlab.com/xx_network/primitives v0.0.0-20200803231956-9b192c57ea7c/go.mod h1:wtdCMr7DPePz9qwctNoAUzZtbOSHSedcK++3Df3psjA= gitlab.com/xx_network/primitives v0.0.0-20200804183002-f99f7a7284da/go.mod h1:OK9xevzWCaPO7b1wiluVJGk7R5ZsuC7pHY5hteZFQug= gitlab.com/xx_network/primitives v0.0.2/go.mod h1:cs0QlFpdMDI6lAo61lDRH2JZz+3aVkHy+QogOB6F/qc= -gitlab.com/xx_network/primitives v0.0.4-0.20210715170345-a78092d7b48e h1:BrRDXF27cuzVyZ535Uc7Depy0HFhM4pbuuPtMrla6hg= -gitlab.com/xx_network/primitives v0.0.4-0.20210715170345-a78092d7b48e/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= +gitlab.com/xx_network/primitives v0.0.4-0.20210727191551-5fe750830811 h1:DCiA0ohdWaTzVGGoW27B/HGI1ziIDwfeArV0xXG2o/g= +gitlab.com/xx_network/primitives v0.0.4-0.20210727191551-5fe750830811/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= gitlab.com/xx_network/ring v0.0.3-0.20210527191221-ce3f170aabd5 h1:FY+4Rh1Q2rgLyv10aKJjhWApuKRCR/054XhreudfAvw= gitlab.com/xx_network/ring v0.0.3-0.20210527191221-ce3f170aabd5/go.mod h1:aLzpP2TiZTQut/PVHR40EJAomzugDdHXetbieRClXIM= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= diff --git a/network/node/register.go b/network/node/register.go index a16e1cd08486b3bd45abd59a3f3061b7cd43a3bd..2aa7a7d203a23cd800b202075f6ee169b1e2592e 100644 --- a/network/node/register.go +++ b/network/node/register.go @@ -60,7 +60,7 @@ func registerNodes(sender *gateway.Sender, session *storage.Session, stop *stoppable.Single, c chan network.NodeGateway) { u := session.User() regSignature := u.GetTransmissionRegistrationValidationSignature() - // Timestamp in which user has registered with permissioning + // Timestamp in which user has registered with registration regTimestamp := u.GetRegistrationTimestamp().UnixNano() uci := u.GetCryptographicIdentity() cmix := session.Cmix() @@ -190,7 +190,7 @@ func requestNonce(sender *gateway.Sender, comms RegisterNodeCommsInterface, gwId Signature: clientSig, }, Target: gwId.Marshal(), - // Timestamp in which user has registered with permissioning + // Timestamp in which user has registered with registration TimeStamp: registrationTimestampNano, }) if err != nil { diff --git a/permissioning/permissioning.go b/registration/permissioning.go similarity index 65% rename from permissioning/permissioning.go rename to registration/permissioning.go index 87c3b6fff40c147c59a4534f7e52f588a9ad45fd..917692eefc0e53c21220665c78494a0d0c7eb3b2 100644 --- a/permissioning/permissioning.go +++ b/registration/permissioning.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package permissioning +package registration import ( "github.com/pkg/errors" @@ -17,27 +17,34 @@ import ( "time" ) -type Permissioning struct { +type Registration struct { host *connect.Host comms *client.Comms } -func Init(comms *client.Comms, def *ndf.NetworkDefinition) (*Permissioning, error) { +func Init(comms *client.Comms, def *ndf.NetworkDefinition) (*Registration, error) { - perm := Permissioning{ + perm := Registration{ host: nil, comms: comms, } var err error - //add the permissioning host to comms + //add the registration host to comms hParam := connect.GetDefaultHostParams() hParam.AuthEnabled = false // Client will not send KeepAlive packets hParam.KaClientOpts.Time = time.Duration(math.MaxInt64) - perm.host, err = comms.AddHost(&id.Permissioning, def.Registration.Address, + hParam.MaxRetries = 3 + perm.host, err = comms.AddHost(&id.ClientRegistration, def.Registration.ClientRegistrationAddress, []byte(def.Registration.TlsCertificate), hParam) + if err != nil { + return nil, errors.WithMessage(err, "failed to create registration") + } + + _, err = comms.AddHost(&id.Permissioning, def.Registration.Address, // We need to add this for round updates to work + []byte(def.Registration.TlsCertificate), hParam) if err != nil { return nil, errors.WithMessage(err, "failed to create permissioning") } diff --git a/permissioning/permissioning_test.go b/registration/permissioning_test.go similarity index 92% rename from permissioning/permissioning_test.go rename to registration/permissioning_test.go index dc3e73c2e73a1872a812fb54f7ab374c8d37cf85..56083a5dd302c22872d1e172c67124bb56199093 100644 --- a/permissioning/permissioning_test.go +++ b/registration/permissioning_test.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package permissioning +package registration import ( "gitlab.com/elixxir/comms/client" @@ -14,7 +14,7 @@ import ( "testing" ) -// Init should create a valid Permissioning communications struct +// Init should create a valid Registration communications struct func TestInit(t *testing.T) { // Create dummy comms and ndf comms, err := client.NewClientComms(id.NewIdFromUInt(100, id.User, t), nil, nil, nil) diff --git a/permissioning/register.go b/registration/register.go similarity index 94% rename from permissioning/register.go rename to registration/register.go index ead58a5fcdd3856619294bab3708f1c75049487b..5a21fd97267ab0ae4880ceb9a996ddbdfb09dbd8 100644 --- a/permissioning/register.go +++ b/registration/register.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package permissioning +package registration import ( "github.com/pkg/errors" @@ -14,7 +14,7 @@ import ( "gitlab.com/xx_network/crypto/signature/rsa" ) -func (perm *Permissioning) Register(transmissionPublicKey, receptionPublicKey *rsa.PublicKey, +func (perm *Registration) Register(transmissionPublicKey, receptionPublicKey *rsa.PublicKey, registrationCode string) ([]byte, []byte, int64, error) { return register(perm.comms, perm.host, transmissionPublicKey, receptionPublicKey, registrationCode) } diff --git a/permissioning/register_test.go b/registration/register_test.go similarity index 93% rename from permissioning/register_test.go rename to registration/register_test.go index 02dd58b41c77ebe7a89f8cead15dc9b144b6c7dc..9840187ce77010144c0c0ccf8674f62a2c766354 100644 --- a/permissioning/register_test.go +++ b/registration/register_test.go @@ -5,7 +5,7 @@ // LICENSE file // /////////////////////////////////////////////////////////////////////////////// -package permissioning +package registration import ( "github.com/pkg/errors" @@ -51,7 +51,7 @@ func (s *MockRegistrationSender) GetHost(*id.ID) (*connect.Host, bool) { } // Shows that we get expected result from happy path -// Shows that permissioning gets RPCs with the correct parameters +// Shows that registration gets RPCs with the correct parameters func TestRegisterWithPermissioning(t *testing.T) { rng := csprng.NewSystemRNG() key, err := rsa.GenerateKey(rng, 256) @@ -94,7 +94,7 @@ func TestRegisterWithPermissioning(t *testing.T) { } } -// Shows that returning an error from the permissioning server results in an +// Shows that returning an error from the registration server results in an // error from register func TestRegisterWithPermissioning_ResponseErr(t *testing.T) { rng := csprng.NewSystemRNG() @@ -104,10 +104,10 @@ func TestRegisterWithPermissioning_ResponseErr(t *testing.T) { } var sender MockRegistrationSender sender.succeedGetHost = true - sender.errInReply = "failure occurred on permissioning" + sender.errInReply = "failure occurred on registration" _, _, _, err = register(&sender, nil, key.GetPublic(), key.GetPublic(), "") if err == nil { - t.Error("no error if registration fails on permissioning") + t.Error("no error if registration fails on registration") } }