]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: passdb-pam - Use container_of() macro
authorMarkus Valentin <markus.valentin@open-xchange.com>
Tue, 2 Apr 2024 12:52:57 +0000 (14:52 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:13 +0000 (12:34 +0200)
src/auth/passdb-pam.c

index c453f98134e1f9508b3f1c1d37e609a42d768379..9ad2ef1a66766ce14c2e1cd98f8fea79cadd7a18 100644 (file)
@@ -105,8 +105,9 @@ pam_userpass_conv(int num_msg, pam_const struct pam_message **msg,
 {
        /* @UNSAFE */
        struct pam_conv_context *ctx = appdata_ptr;
-       struct passdb_module *_passdb = ctx->request->passdb->passdb;
-       struct pam_passdb_module *passdb = (struct pam_passdb_module *)_passdb;
+       struct pam_passdb_module *passdb =
+               container_of(ctx->request->passdb->passdb,
+                            struct pam_passdb_module, module);
        struct pam_response *resp;
        char *string;
        int i;
@@ -195,8 +196,9 @@ pam_get_missing_service_file_path(const char *service ATTR_UNUSED)
 static int try_pam_auth(struct auth_request *request, pam_handle_t *pamh,
                        const char *service)
 {
-        struct passdb_module *_module = request->passdb->passdb;
-        struct pam_passdb_module *module = (struct pam_passdb_module *)_module;
+        struct pam_passdb_module *module =
+               container_of(request->passdb->passdb, struct pam_passdb_module,
+                            module);
        const char *path, *str;
        pam_item_t item;
        int status;
@@ -355,8 +357,9 @@ static void
 pam_verify_plain(struct auth_request *request, const char *password,
                 verify_plain_callback_t *callback)
 {
-        struct passdb_module *_module = request->passdb->passdb;
-        struct pam_passdb_module *module = (struct pam_passdb_module *)_module;
+        struct pam_passdb_module *module =
+               container_of(request->passdb->passdb, struct pam_passdb_module,
+                            module);
        const struct auth_pam_settings *set;
        enum passdb_result result;
        const char *error;