dovecot-2.2: virtual: Make sure virtual mailbox doesn't try to a...

dovecot at dovecot.org dovecot at dovecot.org
Fri Aug 8 11:56:52 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/056dfefd81b9
changeset: 17686:056dfefd81b9
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Aug 08 14:54:20 2014 +0300
description:
virtual: Make sure virtual mailbox doesn't try to access itself as a backend mailbox.

diffstat:

 src/plugins/virtual/virtual-config.c |  8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diffs (25 lines):

diff -r 48506e8e1c7a -r 056dfefd81b9 src/plugins/virtual/virtual-config.c
--- a/src/plugins/virtual/virtual-config.c	Fri Aug 08 13:46:05 2014 +0300
+++ b/src/plugins/virtual/virtual-config.c	Fri Aug 08 14:54:20 2014 +0300
@@ -171,6 +171,10 @@
 		bbox->name++;
 		ctx->mbox->save_bbox = bbox;
 	}
+	if (strcmp(bbox->name, ctx->mbox->box.vname) == 0) {
+		*error_r = "Virtual mailbox can't point to itself";
+		return -1;
+	}
 	ctx->have_mailbox_defines = TRUE;
 	array_append(&ctx->mbox->backend_boxes, &bbox, 1);
 	return 0;
@@ -324,6 +328,10 @@
 		   directories) */
 		if ((info->flags & MAILBOX_NOSELECT) != 0)
 			continue;
+		if (strcmp(info->vname, ctx->mbox->box.vname) == 0) {
+			/* don't allow virtual folder to point to itself */
+			continue;
+		}
 
 		if (virtual_config_match(info, &wildcard_boxes, &i) &&
 		    !virtual_config_match(info, &neg_boxes, &j) &&


More information about the dovecot-cvs mailing list