client.h revision 9f627b360ed38fdc54cb02ec5e67246c3f0d5b0f
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher#ifndef CLIENT_H
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher#define CLIENT_H
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher#include "network.h"
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher#include "client-common.h"
b355dcb54194f498921743ca33304eac35d89718Stephen Gallagher#include "auth-client.h"
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherenum pop3_proxy_state {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher POP3_PROXY_BANNER = 0,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher POP3_PROXY_STARTTLS,
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagher POP3_PROXY_LOGIN1,
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagher POP3_PROXY_LOGIN2
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagher};
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct pop3_client {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher struct client common;
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher char *last_user;
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher char *apop_challenge;
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher unsigned int apop_server_pid, apop_connect_uid;
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher};
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherenum pop3_cmd_reply {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher POP3_CMD_REPLY_OK,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher POP3_CMD_REPLY_ERROR,
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagher POP3_CMD_REPLY_TEMPFAIL
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagher};
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallaghervoid client_send_reply(struct client *client, enum pop3_cmd_reply reply,
b355dcb54194f498921743ca33304eac35d89718Stephen Gallagher const char *text);
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher#endif
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher