diff --git a/auth/callbacks.go b/auth/callbacks.go index 781164bb89e374f166b0ace4d4fb639e7c250d10..79264cf16c607d0dfebf2fbbb79b158b80ce35c9 100644 --- a/auth/callbacks.go +++ b/auth/callbacks.go @@ -7,10 +7,6 @@ package auth import ( - jww "github.com/spf13/jwalterweatherman" - "gitlab.com/elixxir/client/cmix/identity/receptionID" - "gitlab.com/elixxir/client/cmix/rounds" - "gitlab.com/elixxir/crypto/contact" "gitlab.com/xx_network/primitives/id" "sync" ) @@ -44,25 +40,3 @@ func (p *partnerCallbacks) DeletePartnerCallback(partnerId *id.ID) { func (p *partnerCallbacks) getPartnerCallback(partnerId *id.ID) Callbacks { return p.callbacks[*partnerId] } - -// DefaultAuthCallbacks is a simple structure for providing a default Callbacks implementation -// It should generally not be used. -type DefaultAuthCallbacks struct{} - -// Confirm will be called when an auth Confirm message is processed. -func (a DefaultAuthCallbacks) Confirm(requestor contact.Contact, - receptionID receptionID.EphemeralIdentity, round rounds.Round) { - jww.ERROR.Printf("No valid auth callback assigned!") -} - -// Request will be called when an auth Request message is processed. -func (a DefaultAuthCallbacks) Request(requestor contact.Contact, - receptionID receptionID.EphemeralIdentity, round rounds.Round) { - jww.ERROR.Printf("No valid auth callback assigned!") -} - -// Reset will be called when an auth Reset operation occurs. -func (a DefaultAuthCallbacks) Reset(requestor contact.Contact, - receptionID receptionID.EphemeralIdentity, round rounds.Round) { - jww.ERROR.Printf("No valid auth callback assigned!") -} diff --git a/bindings/e2e.go b/bindings/e2e.go index 289de4218cad4a4fd485b3524826e0f702e05f3c..c4e406e879b5fe6d94385269391075fabd34deac 100644 --- a/bindings/e2e.go +++ b/bindings/e2e.go @@ -8,7 +8,7 @@ package bindings import ( "encoding/json" - "gitlab.com/elixxir/client/auth" + jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/cmix/identity/receptionID" "gitlab.com/elixxir/client/cmix/rounds" "gitlab.com/elixxir/client/xxdk" @@ -51,9 +51,9 @@ func LoginE2e(cmixId int, callbacks AuthCallbacks, identity []byte) (*E2e, error return nil, err } - var authCallbacks auth.Callbacks + var authCallbacks xxdk.AuthCallbacks if callbacks == nil { - authCallbacks = auth.DefaultAuthCallbacks{} + authCallbacks = defaultAuthCallbacks{} } else { authCallbacks = &authCallback{bindingsCbs: callbacks} } @@ -79,9 +79,9 @@ func LoginE2eEphemeral(cmixId int, callbacks AuthCallbacks, identity []byte) (*E return nil, err } - var authCallbacks auth.Callbacks + var authCallbacks xxdk.AuthCallbacks if callbacks == nil { - authCallbacks = auth.DefaultAuthCallbacks{} + authCallbacks = defaultAuthCallbacks{} } else { authCallbacks = &authCallback{bindingsCbs: callbacks} } @@ -104,9 +104,9 @@ func LoginE2eLegacy(cmixId int, callbacks AuthCallbacks) (*E2e, error) { return nil, err } - var authCallbacks auth.Callbacks + var authCallbacks xxdk.AuthCallbacks if callbacks == nil { - authCallbacks = auth.DefaultAuthCallbacks{} + authCallbacks = defaultAuthCallbacks{} } else { authCallbacks = &authCallback{bindingsCbs: callbacks} } @@ -180,19 +180,41 @@ func convertAuthCallbacks(requestor contact.Contact, } // Confirm will be called when an auth Confirm message is processed. -func (a *authCallback) Confirm(requestor contact.Contact, - receptionID receptionID.EphemeralIdentity, round rounds.Round) { - a.bindingsCbs.Confirm(convertAuthCallbacks(requestor, receptionID, round)) +func (a *authCallback) Confirm(partner contact.Contact, + receptionID receptionID.EphemeralIdentity, round rounds.Round, _ *xxdk.E2e) { + a.bindingsCbs.Confirm(convertAuthCallbacks(partner, receptionID, round)) } // Request will be called when an auth Request message is processed. -func (a *authCallback) Request(requestor contact.Contact, - receptionID receptionID.EphemeralIdentity, round rounds.Round) { - a.bindingsCbs.Request(convertAuthCallbacks(requestor, receptionID, round)) +func (a *authCallback) Request(partner contact.Contact, + receptionID receptionID.EphemeralIdentity, round rounds.Round, _ *xxdk.E2e) { + a.bindingsCbs.Request(convertAuthCallbacks(partner, receptionID, round)) } // Reset will be called when an auth Reset operation occurs. -func (a *authCallback) Reset(requestor contact.Contact, - receptionID receptionID.EphemeralIdentity, round rounds.Round) { - a.bindingsCbs.Reset(convertAuthCallbacks(requestor, receptionID, round)) +func (a *authCallback) Reset(partner contact.Contact, + receptionID receptionID.EphemeralIdentity, round rounds.Round, _ *xxdk.E2e) { + a.bindingsCbs.Reset(convertAuthCallbacks(partner, receptionID, round)) +} + +// defaultAuthCallbacks is a simple structure for providing a default Callbacks implementation +// It should generally not be used. +type defaultAuthCallbacks struct{} + +// Confirm will be called when an auth Confirm message is processed. +func (a defaultAuthCallbacks) Confirm(contact.Contact, + receptionID.EphemeralIdentity, rounds.Round, *xxdk.E2e) { + jww.ERROR.Printf("No valid auth callback assigned!") +} + +// Request will be called when an auth Request message is processed. +func (a defaultAuthCallbacks) Request(contact.Contact, + receptionID.EphemeralIdentity, rounds.Round, *xxdk.E2e) { + jww.ERROR.Printf("No valid auth callback assigned!") +} + +// Reset will be called when an auth Reset operation occurs. +func (a defaultAuthCallbacks) Reset(contact.Contact, + receptionID.EphemeralIdentity, rounds.Round, *xxdk.E2e) { + jww.ERROR.Printf("No valid auth callback assigned!") } diff --git a/bindings/e2eAuth.go b/bindings/e2eAuth.go index b483671d90d3deb616bc0bd2e13018882e859ec1..77083daa290bfcd1dbd27ffe714e2d456624475d 100644 --- a/bindings/e2eAuth.go +++ b/bindings/e2eAuth.go @@ -8,6 +8,7 @@ package bindings import ( + "gitlab.com/elixxir/client/xxdk" "gitlab.com/elixxir/crypto/contact" "gitlab.com/elixxir/primitives/fact" "gitlab.com/xx_network/primitives/id" @@ -215,7 +216,8 @@ func (e *E2e) AddPartnerCallback(partnerID []byte, cb AuthCallbacks) error { return err } - e.api.GetAuth().AddPartnerCallback(partnerId, &authCallback{bindingsCbs: cb}) + e.api.GetAuth().AddPartnerCallback(partnerId, + xxdk.MakeAuthCallbacksAdapter(&authCallback{bindingsCbs: cb}, e.api)) return nil } diff --git a/xxdk/e2e.go b/xxdk/e2e.go index 4683d8df1acb6dfbc9b88030460ca62531f965da..4be5ad7f15e89d4e8ab42b440db3168c36dc9b3e 100644 --- a/xxdk/e2e.go +++ b/xxdk/e2e.go @@ -84,14 +84,9 @@ func LoginLegacy(client *Cmix, callbacks AuthCallbacks) (m *E2e, err error) { "the e2e processies") } - acw := &authCallbacksAdapter{ - ac: callbacks, - e2e: m, - } - m.auth, err = auth.NewState(client.GetStorage().GetKV(), client.GetCmix(), m.e2e, client.GetRng(), client.GetEventReporter(), - auth.GetDefaultParams(), acw, m.backup.TriggerBackup) + auth.GetDefaultParams(), MakeAuthCallbacksAdapter(callbacks, m), m.backup.TriggerBackup) if err != nil { return nil, err } @@ -241,14 +236,9 @@ func login(client *Cmix, callbacks AuthCallbacks, "the e2e processies") } - acw := &authCallbacksAdapter{ - ac: callbacks, - e2e: m, - } - m.auth, err = auth.NewState(kv, client.GetCmix(), m.e2e, client.GetRng(), client.GetEventReporter(), - auth.GetDefaultTemporaryParams(), acw, m.backup.TriggerBackup) + auth.GetDefaultTemporaryParams(), MakeAuthCallbacksAdapter(callbacks, m), m.backup.TriggerBackup) if err != nil { return nil, err } @@ -415,8 +405,16 @@ func (m *E2e) DeleteContact(partnerId *id.ID) error { return nil } -// Adapter type to make the xxdk auth callbacks type compatible with the -// auth.callbacks +// MakeAuthCallbacksAdapter creates an authCallbacksAdapter +func MakeAuthCallbacksAdapter(ac AuthCallbacks, e2e *E2e) *authCallbacksAdapter { + return &authCallbacksAdapter{ + ac: ac, + e2e: e2e, + } +} + +// authCallbacksAdapter is an adapter type to make the AuthCallbacks type +// compatible with the auth.Callbacks type type authCallbacksAdapter struct { ac AuthCallbacks e2e *E2e