From: Aki Tuomi Date: Thu, 4 Aug 2016 05:55:12 +0000 (+0300) Subject: last-login: Add error handling for commit X-Git-Tag: 2.2.26~438 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=284a77b1468fa846fdce2a46e9cceb84c6c10d39;p=thirdparty%2Fdovecot%2Fcore.git last-login: Add error handling for commit --- diff --git a/src/plugins/last-login/last-login-plugin.c b/src/plugins/last-login/last-login-plugin.c index 0b59ab2b09..00587c8dff 100644 --- a/src/plugins/last-login/last-login-plugin.c +++ b/src/plugins/last-login/last-login-plugin.c @@ -47,11 +47,25 @@ static void last_login_user_deinit(struct mail_user *user) luser->module_ctx.super.deinit(user); } -static void last_login_dict_commit(int ret ATTR_UNUSED, void *context) +static void last_login_dict_commit(int ret, void *context) { struct mail_user *user = context; struct last_login_user *luser = LAST_LOGIN_USER_CONTEXT(user); + switch(ret) { + case DICT_COMMIT_RET_OK: + case DICT_COMMIT_RET_NOTFOUND: + break; + case DICT_COMMIT_RET_FAILED: + i_error("last_login_dict: Failed to write value for user %s", + user->username); + break; + case DICT_COMMIT_RET_WRITE_UNCERTAIN: + i_error("last_login_dict: Write was unconfirmed (timeout or disconnect) for user %s", + user->username); + break; + }; + /* don't deinit the dict immediately here, lib-dict will just crash */ luser->to = timeout_add(0, last_login_dict_deinit, user); }