Merge release/golden-gate into devel

This commit is contained in:
Jakub
2021-01-20 16:48:03 +01:00
208 changed files with 7946 additions and 5472 deletions

View File

@ -55,11 +55,11 @@ type imapBackend struct {
func NewIMAPBackend(
panicHandler panicHandler,
eventListener listener.Listener,
cfg configProvider,
cache cacheProvider,
bridge *bridge.Bridge,
) *imapBackend { //nolint[golint]
bridgeWrap := newBridgeWrap(bridge)
backend := newIMAPBackend(panicHandler, cfg, bridgeWrap, eventListener)
backend := newIMAPBackend(panicHandler, cache, bridgeWrap, eventListener)
go backend.monitorDisconnectedUsers()
@ -68,7 +68,7 @@ func NewIMAPBackend(
func newIMAPBackend(
panicHandler panicHandler,
cfg configProvider,
cache cacheProvider,
bridge bridger,
eventListener listener.Listener,
) *imapBackend {
@ -81,7 +81,7 @@ func newIMAPBackend(
users: map[string]*imapUser{},
usersLocker: &sync.Mutex{},
imapCachePath: cfg.GetIMAPCachePath(),
imapCachePath: cache.GetIMAPCachePath(),
imapCacheLock: &sync.RWMutex{},
updatesBlocking: map[string]bool{},

View File

@ -23,8 +23,7 @@ import (
"github.com/ProtonMail/proton-bridge/pkg/pmapi"
)
type configProvider interface {
GetEventsPath() string
type cacheProvider interface {
GetDBDir() string
GetIMAPCachePath() string
}

View File

@ -58,6 +58,13 @@ func NewIMAPServer(debugClient, debugServer bool, port int, tls *tls.Config, ima
s.ErrorLog = newServerErrorLogger("server-imap")
s.AutoLogout = 30 * time.Minute
if debugServer {
fmt.Println("THE LOG WILL CONTAIN **DECRYPTED** MESSAGE DATA")
log.Warning("================================================")
log.Warning("THIS LOG WILL CONTAIN **DECRYPTED** MESSAGE DATA")
log.Warning("================================================")
}
serverID := imapid.ID{
imapid.FieldName: "ProtonMail Bridge",
imapid.FieldVendor: "Proton Technologies AG",

View File

@ -139,7 +139,16 @@ func (iu *imapUser) GetMailbox(name string) (mb goIMAPBackend.Mailbox, err error
storeMailbox, err := iu.storeAddress.GetMailbox(name)
if err != nil {
log.WithField("name", name).WithError(err).Error("Could not get mailbox")
logMsg := log.WithField("name", name).WithError(err)
// GODT-97: some clients perform SELECT "" in order to unselect.
// We don't want to fill the logs with errors in this case.
if name != "" {
logMsg.Error("Could not get mailbox")
} else {
logMsg.Debug("Failed attempt to get mailbox with empty name")
}
return
}