]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
quota: Remove quota_root_settings.set
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 14 Aug 2024 07:05:58 +0000 (10:05 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:00 +0000 (10:40 +0200)
Only the memory pool was used from it. Pass it via parameters instead.

src/plugins/quota/quota-private.h
src/plugins/quota/quota-util.c
src/plugins/quota/quota.c
src/plugins/quota/quota.h

index 23f1f85ad04c38f07ce50396137626dba60db6fa..373999c62e618de087c9dcfd97c4e23cf70347df 100644 (file)
@@ -93,7 +93,6 @@ struct quota_root_settings {
        /* Name in settings, e.g. "quota", "quota2", .. */
        const char *set_name;
 
-       struct quota_legacy_settings *set;
        const char *args;
 
        const struct quota_backend *backend;
index a9bae4f21dd83e4a98654cbca09d9eccef1e8a60..03c9db8b65975b5bc5dbfe044f0372ffe1621324 100644 (file)
@@ -224,7 +224,7 @@ quota_rule_parse_limits(struct event *event,
        return 0;
 }
 
-int quota_root_add_rule(struct event *event,
+int quota_root_add_rule(struct event *event, pool_t pool,
                        struct quota_root_settings *root_set,
                        const char *rule_def, const char **error_r)
 {
@@ -251,7 +251,7 @@ int quota_root_add_rule(struct event *event,
                } else {
                        rule = array_append_space(&root_set->rules);
                        rule->mailbox_mask = strcasecmp(mailbox_mask, "INBOX") == 0 ? "INBOX" :
-                               p_strdup(root_set->set->pool, mailbox_mask);
+                               p_strdup(pool, mailbox_mask);
                }
        }
 
@@ -297,7 +297,7 @@ int quota_root_add_rule(struct event *event,
        return ret;
 }
 
-int quota_root_add_warning_rule(struct event *event,
+int quota_root_add_warning_rule(struct event *event, pool_t pool,
                                struct quota_root_settings *root_set,
                                const char *rule_def, const char **error_r)
 {
@@ -332,7 +332,7 @@ int quota_root_add_warning_rule(struct event *event,
                return -1;
 
        warning = array_append_space(&root_set->warning_rules);
-       warning->command = p_strdup(root_set->set->pool, p+1);
+       warning->command = p_strdup(pool, p+1);
        warning->rule = rule;
        warning->reverse = reverse;
        if (reverse)
index 9275167e1e0c9f6a2fe04bfdc851f01fa1ca72e3..a048c5cfa5db98064f24f105a9667ba5c72f03a9 100644 (file)
@@ -118,7 +118,7 @@ void quota_backends_unregister(void)
 }
 
 static int quota_root_add_rules(struct mail_user *user, const char *root_name,
-                               struct quota_root_settings *root_set,
+                               pool_t pool, struct quota_root_settings *root_set,
                                const char **error_r)
 {
        const char *rule_name, *rule, *error;
@@ -130,7 +130,8 @@ static int quota_root_add_rules(struct mail_user *user, const char *root_name,
                if (rule == NULL)
                        break;
 
-               if (quota_root_add_rule(user->event, root_set, rule, &error) < 0) {
+               if (quota_root_add_rule(user->event, pool, root_set,
+                                       rule, &error) < 0) {
                        *error_r = t_strdup_printf("Invalid rule %s: %s",
                                                   rule, error);
                        return -1;
@@ -142,7 +143,7 @@ static int quota_root_add_rules(struct mail_user *user, const char *root_name,
 
 static int
 quota_root_add_warning_rules(struct mail_user *user, const char *root_name,
-                            struct quota_root_settings *root_set,
+                            pool_t pool, struct quota_root_settings *root_set,
                             const char **error_r)
 {
        const char *rule_name, *rule, *error;
@@ -154,7 +155,8 @@ quota_root_add_warning_rules(struct mail_user *user, const char *root_name,
                if (rule == NULL)
                        break;
 
-               if (quota_root_add_warning_rule(user->event, root_set, rule, &error) < 0) {
+               if (quota_root_add_warning_rule(user->event, pool, root_set,
+                                               rule, &error) < 0) {
                        *error_r = t_strdup_printf("Invalid warning rule: %s",
                                                   rule);
                        return -1;
@@ -192,7 +194,6 @@ quota_root_settings_init(struct event *event,
        }
 
        root_set = p_new(quota_set->pool, struct quota_root_settings, 1);
-       root_set->set = quota_set;
        root_set->backend = backend;
 
        if (args != NULL) {
@@ -223,7 +224,8 @@ quota_root_settings_init(struct event *event,
 
 static int
 quota_root_add(struct quota_legacy_settings *quota_set, struct mail_user *user,
-              const char *env, const char *root_name, const char **error_r)
+              pool_t pool, const char *env, const char *root_name,
+              const char **error_r)
 {
        struct quota_root_settings *root_set;
        const char *set_name, *value;
@@ -232,9 +234,10 @@ quota_root_add(struct quota_legacy_settings *quota_set, struct mail_user *user,
                                     &root_set, error_r) < 0)
                return -1;
        root_set->set_name = p_strdup(quota_set->pool, root_name);
-       if (quota_root_add_rules(user, root_name, root_set, error_r) < 0)
+       if (quota_root_add_rules(user, root_name, pool, root_set, error_r) < 0)
                return -1;
-       if (quota_root_add_warning_rules(user, root_name, root_set, error_r) < 0)
+       if (quota_root_add_warning_rules(user, root_name, quota_set->pool,
+                                        root_set, error_r) < 0)
                return -1;
 
        set_name = t_strconcat(root_name, "_grace", NULL);
@@ -291,7 +294,7 @@ int quota_user_read_settings(struct mail_user *user,
                if (env == NULL || *env == '\0')
                        break;
 
-               if (quota_root_add(quota_set, user, env, root_name,
+               if (quota_root_add(quota_set, user, pool, env, root_name,
                                   &error) < 0) {
                        *error_r = t_strdup_printf("Invalid quota root %s: %s",
                                                   root_name, error);
index 4cee0c1263957416c58c36827de9b3440977fbd0..86ffd9fe6ffa61c99bbbc88b6cee4f1907f15684 100644 (file)
@@ -77,12 +77,12 @@ int quota_user_read_settings(struct mail_user *user,
 void quota_settings_deinit(struct quota_legacy_settings **quota_set);
 
 /* Add a new rule too the quota root. Returns 0 if ok, -1 if rule is invalid. */
-int quota_root_add_rule(struct event *event,
+int quota_root_add_rule(struct event *event, pool_t pool,
                        struct quota_root_settings *root_set,
                        const char *rule_def, const char **error_r);
 /* Add a new warning rule for the quota root. Returns 0 if ok, -1 if rule is
    invalid. */
-int quota_root_add_warning_rule(struct event *event,
+int quota_root_add_warning_rule(struct event *event, pool_t pool,
                                struct quota_root_settings *root_set,
                                const char *rule_def, const char **error_r);