Lines Matching defs:user

6 #include "mail-user.h"
28 static void last_login_dict_deinit(struct mail_user *user)
30 struct last_login_user *luser = LAST_LOGIN_USER_CONTEXT(user);
41 static void last_login_user_deinit(struct mail_user *user)
43 struct last_login_user *luser = LAST_LOGIN_USER_CONTEXT(user);
45 last_login_dict_deinit(user);
46 luser->module_ctx.super.deinit(user);
53 struct mail_user *user = context;
54 struct last_login_user *luser = LAST_LOGIN_USER_CONTEXT(user);
61 i_error("last_login_dict: Failed to write value for user %s: %s",
62 user->username, result->error);
65 i_error("last_login_dict: Write was unconfirmed (timeout or disconnect) for user %s: %s",
66 user->username, result->error);
71 luser->to = timeout_add(0, last_login_dict_deinit, user);
74 static void last_login_mail_user_created(struct mail_user *user)
76 struct mail_user_vfuncs *v = user->vlast;
83 if (user->autocreated) {
85 not lda's raw user or accessed shared users */
88 if (user->session_restored) {
93 dict_value = mail_user_plugin_getenv(user, "last_login_dict");
98 set.username = user->username;
99 set.base_dir = user->set->base_dir;
100 if (mail_user_get_home(user, &set.home_dir) <= 0)
108 luser = p_new(user->pool, struct last_login_user, 1);
110 user->vlast = &luser->module_ctx.super;
114 MODULE_CONTEXT_SET(user, last_login_user_module, luser);
116 key_name = mail_user_plugin_getenv(user, "last_login_key");
119 user->username);
123 precision = mail_user_plugin_getenv(user, "last_login_precision");
144 dict_transaction_commit_async(&trans, last_login_dict_commit, user);