0f39a57760d93cddbce3ca43096d78e0fe2f42fdTimo Sirainentypedef void userdb_callback_t(enum userdb_result result,
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainen/* user=NULL when there are no more users */
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainentypedef void userdb_iter_callback_t(const char *user, void *context);
74674a53a72dab535c61f455b2246ef2797844eaTimo Sirainen /* The default caching key for this module, or NULL if caching isn't
74674a53a72dab535c61f455b2246ef2797844eaTimo Sirainen wanted. This is updated by settings in auth_userdb. */
66d2db642fe24d555d113ba463e446b038d476efTimo Sirainen /* If blocking is set to TRUE, use child processes to access
b42f37ae6f65ed986315b6885568d32115e589b1Timo Sirainen this userdb. */
3cf67672fdc87583cb23ce088c95bb5dee60e74dTimo Sirainen /* id is used by blocking userdb to identify the userdb */
9ed2951bd0bb1878a27437d7c00611b2baadd614Timo Sirainen /* number of time init() has been called */
2d8f66596f445dd8b399b7032c3f0e9202015b63Timo Sirainen /* WARNING: avoid adding anything here that isn't based on args.
2d8f66596f445dd8b399b7032c3f0e9202015b63Timo Sirainen if you do, you need to change userdb.c:userdb_find() also to avoid
2d8f66596f445dd8b399b7032c3f0e9202015b63Timo Sirainen accidentally merging wrong userdbs. */
849969f639a00eab26791db3cb1b66430420c0cdTimo Sirainen struct userdb_module *(*preinit)(pool_t pool, const char *args);
3b94ff5951db4d4eddb7a80ed4e3f61207202635Timo Sirainen void (*lookup)(struct auth_request *auth_request,
e9371f899a3d4207a0ffd3923ea5ec7250cf5e75Timo Sirainen (*iterate_init)(struct auth_request *auth_request,
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainen void (*iterate_next)(struct userdb_iterate_context *ctx);
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainen int (*iterate_deinit)(struct userdb_iterate_context *ctx);
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4Timo Sirainenuid_t userdb_parse_uid(struct auth_request *request, const char *str)
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4Timo Sirainengid_t userdb_parse_gid(struct auth_request *request, const char *str)
04052d7cacaa866a3f00afb4e104fa46c04c1dd7Timo Sirainenuserdb_preinit(pool_t pool, const struct auth_userdb_settings *set);
f3d506e525a720f214020ca0f989a1966b30edaeTimo Sirainenvoid userdb_init(struct userdb_module *userdb);
849969f639a00eab26791db3cb1b66430420c0cdTimo Sirainenvoid userdb_deinit(struct userdb_module *userdb);
43a66a0b16299bd4f7615acd85e98bd3832c54d5Timo Sirainenvoid userdb_register_module(struct userdb_module_interface *iface);
43a66a0b16299bd4f7615acd85e98bd3832c54d5Timo Sirainenvoid userdb_unregister_module(struct userdb_module_interface *iface);