passdb.h revision c25356d5978632df6203437e1953bcb29e0c736f
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen ((pass)[0] != '\0' && (pass)[0] != '*' && (pass)[0] != '!')
7d6389e4053c2dac1fb37180b5756b00785983dcTimo Sirainentypedef void verify_plain_callback_t(enum passdb_result result,
f968e62caa52a8924bd05ebf76ff515b5c18e17bTimo Sirainentypedef void lookup_credentials_callback_t(enum passdb_result result,
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen const unsigned char *credentials,
484e12acec34f16e5a8adc001e23ae48f1dda8c7Timo Sirainentypedef void set_credentials_callback_t(bool success,
b321df9603081896b70ec44635af96d674a9839aTimo Sirainen (*preinit)(struct auth_passdb *auth_passdb, const char *args);
b321df9603081896b70ec44635af96d674a9839aTimo Sirainen void (*init)(struct passdb_module *module, const char *args);
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen /* Check if plaintext password matches */
7d6389e4053c2dac1fb37180b5756b00785983dcTimo Sirainen void (*verify_plain)(struct auth_request *request, const char *password,
a3dd97fb6d92a89c3de0597fed2d4b044c7aeb84Timo Sirainen /* Return authentication credentials, set in
a3dd97fb6d92a89c3de0597fed2d4b044c7aeb84Timo Sirainen auth_request->credentials. */
7d6389e4053c2dac1fb37180b5756b00785983dcTimo Sirainen void (*lookup_credentials)(struct auth_request *request,
35136dd2baf8dc30e4e754294ed81ff48e8c1e64Timo Sirainen /* Update credentials */
35136dd2baf8dc30e4e754294ed81ff48e8c1e64Timo Sirainen int (*set_credentials)(struct auth_request *request,
25ee72451d16374ed27fdbf829f4ec756c778352Timo Sirainen /* The caching key for this module, or NULL if caching isn't wanted. */
25ee72451d16374ed27fdbf829f4ec756c778352Timo Sirainen /* Default password scheme for this module.
25ee72451d16374ed27fdbf829f4ec756c778352Timo Sirainen If cache_key is set, must not be NULL. */
25ee72451d16374ed27fdbf829f4ec756c778352Timo Sirainen /* If blocking is set to TRUE, use child processes to access
25ee72451d16374ed27fdbf829f4ec756c778352Timo Sirainen this passdb. */
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen/* Try to get credentials in wanted scheme (request->credentials_scheme) from
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen given input. Returns FALSE if this wasn't possible (unknown scheme,
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen conversion not possible or invalid credentials).
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen If wanted scheme is "", the credentials are returned as-is without any
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen checks. This is useful mostly just to see if there exist any credentials
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainenbool passdb_get_credentials(struct auth_request *auth_request,
b44650b0f48a4b5f0dc240ed836833a00b643b9fTimo Sirainen const unsigned char **credentials_r,
f968e62caa52a8924bd05ebf76ff515b5c18e17bTimo Sirainenvoid passdb_handle_credentials(enum passdb_result result,
157bce86d0a01477bb8ebd0d380e6b2297f326f7Timo Sirainenstruct auth_passdb *passdb_preinit(struct auth *auth, const char *driver,
e9503210d3521a6833ed62dc332fc42ffb0e7a13Timo Sirainenvoid passdb_deinit(struct auth_passdb *passdb);
43a66a0b16299bd4f7615acd85e98bd3832c54d5Timo Sirainenvoid passdb_register_module(struct passdb_module_interface *iface);