client.h revision 01cd9d4a8050a1dbf1da2c830f9755a45d6d004a
bcb4e51a409d94ae670de96afb8483a4f7855294Stephan Bosch#ifndef CLIENT_H
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen#define CLIENT_H
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen
0536ccb51d41e3078c3a9fa33e509fb4b2420f95Timo Sirainen#include "network.h"
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen#include "client-common.h"
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen#include "auth-client.h"
252db51b6c0a605163326b3ea5d09e9936ca3b29Timo Sirainen
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainenenum pop3_proxy_state {
9511a40d933181045343110c8101b75887062aaeTimo Sirainen POP3_PROXY_BANNER = 0,
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen POP3_PROXY_STARTTLS,
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen POP3_PROXY_LOGIN1,
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen POP3_PROXY_LOGIN2
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen};
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainenstruct pop3_client {
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen struct client common;
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen char *last_user;
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen char *apop_challenge;
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen unsigned int apop_server_pid, apop_connect_uid;
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen bool proxy_xclient;
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen};
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainenenum pop3_cmd_reply {
4aa7fe81503a20bc972ae625da4dd9e6996fbdbfTimo Sirainen POP3_CMD_REPLY_OK,
a94936bafd127680184da114c6a177b37ff656e5Timo Sirainen POP3_CMD_REPLY_ERROR,
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen POP3_CMD_REPLY_TEMPFAIL
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen};
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainenvoid client_send_reply(struct client *client, enum pop3_cmd_reply reply,
8887a9bb6d2e3f664cf741b763643a0e5610fa4dTimo Sirainen const char *text);
dd62b77c932d1b518f2a3e4bf80e36542becc256Timo Sirainen
3f8303bae0f70df6db9337ad1d1476d290f9b1a3Timo Sirainen#endif
3f8303bae0f70df6db9337ad1d1476d290f9b1a3Timo Sirainen