4
#define IMAP_URLAUTH_SOCKET_NAME "imap-urlauth"
7
struct imap_msgpart_url;
8
struct imap_urlauth_context;
10
struct imap_urlauth_config {
12
unsigned int url_port;
14
const char *socket_path;
15
const char *session_id;
17
const char *access_user;
18
const char *const *access_applications;
19
bool access_anonymous;
22
struct imap_urlauth_context *
23
imap_urlauth_init(struct mail_user *user,
24
const struct imap_urlauth_config *config);
25
void imap_urlauth_deinit(struct imap_urlauth_context **_uctx);
27
int imap_urlauth_generate(struct imap_urlauth_context *uctx,
28
const char *mechanism, const char *rumpurl,
29
const char **urlauth_r, const char **error_r);
31
bool imap_urlauth_check(struct imap_urlauth_context *uctx,
32
struct imap_url *url, bool ignore_unknown_access,
33
const char **error_r);
35
int imap_urlauth_fetch_parsed(struct imap_urlauth_context *uctx,
37
struct imap_msgpart_url **mpurl_r,
38
enum mail_error *error_code_r,
39
const char **error_r);
40
int imap_urlauth_fetch(struct imap_urlauth_context *uctx,
41
const char *urlauth, struct imap_msgpart_url **mpurl_r,
42
enum mail_error *error_code_r, const char **error_r);
44
int imap_urlauth_reset_mailbox_key(struct imap_urlauth_context *uctx,
46
int imap_urlauth_reset_all_keys(struct imap_urlauth_context *uctx);