From: Timo Sirainen Date: Sat, 1 Nov 2008 20:49:14 +0000 (+0200) Subject: deliver -m: Assume the given mailbox name is in UTF-8 format. X-Git-Tag: 1.2.alpha4~105 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e67890e7a8a6d236d708d38361f426a65221b2ce;p=thirdparty%2Fdovecot%2Fcore.git deliver -m: Assume the given mailbox name is in UTF-8 format. --HG-- branch : HEAD --- diff --git a/src/deliver/Makefile.am b/src/deliver/Makefile.am index 988cd676d1..c8ca0303ae 100644 --- a/src/deliver/Makefile.am +++ b/src/deliver/Makefile.am @@ -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 --git a/src/deliver/deliver.c b/src/deliver/deliver.c index 15a272c06c..ef803d207f 100644 --- a/src/deliver/deliver.c +++ b/src/deliver/deliver.c @@ -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) {