]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: If user->error is set during initialization, fail user creation.
authorTimo Sirainen <tss@iki.fi>
Tue, 21 Sep 2010 17:04:30 +0000 (18:04 +0100)
committerTimo Sirainen <tss@iki.fi>
Tue, 21 Sep 2010 17:04:30 +0000 (18:04 +0100)
src/lib-storage/mail-user.c
src/lib-storage/mail-user.h

index 44a66db9b6650d8534745fb29cd6bc69b5aa568b..1f71cd0e83c73149c306a3d7d16a64a92fac1720 100644 (file)
@@ -114,6 +114,11 @@ int mail_user_init(struct mail_user *user, const char **error_r)
 
        user->initialized = TRUE;
        hook_mail_user_created(user);
+
+       if (user->error != NULL) {
+               *error_r = t_strdup(user->error);
+               return -1;
+       }
        return 0;
 }
 
index 894dcf8bc3facc1561e6d8ddaa47836de897018b..ab782afa3c02896e2f26674ddb7332d6e1c5f40f 100644 (file)
@@ -23,7 +23,8 @@ struct mail_user {
        const char *service;
        struct ip_addr *local_ip, *remote_ip;
        const struct var_expand_table *var_expand_table;
-       /* error during initialization */
+       /* If non-NULL, fail the user initialization with this error.
+          This could be set by plugins that need to fail the initialization. */
        const char *error;
 
        const struct setting_parser_info *set_info;