From cba73997cd452ddd0bc2765f9cbc676fcf19a091 Mon Sep 17 00:00:00 2001 From: Leander Beernaert Date: Mon, 14 Aug 2023 13:09:22 +0200 Subject: [PATCH] fix(GODT-2802): Fix missing key pass input for keyring unlock --- internal/services/imapservice/service_sync.go | 1 + internal/services/imapservice/sync.go | 1 + internal/services/imapservice/sync_messages.go | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/services/imapservice/service_sync.go b/internal/services/imapservice/service_sync.go index d41acdbb..ba682825 100644 --- a/internal/services/imapservice/service_sync.go +++ b/internal/services/imapservice/service_sync.go @@ -117,6 +117,7 @@ func (s *syncHandler) launch(service *Service) { panicHandler: service.panicHandler, reporter: service.reporter, maxSyncMemory: service.maxSyncMemory, + keyProvider: service.identityState.keyPassProvider, } s.group.Once(func(ctx context.Context) { diff --git a/internal/services/imapservice/sync.go b/internal/services/imapservice/sync.go index b45a1e49..b92cc9ee 100644 --- a/internal/services/imapservice/sync.go +++ b/internal/services/imapservice/sync.go @@ -50,6 +50,7 @@ type syncJob struct { identityState *useridentity.State panicHandler async.PanicHandler reporter reporter.Reporter + keyProvider useridentity.KeyPassProvider maxSyncMemory uint64 } diff --git a/internal/services/imapservice/sync_messages.go b/internal/services/imapservice/sync_messages.go index 40af32d3..4f71add4 100644 --- a/internal/services/imapservice/sync_messages.go +++ b/internal/services/imapservice/sync_messages.go @@ -381,7 +381,7 @@ func startMessageBuilder(ctx context.Context, s *syncJob, buildCh <-chan downloa logrus.Debugf("sync builder exit") }() - if err := s.identityState.WithAddrKRs(nil, func(_ *crypto.KeyRing, addrKRs map[string]*crypto.KeyRing) error { + if err := s.identityState.WithAddrKRs(s.keyProvider.KeyPass(), func(_ *crypto.KeyRing, addrKRs map[string]*crypto.KeyRing) error { maxMessagesInParallel := runtime.NumCPU() for buildBatch := range buildCh {