]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
quota: If quota_over_flag_value is unset, skip the quota_over check.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 7 Feb 2017 13:44:20 +0000 (15:44 +0200)
committerGitLab <gitlab@git.dovecot.net>
Mon, 13 Feb 2017 10:52:05 +0000 (12:52 +0200)
src/plugins/quota/quota.c

index 868a8cc509bed50a51c18ffdd62b40f2a1cc997b..e03a317bbde4103cbd8cff03dcfd109888255d92 100644 (file)
@@ -1025,7 +1025,7 @@ int quota_transaction_commit(struct quota_transaction_context **_ctx)
        return ret;
 }
 
-static void quota_over_flag_init_root(struct quota_root *root,
+static bool quota_over_flag_init_root(struct quota_root *root,
                                      const char **quota_over_flag_r,
                                      bool *status_r)
 {
@@ -1038,7 +1038,7 @@ static void quota_over_flag_init_root(struct quota_root *root,
        name = t_strconcat(root->set->set_name, "_over_flag_value", NULL);
        flag_mask = mail_user_plugin_getenv(root->quota->user, name);
        if (flag_mask == NULL)
-               return;
+               return FALSE;
 
        /* compare quota_over_flag's value (that comes from userdb) to
           quota_over_flag_value and save the result. */
@@ -1046,6 +1046,7 @@ static void quota_over_flag_init_root(struct quota_root *root,
        *quota_over_flag_r = mail_user_plugin_getenv(root->quota->user, name);
        *status_r = *quota_over_flag_r != NULL &&
                wildcard_match_icase(*quota_over_flag_r, flag_mask);
+       return TRUE;
 }
 
 static void quota_over_flag_check_root(struct quota_root *root)
@@ -1072,7 +1073,8 @@ static void quota_over_flag_check_root(struct quota_root *root)
                return;
        }
        root->quota_over_flag_checked = TRUE;
-       quota_over_flag_init_root(root, &quota_over_flag, &quota_over_status);
+       if (!quota_over_flag_init_root(root, &quota_over_flag, &quota_over_status))
+               return;
 
        resources = quota_root_get_resources(root);
        for (i = 0; resources[i] != NULL; i++) {