client-common.h revision 087939d3fa9c4056419386c9d6c81f147de534cd
#ifndef CLIENT_COMMON_H
#define CLIENT_COMMON_H
#include "network.h"
#include "master.h"
#include "sasl-server.h"
/* max. size of input buffer. this means:
SASL: Max SASL request length from client
IMAP: Max. length of a single parameter
POP3: Max. length of a command line (spec says 512 would be enough)
*/
#define LOGIN_MAX_INBUF_SIZE 4096
struct client {
unsigned int local_port, remote_port;
int fd;
const char *auth_command_tag;
char *auth_mech_name;
struct auth_request *auth_request;
unsigned int master_tag;
unsigned int auth_attempts;
char *virtual_user;
unsigned int tls:1;
unsigned int secured:1;
unsigned int trusted:1;
unsigned int authenticating:1;
unsigned int auth_tried_disabled_plaintext:1;
/* ... */
};
unsigned int clients_get_count(void) ATTR_PURE;
void clients_notify_auth_connected(void);
void client_destroy_oldest(void);
void clients_destroy_all(void);
void clients_init(void);
void clients_deinit(void);
#endif