diff --git a/storage/session.go b/storage/session.go index 89836d53ebf70a88a006e007e76c940927f7c9b1..374750db8e5ff31de7ede8c226cbfb0562dc8cbd 100644 --- a/storage/session.go +++ b/storage/session.go @@ -119,7 +119,7 @@ func New(baseDir, password string, u user.Info, } s.User, err = user.NewUser(s.kv, u.TransmissionID, u.ReceptionID, u.TransmissionSalt, - u.ReceptionSalt, u.TransmissionRSA, u.ReceptionRSA, u.Precanned) + u.ReceptionSalt, u.TransmissionRSA, u.ReceptionRSA, u.Precanned, u.E2eDhPublicKey, u.E2eDhPublicKey) if err != nil { return nil, errors.WithMessage(err, "Failed to create user") } @@ -230,7 +230,7 @@ func InitTestingSession(i interface{}) Session { kv := versioned.NewKV(ekv.MakeMemstore()) s := &session{kv: kv} uid := id.NewIdFromString("zezima", id.User, i) - u, err := user.NewUser(kv, uid, uid, []byte("salt"), []byte("salt"), privKey, privKey, false) + u, err := user.NewUser(kv, uid, uid, []byte("salt"), []byte("salt"), privKey, privKey, false, nil, nil) if err != nil { jww.FATAL.Panicf("InitTestingSession failed to create dummy user: %+v", err) } diff --git a/storage/user/user.go b/storage/user/user.go index e79abf3300c039ab8f097672bc6e62ca8a47f286..5b84321a97cc169df474ab2ebd602bfb2769c0b1 100644 --- a/storage/user/user.go +++ b/storage/user/user.go @@ -10,6 +10,7 @@ package user import ( "github.com/pkg/errors" "gitlab.com/elixxir/client/storage/versioned" + "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/xx_network/crypto/signature/rsa" "gitlab.com/xx_network/primitives/id" "sync" @@ -33,9 +34,11 @@ type User struct { // builds a new user. func NewUser(kv *versioned.KV, transmissionID, receptionID *id.ID, transmissionSalt, - receptionSalt []byte, transmissionRsa, receptionRsa *rsa.PrivateKey, isPrecanned bool) (*User, error) { + receptionSalt []byte, transmissionRsa, receptionRsa *rsa.PrivateKey, isPrecanned bool, + e2eDhPrivateKey, e2eDhPublicKey *cyclic.Int) (*User, error) { - ci := newCryptographicIdentity(transmissionID, receptionID, transmissionSalt, receptionSalt, transmissionRsa, receptionRsa, isPrecanned, kv) + ci := newCryptographicIdentity(transmissionID, receptionID, transmissionSalt, + receptionSalt, transmissionRsa, receptionRsa, isPrecanned, e2eDhPrivateKey, e2eDhPublicKey, kv) return &User{CryptographicIdentity: ci, kv: kv}, nil }