HEX
Server: Apache/2
System: Linux ctr1224126.novalocal 4.9.241-37.el7.x86_64 #1 SMP Mon Nov 2 13:55:04 UTC 2020 x86_64
User: gokitchen (1017)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/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