Next: , Previous: Obtaining Authorization Information, Up: libmuauth


3.2.5 Existing Modules

— Function: int mu_auth_nosupport (struct mu_auth_data **return_data, void *key, void *func_data, void *call_data);

The “not-supported” module. Always returns ENOSYS.

— Variable: mu_auth_system_module

This module is always registered even if libmuauth is not linked. It performs usual authentication using system user database (/etc/password et al.)

— Variable: mu_auth_generic_module

This module is always registered even if libmuauth is not linked. Both its authorization handlers are mu_auth_nosupport. Its authentication handler computes the MD5 or DES hash over the supplied password with the seed taken from passwd member of its key argument. Then it compares the obtained hash with the passwd member itself and returns 1 if both strings match.

— Variable: mu_auth_pam_module

Implements PAM authentication. Both authorization handlers are mu_auth_nosupport().

— Variable: mu_auth_sql_module

Implements authentication and authorization via MySQL database. The credentials for accessing the database are taken from global variables sql_host, sql_port, sql_user, sql_passwd and sql_db. The SQL queries for retrieving user information from global variables sql_getpwnam_query and sql_getpwuid_query. The variable sql_getpass_query keeps the query used for retrieving user's password. See auth, for information on command line options used to set these variables.

— Variable: mu_auth_virtual_module

Implements mu_get_auth_by_name method using virtual mail domains. Neither mu_get_auth_by_uid nor mu_authenticate is implemented. This module must be used together with generic module.