fts-solr-plugin.c (dovecot-2.3.16) | : | fts-solr-plugin.c (dovecot-2.3.17) | ||
---|---|---|---|---|
skipping to change at line 75 | skipping to change at line 75 | |||
i_error("fts_solr: url setting missing"); | i_error("fts_solr: url setting missing"); | |||
return -1; | return -1; | |||
} | } | |||
return 0; | return 0; | |||
} | } | |||
static void fts_solr_mail_user_deinit(struct mail_user *user) | static void fts_solr_mail_user_deinit(struct mail_user *user) | |||
{ | { | |||
struct fts_solr_user *fuser = FTS_SOLR_USER_CONTEXT_REQUIRE(user); | struct fts_solr_user *fuser = FTS_SOLR_USER_CONTEXT_REQUIRE(user); | |||
if (fuser->set.use_libfts) | fts_mail_user_deinit(user); | |||
fts_mail_user_deinit(user); | ||||
fuser->module_ctx.super.deinit(user); | fuser->module_ctx.super.deinit(user); | |||
} | } | |||
static void fts_solr_mail_user_create(struct mail_user *user, const char *env) | static void fts_solr_mail_user_create(struct mail_user *user, const char *env) | |||
{ | { | |||
struct mail_user_vfuncs *v = user->vlast; | struct mail_user_vfuncs *v = user->vlast; | |||
struct fts_solr_user *fuser; | struct fts_solr_user *fuser; | |||
const char *error; | const char *error; | |||
fuser = p_new(user->pool, struct fts_solr_user, 1); | fuser = p_new(user->pool, struct fts_solr_user, 1); | |||
if (fts_solr_plugin_init_settings(user, &fuser->set, env) < 0) { | if (fts_solr_plugin_init_settings(user, &fuser->set, env) < 0) { | |||
/* invalid settings, disabling */ | /* invalid settings, disabling */ | |||
return; | return; | |||
} | } | |||
if (fuser->set.use_libfts) { | if (fts_mail_user_init(user, fuser->set.use_libfts, &error) < 0) { | |||
if (fts_mail_user_init(user, &error) < 0) { | i_error("fts-solr: %s", error); | |||
i_error("fts-solr: %s", error); | return; | |||
return; | ||||
} | ||||
} | } | |||
fuser->module_ctx.super = *v; | fuser->module_ctx.super = *v; | |||
user->vlast = &fuser->module_ctx.super; | user->vlast = &fuser->module_ctx.super; | |||
v->deinit = fts_solr_mail_user_deinit; | v->deinit = fts_solr_mail_user_deinit; | |||
MODULE_CONTEXT_SET(user, fts_solr_user_module, fuser); | MODULE_CONTEXT_SET(user, fts_solr_user_module, fuser); | |||
} | } | |||
static void fts_solr_mail_user_created(struct mail_user *user) | static void fts_solr_mail_user_created(struct mail_user *user) | |||
{ | { | |||
End of changes. 2 change blocks. | ||||
7 lines changed or deleted | 4 lines changed or added |