diff --git a/cmd/ck-client/ck-client.go b/cmd/ck-client/ck-client.go index 36b29bd..efe51c2 100644 --- a/cmd/ck-client/ck-client.go +++ b/cmd/ck-client/ck-client.go @@ -169,6 +169,7 @@ func main() { } log.Infof("Listening on %v %v for %v client", network, localConfig.LocalAddr, authInfo.ProxyMethod) seshMaker = func() *mux.Session { + authInfo := authInfo // copy the struct because we are overwriting SessionId // sessionID is usergenerated. There shouldn't be a security concern because the scope of // sessionID is limited to its UID. quad := make([]byte, 4) diff --git a/internal/test/integration_test.go b/internal/test/integration_test.go index 4f83fc0..1a3d0fb 100644 --- a/internal/test/integration_test.go +++ b/internal/test/integration_test.go @@ -185,11 +185,9 @@ func establishSession(lcc client.LocalConnConfig, rcc client.RemoteConnConfig, a // whatever connection initiator (including a proper ck-client) netToCkServerD, ckServerListener := connutil.DialerListener(10 * 1024) - var sessionCreateMutex sync.Mutex clientSeshMaker := func() *mux.Session { - sessionCreateMutex.Lock() - defer sessionCreateMutex.Unlock() + ai := ai quad := make([]byte, 4) common.RandRead(ai.WorldState.Rand, quad) ai.SessionId = binary.BigEndian.Uint32(quad)