# HG changeset patch # User Timo Sirainen # Date 1225572554 -7200 # Node ID c6482b5cdea10fc0884912b716f2e72660698488 # Parent 8815fc1099c835cfbfcb491a02ad3be129e019d1 deliver -m: Assume the given mailbox name is in UTF-8 format. 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 @@ -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 @@ 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 @@ 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) {