NeoMutt  2022-04-29-249-gaae397
Teaching an old dog new tricks
DOXYGEN
auth.h
Go to the documentation of this file.
1
23/* common defs for authenticators. A good place to set up a generic callback
24 * system */
25
26#ifndef MUTT_IMAP_AUTH_H
27#define MUTT_IMAP_AUTH_H
28
29#include "config.h"
30#include <stdbool.h>
31
32struct ImapAccountData;
33
38{
42};
43
44bool imap_auth_is_valid(const char *authenticator);
45
46/* external authenticator prototypes */
47enum ImapAuthRes imap_auth_plain(struct ImapAccountData *adata, const char *method);
48#ifndef USE_SASL_CYRUS
49enum ImapAuthRes imap_auth_anon(struct ImapAccountData *adata, const char *method);
50enum ImapAuthRes imap_auth_cram_md5(struct ImapAccountData *adata, const char *method);
51#endif
52enum ImapAuthRes imap_auth_login(struct ImapAccountData *adata, const char *method);
53#ifdef USE_GSS
54enum ImapAuthRes imap_auth_gss(struct ImapAccountData *adata, const char *method);
55#endif
56#ifdef USE_SASL_CYRUS
57enum ImapAuthRes imap_auth_sasl(struct ImapAccountData *adata, const char *method);
58#endif
59#ifdef USE_SASL_GNU
60enum ImapAuthRes imap_auth_gsasl(struct ImapAccountData *adata, const char *method);
61#endif
62enum ImapAuthRes imap_auth_oauth(struct ImapAccountData *adata, const char *method);
63enum ImapAuthRes imap_auth_xoauth2(struct ImapAccountData *adata, const char *method);
64
65#endif /* MUTT_IMAP_AUTH_H */
enum ImapAuthRes imap_auth_gss(struct ImapAccountData *adata, const char *method)
GSS Authentication support - Implements ImapAuth::authenticate()
Definition: auth_gss.c:104
enum ImapAuthRes imap_auth_login(struct ImapAccountData *adata, const char *method)
Plain LOGIN support - Implements ImapAuth::authenticate()
Definition: auth_login.c:44
enum ImapAuthRes imap_auth_cram_md5(struct ImapAccountData *adata, const char *method)
Authenticate using CRAM-MD5 - Implements ImapAuth::authenticate()
Definition: auth_cram.c:94
enum ImapAuthRes imap_auth_xoauth2(struct ImapAccountData *adata, const char *method)
Authenticate an IMAP connection using XOAUTH2 - Implements ImapAuth::authenticate()
Definition: auth_oauth.c:120
enum ImapAuthRes imap_auth_plain(struct ImapAccountData *adata, const char *method)
SASL PLAIN support - Implements ImapAuth::authenticate()
Definition: auth_plain.c:41
ImapAuthRes
Results of IMAP Authentication.
Definition: auth.h:38
@ IMAP_AUTH_FAILURE
Authentication failed.
Definition: auth.h:40
@ IMAP_AUTH_SUCCESS
Authentication successful.
Definition: auth.h:39
@ IMAP_AUTH_UNAVAIL
Authentication method not permitted.
Definition: auth.h:41
enum ImapAuthRes imap_auth_anon(struct ImapAccountData *adata, const char *method)
Authenticate anonymously - Implements ImapAuth::authenticate()
Definition: auth_anon.c:41
enum ImapAuthRes imap_auth_oauth(struct ImapAccountData *adata, const char *method)
Authenticate an IMAP connection using OAUTHBEARER - Implements ImapAuth::authenticate()
Definition: auth_oauth.c:112
bool imap_auth_is_valid(const char *authenticator)
Check if string is a valid imap authentication method.
Definition: auth.c:90
enum ImapAuthRes imap_auth_gsasl(struct ImapAccountData *adata, const char *method)
GNU SASL authenticator - Implements ImapAuth::authenticate()
Definition: auth_gsasl.c:41
enum ImapAuthRes imap_auth_sasl(struct ImapAccountData *adata, const char *method)
SASL authenticator - Implements ImapAuth::authenticate()
Definition: auth_sasl.c:45
void * adata
Private data (for Mailbox backends)
Definition: account.h:43
IMAP-specific Account data -.
Definition: adata.h:40