From c43739a7ef41b8a56d2c52c74e3c4fc886a15a0c Mon Sep 17 00:00:00 2001 From: Romain LE JEUNE Date: Thu, 29 Jun 2023 09:54:42 +0200 Subject: [PATCH] feat(GODT-2714): Apply PR comments. --- internal/bridge/settings.go | 4 ++-- internal/bridge/smtp_backend.go | 7 ++++++- internal/bridge/user.go | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/internal/bridge/settings.go b/internal/bridge/settings.go index 47b28ee6..752779a5 100644 --- a/internal/bridge/settings.go +++ b/internal/bridge/settings.go @@ -297,12 +297,12 @@ func (bridge *Bridge) SetColorScheme(colorScheme string) error { // Note: it does not clear the keychain. The only entry in the keychain is the vault password, // which we need at next startup to decrypt the vault. func (bridge *Bridge) FactoryReset(ctx context.Context) { - telemetry := bridge.IsTelemetryAvailable() + useTelemetry := bridge.IsTelemetryAvailable() // Delete all the users. safe.Lock(func() { for _, user := range bridge.users { - bridge.logoutUser(ctx, user, true, true, telemetry) + bridge.logoutUser(ctx, user, true, true, useTelemetry) } }, bridge.usersLock) diff --git a/internal/bridge/smtp_backend.go b/internal/bridge/smtp_backend.go index e07d4d25..d4bacf18 100644 --- a/internal/bridge/smtp_backend.go +++ b/internal/bridge/smtp_backend.go @@ -72,7 +72,12 @@ func (s *smtpSession) AuthPlain(username, password string) error { }).Error("Incorrect login credentials.") err := fmt.Errorf("invalid username or password") for _, user := range s.users { - user.ReportConfigStatusFailure(err.Error()) + for _, mail := range user.Emails() { + if mail == username { + user.ReportConfigStatusFailure(err.Error()) + return err + } + } } return err }, s.usersLock) diff --git a/internal/bridge/user.go b/internal/bridge/user.go index 3d0c2ea2..1275dea7 100644 --- a/internal/bridge/user.go +++ b/internal/bridge/user.go @@ -243,7 +243,7 @@ func (bridge *Bridge) LogoutUser(ctx context.Context, userID string) error { func (bridge *Bridge) DeleteUser(ctx context.Context, userID string) error { logrus.WithField("userID", userID).Info("Deleting user") - telemetry := bridge.IsTelemetryAvailable() + useTelemetry := bridge.IsTelemetryAvailable() return safe.LockRet(func() error { if !bridge.vault.HasUser(userID) { @@ -251,7 +251,7 @@ func (bridge *Bridge) DeleteUser(ctx context.Context, userID string) error { } if user, ok := bridge.users[userID]; ok { - bridge.logoutUser(ctx, user, true, true, telemetry) + bridge.logoutUser(ctx, user, true, true, useTelemetry) } if err := bridge.vault.DeleteUser(userID); err != nil {