]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
plugins: struct acl_backend - Add event
authorMarco Bettini <marco.bettini@open-xchange.com>
Fri, 15 Jul 2022 13:23:23 +0000 (13:23 +0000)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Mon, 8 Aug 2022 07:00:49 +0000 (07:00 +0000)
src/plugins/acl/acl-api-private.h
src/plugins/acl/acl-backend.c

index 6859779df31741338775bdb02bbd5e2d5d6e86f3..3da078168050f350c5f5dd2d78a3f02e39427c2f 100644 (file)
@@ -47,6 +47,7 @@ struct acl_backend {
        const char **groups;
        unsigned int group_count;
 
+       struct event *event;
        struct mailbox_list *list;
        struct acl_cache *cache;
        struct acl_global_file *global_file;
@@ -91,7 +92,7 @@ struct acl_object_list_iter {
 };
 
 extern const char *const all_mailbox_rights[];
-
+extern struct event_category event_category_acl;
 struct acl_object_list_iter *
 acl_default_object_list_init(struct acl_object *aclobj);
 bool acl_default_object_list_next(struct acl_object_list_iter *iter,
index ff6b551255f3ea9d314c129acbca106a422c6017..269742468860f262999a68d9a133aa9672c2d4b3 100644 (file)
 
 extern struct acl_backend_vfuncs acl_backend_vfile;
 
+struct event_category event_category_acl = {
+       .name = "acl",
+};
+
 const char *const all_mailbox_rights[] = {
        MAIL_ACL_LOOKUP,
        MAIL_ACL_READ,
@@ -54,6 +58,9 @@ acl_backend_init(const char *data, struct mailbox_list *list,
                i_fatal("Unknown ACL backend: %s", t_strcut(data, ':'));
 
        backend = acl_backend_vfile.alloc();
+       backend->event = event_create(user->event);
+       event_add_category(backend->event, &event_category_acl);
+
        backend->debug = user->mail_debug;
        backend->v = acl_backend_vfile;
        backend->list = list;
@@ -97,6 +104,7 @@ void acl_backend_deinit(struct acl_backend **_backend)
        if (backend->default_aclobj != NULL)
                acl_object_deinit(&backend->default_aclobj);
        acl_cache_deinit(&backend->cache);
+       event_unref(&backend->event);
        backend->v.deinit(backend);
 }