/*++ /* NAME /* smtpd_sasl_glue 3 /* SUMMARY /* Postfix SMTP server, SASL support interface /* SYNOPSIS /* #include "smtpd_sasl_glue.h" /* /* void smtpd_sasl_state_init(state) /* SMTPD_STATE *state; /* /* void smtpd_sasl_initialize() /* /* void smtpd_sasl_activate(state, sasl_opts_name, sasl_opts_val) /* SMTPD_STATE *state; /* const char *sasl_opts_name; /* const char *sasl_opts_val; /* /* char *smtpd_sasl_authenticate(state, sasl_method, init_response) /* SMTPD_STATE *state; /* const char *sasl_method; /* const char *init_response; /* /* void smtpd_sasl_logout(state) /* SMTPD_STATE *state; /* /* void smtpd_sasl_login(state, sasl_username, sasl_method) /* SMTPD_STATE *state; /* const char *sasl_username; /* const char *sasl_method; /* /* void smtpd_sasl_deactivate(state) /* SMTPD_STATE *state; /* /* int smtpd_sasl_is_active(state) /* SMTPD_STATE *state; /* /* int smtpd_sasl_set_inactive(state) /* SMTPD_STATE *state; /* DESCRIPTION /* This module encapsulates most of the detail specific to SASL /* authentication. /* /* smtpd_sasl_state_init() performs minimal server state /* initialization to support external authentication (e.g., /* XCLIENT) without having to enable SASL in main.cf. This /* should always be called at process startup. /* /* smtpd_sasl_initialize() initializes the SASL library. This /* routine should be called once at process start-up. It may /* need access to the file system for run-time loading of /* plug-in modules. There is no corresponding cleanup routine. /* /* smtpd_sasl_activate() performs per-connection initialization. /* This routine should be called once at the start of every /* connection. The sasl_opts_name and sasl_opts_val parameters /* are the postfix configuration parameters setting the security /* policy of the SASL authentication. /* /* smtpd_sasl_authenticate() implements the authentication /* dialog. The result is zero in case of success, -1 in case /* of failure. smtpd_sasl_authenticate() updates the following /* state structure members: /* .IP sasl_method /* The authentication method that was successfully applied. /* This member is a null pointer in the absence of successful /* authentication. /* .IP sasl_username /* The username that was successfully authenticated. /* This member is a null pointer in the absence of successful /* authentication. /* .PP /* smtpd_sasl_login() records the result of successful external /* authentication, i.e. without invoking smtpd_sasl_authenticate(), /* but produces an otherwise equivalent result. /* /* smtpd_sasl_logout() cleans up after smtpd_sasl_authenticate(). /* This routine exists for the sake of symmetry. /* /* smtpd_sasl_deactivate() performs per-connection cleanup. /* This routine should be called at the end of every connection. /* /* smtpd_sasl_is_active() is a predicate that returns true /* if the SMTP server session state is between smtpd_sasl_activate() /* and smtpd_sasl_deactivate(). /* /* smtpd_sasl_set_inactive() initializes the SMTP session /* state before the first smtpd_sasl_activate() call. /* /* Arguments: /* .IP state /* SMTP session context. /* .IP sasl_opts_name /* Security options parameter name. /* .IP sasl_opts_val /* Security options parameter value. /* .IP sasl_method /* A SASL mechanism name /* .IP init_reply /* An optional initial client response. /* DIAGNOSTICS /* All errors are fatal. /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Initial implementation by: /* Till Franke /* SuSE Rhein/Main AG /* 65760 Eschborn, Germany /* /* Adopted by: /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /* /* Wietse Venema /* Google, Inc. /* 111 8th Avenue /* New York, NY 10011, USA /* /* Wietse Venema /* porcupine.org /* Amawalk, NY 10501, USA
/*--*/
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.