diff --git a/cmix/follow.go b/cmix/follow.go index 7e75082ce0df42dd33860e1d3e65d4092de7096e..8e4dd03080c757aeca1d482d0e34660b65ab7924 100644 --- a/cmix/follow.go +++ b/cmix/follow.go @@ -87,7 +87,6 @@ func (c *client) followNetwork(report ClientErrorReport, stop.ToStopped() return case <-ticker.C: - operator := func(toTrack []receptionID.IdentityUse) error { // set up tracking tools diff --git a/cmix/gateway/hostPool.go b/cmix/gateway/hostPool.go index df35eb0eca44fed2cf3f841ba869b0e0e1ac2960..d39e71596ef644a444f5cd6056e97e9a10ea3f39 100644 --- a/cmix/gateway/hostPool.go +++ b/cmix/gateway/hostPool.go @@ -128,7 +128,7 @@ type poolParamsDisk struct { // DefaultPoolParams returns a default set of PoolParams. func DefaultPoolParams() PoolParams { p := PoolParams{ - MaxPoolSize: 30, + MaxPoolSize: 5, ProxyAttempts: 5, PoolSize: 0, MaxPings: 0, diff --git a/cmix/nodes/register.go b/cmix/nodes/register.go index 5d2249ec617e7d39af16bcdd58cc0bd0d7879558..8cada7d120e663cf9ef075d11fe72c3c409c7859 100644 --- a/cmix/nodes/register.go +++ b/cmix/nodes/register.go @@ -134,6 +134,8 @@ func registerWithNode(sender gateway.Sender, comms RegisterNodeCommsInterface, var transmissionKey *cyclic.Int var validUntil uint64 var keyId []byte + + start := time.Now() // TODO: should move this to a pre-canned user initialization if s.IsPrecanned() { userNum := int(s.GetTransmissionID().Bytes()[7]) @@ -156,7 +158,8 @@ func registerWithNode(sender gateway.Sender, comms RegisterNodeCommsInterface, r.add(nodeID, transmissionKey, validUntil, keyId) - jww.INFO.Printf("Completed registration with node %s", nodeID) + jww.INFO.Printf("Completed registration with node %s,"+ + " took %d", nodeID, time.Since(start)) return nil } diff --git a/cmix/nodes/request.go b/cmix/nodes/request.go index 455a0e3832d2b0792af4fbeb11bc00f1c79a8636..978cd01a33fb6df3ecf05de7459f35b19d4dad9b 100644 --- a/cmix/nodes/request.go +++ b/cmix/nodes/request.go @@ -9,6 +9,7 @@ package nodes import ( "io" + "time" "github.com/golang/protobuf/proto" "github.com/pkg/errors" @@ -41,9 +42,9 @@ func requestKey(sender gateway.Sender, comms RegisterNodeCommsInterface, // Generate a Diffie-Hellman keypair grp := r.session.GetCmixGroup() + start := time.Now() prime := grp.GetPBytes() - keyLen := len(prime) - dhPrivBytes, err := csprng.GenerateInGroup(prime, keyLen, rng) + dhPrivBytes, err := csprng.GenerateInGroup(prime, 32, rng) if err != nil { return nil, nil, 0, err } @@ -66,9 +67,11 @@ func requestKey(sender gateway.Sender, comms RegisterNodeCommsInterface, // Request nonce message from gateway jww.INFO.Printf("Register: Requesting client key from "+ - "gateway %s", gatewayID) + "gateway %s, setup took %s", gatewayID, time.Since(start)) + start = time.Now() result, err := sender.SendToAny(func(host *connect.Host) (interface{}, error) { + startInternal := time.Now() keyResponse, err2 := comms.SendRequestClientKeyMessage(host, signedKeyReq) if err2 != nil { return nil, errors.WithMessagef(err2, @@ -78,9 +81,11 @@ func requestKey(sender gateway.Sender, comms RegisterNodeCommsInterface, return nil, errors.WithMessage(err2, "requestKey: clientKeyResponse error") } + jww.TRACE.Printf("just comm reg request took %s", time.Since(startInternal)) return keyResponse, nil }, stop) + jww.TRACE.Printf("full reg request took %s", time.Since(start)) if err != nil { return nil, nil, 0, err @@ -188,11 +193,14 @@ func processRequestResponse(signedKeyResponse *pb.SignedKeyResponse, // Convert Node DH Public key to a cyclic.Int nodeDHPub := grp.NewIntFromBytes(keyResponse.NodeDHPubKey) + start := time.Now() // Construct the session key h.Reset() sessionKey := registration.GenerateBaseKey(grp, nodeDHPub, dhPrivKey, h) + jww.INFO.Printf("DH for reg took %s", time.Since(start)) + // Verify the HMAC if !registration.VerifyClientHMAC(sessionKey.Bytes(), keyResponse.EncryptedClientKey, opts.Hash.New,