[Dovecot] patch for mysterious maildir symlink error
This may resolve the mysterious "Maildir: Symlink destination doesn't exist" errors. --- a/src/lib-storage/index/maildir/maildir-util.c +++ b/src/lib-storage/index/maildir/maildir-util.c @@ -91,7 +91,7 @@ { struct stat st; - if (lstat(path, &st) == 0 && (st.st_mode & S_IFLNK) != 0) { + if (lstat(path, &st) == 0 && (st.st_mode & S_IFMT) == S_IFLNK) { /* most likely a symlink pointing to a nonexistent file */ mail_storage_set_critical(&mbox->storage->storage, "Maildir: Symlink destination doesn't exist: %s", path);
On Thu, 2010-10-07 at 20:42 -0500, Mike Abbott wrote:
This may resolve the mysterious "Maildir: Symlink destination doesn't exist" errors.
- if (lstat(path, &st) == 0 && (st.st_mode & S_IFLNK) != 0) {
- if (lstat(path, &st) == 0 && (st.st_mode & S_IFMT) == S_IFLNK) {
Yeah, looks like I had always just been using the S_IS*() macros so I didn't realize this had to be done. Wonder why I didn't use S_ISLNK() though. Maybe there is still some OS that doesn't support it (I see it's POSIX 2001).
Anyway, committed to 1.2 and 2.0.
participants (2)
-
Mike Abbott
-
Timo Sirainen