aboutsummaryrefslogtreecommitdiffstats
path: root/worker/maildir
diff options
context:
space:
mode:
authorJulian Pidancet <julian.pidancet@oracle.com>2022-10-21 21:15:07 +0200
committerRobin Jarry <robin@jarry.cc>2022-10-25 23:30:56 +0200
commit8153f59188bfb62a944a731fcffc78670085b675 (patch)
treecb4e8647b04c46fdd83163bec20de3b898776fdd /worker/maildir
parenta381630604066cde5b791bfadb92de8c35e1cd1c (diff)
downloadaerc-8153f59188bfb62a944a731fcffc78670085b675.tar.gz
maildir: fix maildir folder listing
Previous change "maildir: hide invalid folders" prevents filepath.Walk from descending into directories that don't contain new/, tmp/ or cur/ because the WalkDirFunc returns filepath.SkipDir. We have to assume that these directories can be the parent of valid maildir folders even if they're not themselves valid maildir folders, so it is a mistake not to recurse into these subfolders. Fix it by returning nil instead of filepath.SkipDir in the WalkDirFunc. Fixes: 150aa0f498b9 ("maildir: hide invalid folders") Signed-off-by: Julian Pidancet <julian.pidancet@oracle.com> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'worker/maildir')
-rw-r--r--worker/maildir/container.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/worker/maildir/container.go b/worker/maildir/container.go
index 156b0af5..4181648b 100644
--- a/worker/maildir/container.go
+++ b/worker/maildir/container.go
@@ -81,7 +81,7 @@ func (c *Container) ListFolders() ([]string, error) {
// Drop dirs that lack {new,tmp,cur} subdirs
for _, sub := range []string{"new", "tmp", "cur"} {
if _, err := os.Stat(filepath.Join(path, sub)); os.IsNotExist(err) {
- return filepath.SkipDir
+ return nil
}
}