view src/doveadm/client-connection.h @ 22554:8c27d8d766bd

doveadm-server: Refactor connection handshake and authentication Simplifies next change
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Tue, 12 Sep 2017 13:43:30 +0300
parents c50bcadbd45a
children ba71422dc32f
line wrap: on
line source

#ifndef CLIENT_CONNECTION_H
#define CLIENT_CONNECTION_H

#include "net.h"

struct client_connection {
	pool_t pool;

	int fd;
	const char *name;
	struct io *io;
	struct istream *input;
	struct ostream *output;
	struct ssl_iostream *ssl_iostream;
	struct ip_addr local_ip, remote_ip;
	in_port_t local_port, remote_port;
	const struct doveadm_settings *set;

	unsigned int handshaked:1;
	unsigned int authenticated:1;
	unsigned int io_setup:1;
};

struct client_connection *
client_connection_create(int fd, int listen_fd, bool ssl);
struct client_connection *
client_connection_create_http(int fd, bool ssl);
void client_connection_destroy(struct client_connection **conn);

#endif