]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Fixed RESETKEY command to not return failure when it actually succeeded.
authorTimo Sirainen <tss@iki.fi>
Fri, 5 Apr 2013 12:44:32 +0000 (15:44 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 5 Apr 2013 12:44:32 +0000 (15:44 +0300)
src/imap/cmd-resetkey.c
src/lib-imap-urlauth/imap-urlauth-backend.c

index b723c86ff3eb4dabe407d111ac508eea2c1f2df1..472fd45b790ab273fcaef75b5984031d83df315c 100644 (file)
@@ -7,7 +7,7 @@
 
 static bool cmd_resetkey_all(struct client_command_context *cmd)
 {
-       if (imap_urlauth_reset_all_keys(cmd->client->urlauth_ctx) <= 0) {
+       if (imap_urlauth_reset_all_keys(cmd->client->urlauth_ctx) < 0) {
                client_send_internal_error(cmd);
                return TRUE;
        }
@@ -23,7 +23,6 @@ cmd_resetkey_mailbox(struct client_command_context *cmd,
        struct mail_namespace *ns;
        enum mailbox_flags flags = MAILBOX_FLAG_READONLY;
        struct mailbox *box;
-       int ret;
 
        /* check mechanism arguments (we support only INTERNAL mechanism) */
        while (!IMAP_ARG_IS_EOL(mech_args)) {
@@ -57,12 +56,8 @@ cmd_resetkey_mailbox(struct client_command_context *cmd,
        }
 
        /* check urlauth environment and reset requested key */
-       ret = imap_urlauth_reset_mailbox_key(cmd->client->urlauth_ctx, box);
-       if (ret <= 0) {
-               if (ret < 0)
-                       client_send_internal_error(cmd);
-               else
-                       client_send_storage_error(cmd, mailbox_get_storage(box));
+       if (imap_urlauth_reset_mailbox_key(cmd->client->urlauth_ctx, box) < 0) {
+               client_send_internal_error(cmd);
                mailbox_free(&box);
                return TRUE;
        }
index b42241b7ad96a2dae768368f784c225ac8d2bc48..7d48e93778445995cef48a3d877e0348d87f1883 100644 (file)
@@ -95,7 +95,7 @@ int imap_urlauth_backend_reset_mailbox_key(struct mailbox *box)
 
        t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL);
        ret = mailbox_attribute_unset(t, MAIL_ATTRIBUTE_TYPE_PRIVATE,
-                                     IMAP_URLAUTH_KEY) < 0 ? -1 : 1;
+                                     IMAP_URLAUTH_KEY);
        if (mailbox_transaction_commit(&t) < 0)
                ret = -1;
        return ret;
@@ -114,7 +114,7 @@ static int imap_urlauth_backend_mailbox_reset_key(struct mailbox *box)
                        mailbox_get_vname(box), errstr);
                return -1;
        }
-       return imap_urlauth_backend_reset_mailbox_key(box) < 0 ? -1 : 0;
+       return imap_urlauth_backend_reset_mailbox_key(box);
 }
 
 int imap_urlauth_backend_reset_all_keys(struct mail_user *user)