dovecot-1.2: deliver -m: Assume the given mailbox name is in UTF...

dovecot at dovecot.org dovecot at dovecot.org
Sat Nov 1 22:49:17 EET 2008


details:   http://hg.dovecot.org/dovecot-1.2/rev/c6482b5cdea1
changeset: 8384:c6482b5cdea1
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Nov 01 22:49:14 2008 +0200
description:
deliver -m: Assume the given mailbox name is in UTF-8 format.

diffstat:

2 files changed, 11 insertions(+), 2 deletions(-)
src/deliver/Makefile.am |    1 +
src/deliver/deliver.c   |   12 ++++++++++--

diffs (47 lines):

diff -r 8815fc1099c8 -r c6482b5cdea1 src/deliver/Makefile.am
--- a/src/deliver/Makefile.am	Sat Nov 01 22:32:04 2008 +0200
+++ b/src/deliver/Makefile.am	Sat Nov 01 22:49:14 2008 +0200
@@ -7,6 +7,7 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/lib-auth \
 	-I$(top_srcdir)/src/lib-dict \
 	-I$(top_srcdir)/src/lib-mail \
+	-I$(top_srcdir)/src/lib-imap \
 	-I$(top_srcdir)/src/lib-index \
 	-I$(top_srcdir)/src/lib-settings \
 	-I$(top_srcdir)/src/lib-storage \
diff -r 8815fc1099c8 -r c6482b5cdea1 src/deliver/deliver.c
--- a/src/deliver/deliver.c	Sat Nov 01 22:32:04 2008 +0200
+++ b/src/deliver/deliver.c	Sat Nov 01 22:49:14 2008 +0200
@@ -24,6 +24,7 @@
 #include "message-address.h"
 #include "mail-namespace.h"
 #include "raw-storage.h"
+#include "imap-utf7.h"
 #include "dict.h"
 #include "auth-client.h"
 #include "mail-send.h"
@@ -815,6 +816,7 @@ int main(int argc, char *argv[])
 	time_t mtime;
 	int i, ret;
 	pool_t userdb_pool = NULL;
+	string_t *str;
 
 	i_set_failure_exit_callback(failure_exit_callback);
 
@@ -873,8 +875,14 @@ int main(int argc, char *argv[])
 				i_fatal_status(EX_USAGE, "Missing -m argument");
 			/* Ignore -m "". This allows doing -m ${extension}
 			   in Postfix to handle user+mailbox */
-			if (*argv[i] != '\0')
-				mailbox = argv[i];
+			if (*argv[i] != '\0') {
+				str = t_str_new(256);
+				if (imap_utf8_to_utf7(argv[i], str) < 0) {
+					i_fatal("Mailbox name not UTF-8: %s",
+						mailbox);
+				}
+				mailbox = str_c(str);
+			}
 		} else if (strcmp(argv[i], "-n") == 0) {
 			deliver_set->mailbox_autocreate = FALSE;
 		} else if (strcmp(argv[i], "-s") == 0) {


More information about the dovecot-cvs mailing list