imap_proxy_parse_line,
imap_proxy_error,
imap_proxy_get_state,
+ client_common_send_raw_data,
};
static const struct login_binary imap_login_binary = {
NULL,
NULL,
NULL,
+ client_common_send_raw_data,
};
static const struct login_binary imap_urlauth_login_binary = {
client->v.notify_status(client, bad, text);
}
-void client_send_raw_data(struct client *client, const void *data, size_t size)
+void client_common_send_raw_data(struct client *client,
+ const void *data, size_t size)
{
ssize_t ret;
}
}
+void client_send_raw_data(struct client *client, const void *data, size_t size)
+{
+ /* FIXME: NULL check is only for backwards compatibility - remove */
+ if (client->v.send_raw_data != NULL)
+ client->v.send_raw_data(client, data, size);
+ else
+ client_common_send_raw_data(client, data, size);
+}
+
void client_send_raw(struct client *client, const char *data)
{
client_send_raw_data(client, data, strlen(data));
int (*proxy_parse_line)(struct client *client, const char *line);
void (*proxy_error)(struct client *client, const char *text);
const char *(*proxy_get_state)(struct client *client);
+ void (*send_raw_data)(struct client *client,
+ const void *data, size_t size);
};
struct client {
void client_send_raw_data(struct client *client, const void *data, size_t size);
void client_send_raw(struct client *client, const char *data);
+void client_common_send_raw_data(struct client *client,
+ const void *data, size_t size);
void client_set_auth_waiting(struct client *client);
void client_auth_send_challenge(struct client *client, const char *data);
pop3_proxy_parse_line,
pop3_proxy_error,
pop3_proxy_get_state,
+ client_common_send_raw_data,
};
static const struct login_binary pop3_login_binary = {