From: Josef 'Jeff' Sipek Date: Mon, 27 Feb 2017 23:13:54 +0000 (-0500) Subject: lib-storage & imap: add MAIL_ERROR_UNAVAILABLE as [UNAVAILABLE] X-Git-Tag: 2.2.29.rc1~161 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=edab7ec20988aab18334a8ea684556a778b339c6;p=thirdparty%2Fdovecot%2Fcore.git lib-storage & imap: add MAIL_ERROR_UNAVAILABLE as [UNAVAILABLE] [UNAVAILABLE] is defined in RFC 5530 and we were just missing a MAIL_ERROR_* constant to make use of it. --- diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index c1cf8895e2..b9383fb126 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -59,6 +59,7 @@ void doveadm_mail_failed_error(struct doveadm_mail_cmd_context *ctx, case MAIL_ERROR_NONE: i_unreached(); case MAIL_ERROR_TEMP: + case MAIL_ERROR_UNAVAILABLE: break; case MAIL_ERROR_NOTPOSSIBLE: case MAIL_ERROR_EXISTS: diff --git a/src/imap/imap-commands-util.c b/src/imap/imap-commands-util.c index 39dfb5ae70..8e8c04d8f1 100644 --- a/src/imap/imap-commands-util.c +++ b/src/imap/imap-commands-util.c @@ -144,6 +144,9 @@ imap_get_error_string(struct client_command_context *cmd, case MAIL_ERROR_LOOKUP_ABORTED: /* BUG: shouldn't be visible here */ resp_code = IMAP_RESP_CODE_SERVERBUG; break; + case MAIL_ERROR_UNAVAILABLE: + resp_code = IMAP_RESP_CODE_UNAVAILABLE; + break; case MAIL_ERROR_NOTPOSSIBLE: case MAIL_ERROR_PARAMS: resp_code = IMAP_RESP_CODE_CANNOT; diff --git a/src/lib-storage/mail-error.h b/src/lib-storage/mail-error.h index 81c05d64ee..489613b828 100644 --- a/src/lib-storage/mail-error.h +++ b/src/lib-storage/mail-error.h @@ -26,6 +26,8 @@ enum mail_error { /* Temporary internal error */ MAIL_ERROR_TEMP, + /* Temporary failure because a subsystem is down */ + MAIL_ERROR_UNAVAILABLE, /* It's not possible to do the wanted operation */ MAIL_ERROR_NOTPOSSIBLE, /* Invalid parameters (eg. mailbox name not valid) */