fix: regenerate userpass if unauthorized

This commit is contained in:
Marco98
2025-11-17 18:35:40 +01:00
parent 898567679e
commit 40f7817226

View File

@@ -6,6 +6,7 @@ import (
"log/slog"
"net/http"
"os"
"strings"
"sync"
"time"
@@ -113,6 +114,13 @@ func (d *Daemon) processUser(ctx context.Context, m mailcow.Mailbox) error {
davclient := webdav.HTTPClientWithBasicAuth(d.httpClient, m.Username, pass)
bb, err := d.getBirthdays(ctx, davclient, m.Username)
if err != nil {
if strings.HasPrefix(err.Error(), "401 Unauthorized: ") {
slog.WarnContext(ctx, "user password seems to be invalid and will be discarded", "user", m.Username)
d.userTokensLock.Lock()
delete(d.userTokens, m.Username)
d.stateUnsaved = true
d.userTokensLock.Unlock()
}
return fmt.Errorf("error getting birthdays from carddav: %w", err)
}
if err := d.ensureBirthdayCal(ctx, davclient, m.Username); err != nil {