HEX
Server: Apache/2
System: Linux nexus-01 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
User: aglcoke (1118)
PHP: 8.2.31
Disabled: mail,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/auth-client-connection.h
#ifndef AUTH_CLIENT_CONNECTION_H
#define AUTH_CLIENT_CONNECTION_H

#include "login-interface.h"
#include "auth-client-interface.h"

#define AUTH_CLIENT_MINOR_VERSION_CHANNEL_BINDING 3
#define AUTH_CLIENT_MINOR_VERSION_CANCELLED 4

enum auth_client_connection_flags {
	AUTH_CLIENT_CONNECTION_FLAG_LOGIN_REQUESTS = BIT(0),
	AUTH_CLIENT_CONNECTION_FLAG_TOKEN_AUTH = BIT(1),
	AUTH_CLIENT_CONNECTION_FLAG_LEGACY = BIT(2),
};

struct auth_client_connection {
	struct connection conn;
	struct auth *auth;
	struct event *event;
	int refcount;

	unsigned int pid;
	unsigned int connect_uid;
	uint8_t cookie[LOGIN_REQUEST_COOKIE_SIZE];
	struct auth_request_handler *request_handler;

	bool login_requests:1;
	bool version_received:1;
	bool token_auth:1;
	bool handshake_finished:1;
};
void auth_client_connection_create(struct auth *auth, int fd, const char *name,
				   enum auth_client_connection_flags flags);

struct auth_client_connection *
auth_client_connection_lookup(unsigned int pid);

void auth_client_connections_destroy_all(void);

#endif