
| Current Path : /include/dovecot/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //include/dovecot/master-login.h |
#ifndef MASTER_LOGIN_H
#define MASTER_LOGIN_H
#include "master-auth.h"
#define MASTER_POSTLOGIN_TIMEOUT_DEFAULT 60
struct master_login_client {
/* parent connection */
struct master_login_connection *conn;
/* linked list of all clients within the connection */
struct master_login_client *prev, *next;
/* non-NULL while running postlogin script */
struct master_login_postlogin *postlogin_client;
int fd;
struct timeval create_time;
struct master_auth_request auth_req;
char *session_id;
unsigned char data[FLEXIBLE_ARRAY_MEMBER];
};
typedef void
master_login_callback_t(const struct master_login_client *client,
const char *username, const char *const *extra_fields);
typedef void
master_login_failure_callback_t(const struct master_login_client *client,
const char *errormsg);
struct master_login_settings {
const char *auth_socket_path;
const char *postlogin_socket_path;
unsigned int postlogin_timeout_secs;
master_login_callback_t *callback;
master_login_failure_callback_t *failure_callback;
bool request_auth_token:1;
};
struct master_login *
master_login_init(struct master_service *service,
const struct master_login_settings *set);
void master_login_deinit(struct master_login **login);
void master_login_add(struct master_login *login, int fd);
void master_login_stop(struct master_login *login);
#endif