On Fri, 2008-02-29 at 12:19 -0500, Paul Letta wrote: > Since I can't get a hold of my users and make them all put their imap > folders in /home/username/mail and configure dovecot to just search > there...
Couldn't you do this automatically? Move all files that look like mboxes to mail/ directory. > Is there a way to tell dovecot to ignore links ? Attached a patch, but I don't really like the idea of adding a setting for it. It could give a false sense of security since it only changes mailbox listing, the symlinks are still followed if the mailboxes are selected.
diff -r eb249c6e4fef src/lib-storage/index/mbox/mbox-list.c
--- a/src/lib-storage/index/mbox/mbox-list.c Fri Feb 29 11:18:02 2008 +0200
+++ b/src/lib-storage/index/mbox/mbox-list.c Fri Feb 29 20:17:09 2008 +0200
@@ -246,7 +246,7 @@ static int list_file(struct mbox_list_co
/* see if it's a directory */
real_path = t_strconcat(ctx->dir->real_path, "/", fname, NULL);
- if (stat(real_path, &st) == 0)
+ if (lstat(real_path, &st) == 0)
noselect = FALSE;
else if (errno == EACCES || errno == ELOOP)
noselect = TRUE;
@@ -295,7 +295,7 @@ static int list_file(struct mbox_list_co
} else if (ret < 0)
return -1;
return match > 0 || match2 > 0;
- } else if (match > 0) {
+ } else if (match > 0 && !S_ISLNK(st.st_mode)) {
ctx->list.flags = noselect ? MAILBOX_NOSELECT :
(MAILBOX_NOINFERIORS | STAT_GET_MARKED(st));
ctx->list.name = p_strdup(ctx->list_pool, list_path);
signature.asc
Description: This is a digitally signed message part
