submission-client.h revision aa8e45365fc9453397ef6b1c31ee75b90f62e596
#ifndef CLIENT_H
#define CLIENT_H
#include "net.h"
struct smtp_reply;
struct client;
struct client_command_context;
struct client_state {
struct istream *data_input;
};
struct client {
char *session_id;
const struct setting_parser_info *user_set_info;
const struct submission_settings *set;
struct smtp_server_connection *conn;
enum smtp_server_state last_state;
struct client_state state;
struct smtp_server_cmd_ctx *pending_helo;
struct mail_storage_service_user *service_user;
/* IMAP URLAUTH context (RFC4467) for BURL (RFC4468) */
struct imap_urlauth_context *urlauth_ctx;
struct smtp_client_connection *proxy_conn;
struct smtp_server_stats stats;
bool standalone:1;
bool xclient_sent:1;
bool disconnected:1;
bool destroyed:1;
bool anvil_sent:1;
};
extern struct client *submission_clients;
extern unsigned int submission_client_count;
struct mail_storage_service_user *service_user,
const struct submission_settings *set,
const char *helo,
const unsigned char *pdata,
unsigned int pdata_len);
const char *reason);
void clients_destroy_all(void);
#endif