pool_t pool;
};
-typedef void (*test_server_init_t)
- (const struct smtp_server_settings *server_set);
+typedef void
+(*test_server_init_t)(const struct smtp_server_settings *server_set);
typedef void (*test_client_init_t)(unsigned int index);
/*
*/
/* server */
-static void
-test_server_defaults(struct smtp_server_settings *smtp_set);
-static void
-test_server_run(const struct smtp_server_settings *smtp_set);
+static void test_server_defaults(struct smtp_server_settings *smtp_set);
+static void test_server_run(const struct smtp_server_settings *smtp_set);
/* client */
static void test_client_run(unsigned int index);
/* test*/
-static void test_run_client_server(
- const struct smtp_server_settings *server_set,
- test_server_init_t server_test,
- test_client_init_t client_test,
- unsigned int client_tests_count)
- ATTR_NULL(3);
+static void
+test_run_client_server(const struct smtp_server_settings *server_set,
+ test_server_init_t server_test,
+ test_client_init_t client_test,
+ unsigned int client_tests_count) ATTR_NULL(3);
/*
* Slow server
/* client */
-static void
-test_slow_server_input(struct client_connection *conn ATTR_UNUSED)
+static void test_slow_server_input(struct client_connection *conn ATTR_UNUSED)
{
/* do nothing */
sleep(10);
}
-static void
-test_slow_server_connected(struct client_connection *conn)
+static void test_slow_server_connected(struct client_connection *conn)
{
if (debug)
i_debug("CONNECTED");
io_loop_stop(ioloop);
}
-static void
-test_server_slow_server_delayed(struct _slow_server *ctx)
+static void test_server_slow_server_delayed(struct _slow_server *ctx)
{
struct smtp_server_reply *reply;
struct smtp_server_cmd_ctx *cmd = ctx->cmd;
static int
test_server_slow_server_cmd_helo(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd,
- struct smtp_server_cmd_helo *data ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd,
+ struct smtp_server_cmd_helo *data ATTR_UNUSED)
{
struct _slow_server *ctx;
SMTP_SERVER_COMMAND_HOOK_DESTROY,
test_server_slow_server_destroyed, ctx);
- ctx->to_delay = timeout_add(4000,
- test_server_slow_server_delayed, ctx);
+ ctx->to_delay = timeout_add(4000, test_server_slow_server_delayed, ctx);
return 0;
}
-static void test_server_slow_server
-(const struct smtp_server_settings *server_set)
+static void
+test_server_slow_server(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_cmd_helo = test_server_slow_server_cmd_helo;
test_server_run(server_set);
test_begin("slow server");
test_run_client_server(&smtp_server_set,
- test_server_slow_server,
- test_client_slow_server, 1);
+ test_server_slow_server,
+ test_client_slow_server, 1);
test_end();
}
/* client */
-static void
-test_slow_client_input(struct client_connection *conn ATTR_UNUSED)
+static void test_slow_client_input(struct client_connection *conn ATTR_UNUSED)
{
/* nothing */
}
-static void
-test_slow_client_connected(struct client_connection *conn)
+static void test_slow_client_connected(struct client_connection *conn)
{
if (debug)
i_debug("CONNECTED");
- o_stream_nsend_str(conn->conn.output,
- "EHLO frop\r\n");
+ o_stream_nsend_str(conn->conn.output, "EHLO frop\r\n");
}
static void test_client_slow_client(unsigned int index)
bool serviced:1;
};
-static void
-test_server_slow_client_disconnect_timeout(struct _slow_client *ctx)
+static void test_server_slow_client_disconnect_timeout(struct _slow_client *ctx)
{
test_assert(FALSE);
timeout_remove(&ctx->to_delay);
}
-static void
-test_server_slow_client_delayed(struct _slow_client *ctx)
+static void test_server_slow_client_delayed(struct _slow_client *ctx)
{
struct smtp_server_reply *reply;
struct smtp_server_cmd_ctx *cmd = ctx->cmd;
reply = smtp_server_reply_create_ehlo(cmd->cmd);
smtp_server_reply_ehlo_add(reply, "FROP");
- ctx->to_disconnect = timeout_add(2000,
- test_server_slow_client_disconnect_timeout, ctx);
+ ctx->to_disconnect = timeout_add(
+ 2000, test_server_slow_client_disconnect_timeout, ctx);
smtp_server_reply_submit(reply);
ctx->serviced = TRUE;
static int
test_server_slow_client_cmd_helo(void *conn_ctx,
- struct smtp_server_cmd_ctx *cmd,
- struct smtp_server_cmd_helo *data ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd,
+ struct smtp_server_cmd_helo *data ATTR_UNUSED)
{
- struct server_connection *conn =
- (struct server_connection *)conn_ctx;
+ struct server_connection *conn = (struct server_connection *)conn_ctx;
struct _slow_client *ctx;
if (debug)
return 0;
}
-static void test_server_slow_client
-(const struct smtp_server_settings *server_set)
+static void
+test_server_slow_client(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect = test_server_slow_client_disconnect;
server_callbacks.conn_cmd_helo = test_server_slow_client_cmd_helo;
test_begin("slow client");
test_run_client_server(&smtp_server_set,
- test_server_slow_client,
- test_client_slow_client, 1);
+ test_server_slow_client,
+ test_client_slow_client, 1);
test_end();
}
test_hanging_command_payload_connected(struct client_connection *conn)
{
o_stream_nsend_str(conn->conn.output,
- "EHLO frop\r\n"
- "MAIL FROM:<hangman@example.com>\r\n"
- "RCPT TO:<jerry@example.com>\r\n"
- "DATA\r\n"
- "To be continued... or not");
+ "EHLO frop\r\n"
+ "MAIL FROM:<hangman@example.com>\r\n"
+ "RCPT TO:<jerry@example.com>\r\n"
+ "DATA\r\n"
+ "To be continued... or not");
}
static void test_client_hanging_command_payload(unsigned int index)
};
static void
-test_server_hanging_command_payload_trans_free(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_transaction *trans)
+test_server_hanging_command_payload_trans_free(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_transaction *trans)
{
struct _hanging_command_payload *ctx =
(struct _hanging_command_payload *)trans->context;
}
static int
-test_server_hanging_command_payload_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_hanging_command_payload_rcpt(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_recipient *rcpt)
{
if (debug) {
}
static int
-test_server_hanging_command_payload_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_transaction *trans,
- struct istream *data_input)
+test_server_hanging_command_payload_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_transaction *trans, struct istream *data_input)
{
struct _hanging_command_payload *ctx;
}
static int
-test_server_hanging_command_payload_data_continue(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd,
+test_server_hanging_command_payload_data_continue(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd,
struct smtp_server_transaction *trans)
{
struct _hanging_command_payload *ctx =
if (debug)
i_debug("DATA continue");
- while ((ret=i_stream_read_data(ctx->payload_input,
- &data, &size, 0)) > 0) {
+ while ((ret = i_stream_read_data(ctx->payload_input,
+ &data, &size, 0)) > 0)
i_stream_skip(ctx->payload_input, size);
- }
if (ret == 0)
return 0;
return 1;
}
-static void test_server_hanging_command_payload
-(const struct smtp_server_settings *server_set)
+static void
+test_server_hanging_command_payload(
+ const struct smtp_server_settings *server_set)
{
server_callbacks.conn_trans_free =
test_server_hanging_command_payload_trans_free;
test_begin("hanging command payload");
test_run_client_server(&smtp_server_set,
- test_server_hanging_command_payload,
- test_client_hanging_command_payload, 1);
+ test_server_hanging_command_payload,
+ test_client_hanging_command_payload, 1);
test_end();
}
static void
test_bad_command_connected(struct client_connection *conn)
{
- o_stream_nsend_str(conn->conn.output,
- "EHLO\tfrop\r\n");
+ o_stream_nsend_str(conn->conn.output, "EHLO\tfrop\r\n");
}
static void test_client_bad_command(unsigned int index)
};
static void
-test_server_bad_command_disconnect(void *context ATTR_UNUSED, const char *reason)
+test_server_bad_command_disconnect(void *context ATTR_UNUSED,
+ const char *reason)
{
if (debug)
i_debug("Disconnect: %s", reason);
static int
test_server_bad_command_helo(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_cmd_helo *data ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_cmd_helo *data ATTR_UNUSED)
{
test_assert(FALSE);
return 1;
static int
test_server_bad_command_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_recipient *rcpt ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
return 1;
}
static int
-test_server_bad_command_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd,
+test_server_bad_command_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_bad_command
-(const struct smtp_server_settings *server_set)
+static void
+test_server_bad_command(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_bad_command_disconnect;
test_begin("bad command");
test_run_client_server(&smtp_server_set,
- test_server_bad_command,
- test_client_bad_command, 1);
+ test_server_bad_command,
+ test_client_bad_command, 1);
test_end();
}
/* client */
-static void
-test_long_command_connected(struct client_connection *conn)
+static void test_long_command_connected(struct client_connection *conn)
{
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"EHLO some.very.very.very.very.very.long.domain\r\n");
}
};
static void
-test_server_long_command_disconnect(void *context ATTR_UNUSED, const char *reason)
+test_server_long_command_disconnect(void *context ATTR_UNUSED,
+ const char *reason)
{
if (debug)
i_debug("Disconnect: %s", reason);
static int
test_server_long_command_helo(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_cmd_helo *data ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_cmd_helo *data ATTR_UNUSED)
{
test_assert(FALSE);
return 1;
static int
test_server_long_command_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_recipient *rcpt ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
return 1;
}
static int
-test_server_long_command_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd,
+test_server_long_command_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_long_command
-(const struct smtp_server_settings *server_set)
+static void
+test_server_long_command(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_long_command_disconnect;
test_begin("long command");
test_run_client_server(&smtp_server_set,
- test_server_long_command,
- test_client_long_command, 1);
+ test_server_long_command,
+ test_client_long_command, 1);
test_end();
}
test_big_data_connected(struct client_connection *conn)
{
o_stream_nsend_str(conn->conn.output,
- "EHLO frop\r\n"
- "MAIL FROM:<sender@example.com>\r\n"
- "RCPT TO:<recipient@example.com>\r\n"
- "DATA\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- ".\r\n");
+ "EHLO frop\r\n"
+ "MAIL FROM:<sender@example.com>\r\n"
+ "RCPT TO:<recipient@example.com>\r\n"
+ "DATA\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ ".\r\n");
}
static void test_client_big_data(unsigned int index)
static void
test_server_big_data_trans_free(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_transaction *trans)
+ struct smtp_server_transaction *trans)
{
- struct _big_data *ctx =
- (struct _big_data *)trans->context;
+ struct _big_data *ctx = (struct _big_data *)trans->context;
i_free(ctx);
io_loop_stop(ioloop);
static int
test_server_big_data_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_recipient *rcpt)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_recipient *rcpt)
{
if (debug) {
i_debug("RCPT TO:%s",
static int
test_server_big_data_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_transaction *trans,
- struct istream *data_input)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_transaction *trans,
+ struct istream *data_input)
{
struct _big_data *ctx;
static int
test_server_big_data_data_continue(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd,
- struct smtp_server_transaction *trans)
+ struct smtp_server_cmd_ctx *cmd,
+ struct smtp_server_transaction *trans)
{
static const size_t max_size = 32;
- struct _big_data *ctx =
- (struct _big_data *)trans->context;
+ struct _big_data *ctx = (struct _big_data *)trans->context;
const unsigned char *data;
size_t size;
int ret;
i_debug("DATA continue");
while (ctx->payload_input->v_offset < max_size &&
- (ret=i_stream_read_data(ctx->payload_input,
- &data, &size, 0)) > 0) {
+ (ret = i_stream_read_data(ctx->payload_input,
+ &data, &size, 0)) > 0) {
if (ctx->payload_input->v_offset + size > max_size) {
if (ctx->payload_input->v_offset >= max_size)
size = 0;
if (ctx->payload_input->v_offset >= max_size) {
smtp_server_reply_early(cmd, 552, "5.3.4",
- "Message too big for system");
+ "Message too big for system");
return -1;
}
return 1;
}
-static void test_server_big_data
-(const struct smtp_server_settings *server_set)
+static void test_server_big_data(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_trans_free =
test_server_big_data_trans_free;
test_begin("big_data");
test_run_client_server(&smtp_server_set,
- test_server_big_data,
- test_client_big_data, 1);
+ test_server_big_data,
+ test_client_big_data, 1);
test_end();
}
/* client */
-static void
-test_bad_ehlo_connected(struct client_connection *conn)
+static void test_bad_ehlo_connected(struct client_connection *conn)
{
o_stream_nsend_str(conn->conn.output,
"EHLO \r\n");
static int
test_server_bad_ehlo_helo(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_cmd_helo *data ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_cmd_helo *data ATTR_UNUSED)
{
test_assert(FALSE);
return 1;
static int
test_server_bad_ehlo_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_recipient *rcpt ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
return 1;
}
static int
-test_server_bad_ehlo_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd,
+test_server_bad_ehlo_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_bad_ehlo
-(const struct smtp_server_settings *server_set)
+static void test_server_bad_ehlo(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_bad_ehlo_disconnect;
test_begin("bad EHLO");
test_run_client_server(&smtp_server_set,
- test_server_bad_ehlo,
- test_client_bad_ehlo, 1);
+ test_server_bad_ehlo,
+ test_client_bad_ehlo, 1);
test_end();
}
bool replied:1;
};
-static void
-test_bad_mail_client_input(struct client_connection *conn)
+static void test_bad_mail_client_input(struct client_connection *conn)
{
struct _bad_mail_client *ctx = conn->context;
struct smtp_reply *reply;
const char *error;
int ret;
- while ((ret=smtp_reply_parse_next(ctx->parser, FALSE,
- &reply, &error)) > 0) {
+ while ((ret = smtp_reply_parse_next(ctx->parser, FALSE,
+ &reply, &error)) > 0) {
if (debug)
i_debug("REPLY: %s", smtp_reply_log(reply));
i_assert(ret >= 0);
}
-static void
-test_bad_mail_client_connected(struct client_connection *conn)
+static void test_bad_mail_client_connected(struct client_connection *conn)
{
struct _bad_mail_client *ctx;
switch (client_index) {
case 0:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: <hendrik@example.com>\r\n");
break;
case 1:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:hendrik@example.com\r\n");
break;
case 2:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: hendrik@example.com\r\n");
break;
case 3:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:\r\n");
break;
case 4:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: \r\n");
break;
case 5:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: BODY=7BIT\r\n");
break;
case 6:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: <>\r\n");
break;
case 7:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n");
break;
case 8:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<>\r\n");
break;
default:
}
}
-static void
-test_bad_mail_client_deinit(struct client_connection *conn)
+static void test_bad_mail_client_deinit(struct client_connection *conn)
{
struct _bad_mail_client *ctx = conn->context;
static int
test_server_bad_mail_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_recipient *rcpt ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
test_assert(FALSE);
return 1;
}
static int
-test_server_bad_mail_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_bad_mail_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_bad_mail
-(const struct smtp_server_settings *server_set)
+static void test_server_bad_mail(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_bad_mail_disconnect;
test_begin("bad MAIL");
test_run_client_server(&smtp_server_set,
- test_server_bad_mail,
- test_client_bad_mail, 9);
+ test_server_bad_mail,
+ test_client_bad_mail, 9);
test_end();
}
const char *error;
int ret;
- while ((ret=smtp_reply_parse_next(ctx->parser, FALSE,
- &reply, &error)) > 0) {
+ while ((ret = smtp_reply_parse_next(ctx->parser, FALSE,
+ &reply, &error)) > 0) {
if (debug)
i_debug("REPLY: %s", smtp_reply_log(reply));
i_assert(ret >= 0);
}
-static void
-test_bad_rcpt_client_connected(struct client_connection *conn)
+static void test_bad_rcpt_client_connected(struct client_connection *conn)
{
struct _bad_rcpt_client *ctx;
switch (client_index) {
case 0:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: <harrie@example.com>\r\n");
break;
case 1:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:harrie@example.com\r\n");
break;
case 2:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: harrie@example.com\r\n");
break;
case 3:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:\r\n");
break;
case 4:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: \r\n");
break;
case 5:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: NOTIFY=NEVER\r\n");
break;
case 6:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:<harrie@example.com>\r\n");
break;
}
}
-static void
-test_bad_rcpt_client_deinit(struct client_connection *conn)
+static void test_bad_rcpt_client_deinit(struct client_connection *conn)
{
struct _bad_rcpt_client *ctx = conn->context;
static int
test_server_bad_rcpt_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_recipient *rcpt ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
return 1;
}
static int
-test_server_bad_rcpt_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_bad_rcpt_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_bad_rcpt
-(const struct smtp_server_settings *server_set)
+static void test_server_bad_rcpt(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_bad_rcpt_disconnect;
test_begin("bad RCPT");
test_run_client_server(&smtp_server_set,
- test_server_bad_rcpt,
- test_client_bad_rcpt, 7);
+ test_server_bad_rcpt,
+ test_client_bad_rcpt, 7);
test_end();
}
bool replied:1;
};
-static void
-test_mail_workarounds_client_input(struct client_connection *conn)
+static void test_mail_workarounds_client_input(struct client_connection *conn)
{
struct _mail_workarounds_client *ctx = conn->context;
struct smtp_reply *reply;
const char *error;
int ret;
- while ((ret=smtp_reply_parse_next(ctx->parser, FALSE,
- &reply, &error)) > 0) {
+ while ((ret = smtp_reply_parse_next(ctx->parser, FALSE,
+ &reply, &error)) > 0) {
if (debug)
i_debug("REPLY: %s", smtp_reply_log(reply));
switch (client_index) {
case 0:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: <hendrik@example.com>\r\n");
break;
case 1:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:\t<hendrik@example.com>\r\n");
break;
case 2:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:\t <hendrik@example.com>\r\n");
break;
case 3:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:hendrik@example.com\r\n");
break;
case 4:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: hendrik@example.com\r\n");
break;
case 5:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:\r\n");
break;
case 6:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: \r\n");
break;
case 7:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: BODY=7BIT\r\n");
break;
case 8:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: <>\r\n");
break;
case 9:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n");
break;
case 10:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<>\r\n");
break;
default:
}
static int
-test_server_mail_workarounds_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_mail_workarounds_rcpt(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
test_assert(FALSE);
}
static int
-test_server_mail_workarounds_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_mail_workarounds_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_mail_workarounds
-(const struct smtp_server_settings *server_set)
+static void
+test_server_mail_workarounds(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_mail_workarounds_disconnect;
test_begin("MAIL workarounds");
test_run_client_server(&smtp_server_set,
- test_server_mail_workarounds,
- test_client_mail_workarounds, 11);
+ test_server_mail_workarounds,
+ test_client_mail_workarounds, 11);
test_end();
}
bool replied:1;
};
-static void
-test_rcpt_workarounds_client_input(struct client_connection *conn)
+static void test_rcpt_workarounds_client_input(struct client_connection *conn)
{
struct _rcpt_workarounds_client *ctx = conn->context;
struct smtp_reply *reply;
const char *error;
int ret;
- while ((ret=smtp_reply_parse_next(ctx->parser, FALSE,
- &reply, &error)) > 0) {
+ while ((ret = smtp_reply_parse_next(ctx->parser, FALSE,
+ &reply, &error)) > 0) {
if (debug)
i_debug("REPLY: %s", smtp_reply_log(reply));
switch (client_index) {
case 0:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: <harrie@example.com>\r\n");
break;
case 1:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:\t<harrie@example.com>\r\n");
break;
case 2:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:\t <harrie@example.com>\r\n");
break;
case 3:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:harrie@example.com\r\n");
break;
case 4:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: harrie@example.com\r\n");
break;
case 5:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:\r\n");
break;
case 6:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: \r\n");
break;
case 7:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO: NOTIFY=NEVER\r\n");
break;
case 8:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n"
"RCPT TO:<harrie@example.com>\r\n");
break;
}
}
-static void
-test_rcpt_workarounds_client_deinit(struct client_connection *conn)
+static void test_rcpt_workarounds_client_deinit(struct client_connection *conn)
{
struct _rcpt_workarounds_client *ctx = conn->context;
}
static int
-test_server_rcpt_workarounds_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_rcpt_workarounds_rcpt(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
return 1;
}
static int
-test_server_rcpt_workarounds_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_rcpt_workarounds_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_rcpt_workarounds
-(const struct smtp_server_settings *server_set)
+static void
+test_server_rcpt_workarounds(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_rcpt_workarounds_disconnect;
test_begin("RCPT workarounds");
test_run_client_server(&smtp_server_set,
- test_server_rcpt_workarounds,
- test_client_rcpt_workarounds, 9);
+ test_server_rcpt_workarounds,
+ test_client_rcpt_workarounds, 9);
test_end();
}
/* client */
-static void
-test_too_many_recipients_connected(struct client_connection *conn)
+static void test_too_many_recipients_connected(struct client_connection *conn)
{
o_stream_nsend_str(conn->conn.output,
- "EHLO frop\r\n"
- "MAIL FROM:<sender@example.com>\r\n"
- "RCPT TO:<recipient1@example.com>\r\n"
- "RCPT TO:<recipient2@example.com>\r\n"
- "RCPT TO:<recipient3@example.com>\r\n"
- "RCPT TO:<recipient4@example.com>\r\n"
- "RCPT TO:<recipient5@example.com>\r\n"
- "RCPT TO:<recipient6@example.com>\r\n"
- "RCPT TO:<recipient7@example.com>\r\n"
- "RCPT TO:<recipient8@example.com>\r\n"
- "RCPT TO:<recipient9@example.com>\r\n"
- "RCPT TO:<recipient10@example.com>\r\n"
- "RCPT TO:<recipient11@example.com>\r\n"
- "DATA\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- "0123456789ABCDEF0123456789ABCDEF\r\n"
- ".\r\n");
+ "EHLO frop\r\n"
+ "MAIL FROM:<sender@example.com>\r\n"
+ "RCPT TO:<recipient1@example.com>\r\n"
+ "RCPT TO:<recipient2@example.com>\r\n"
+ "RCPT TO:<recipient3@example.com>\r\n"
+ "RCPT TO:<recipient4@example.com>\r\n"
+ "RCPT TO:<recipient5@example.com>\r\n"
+ "RCPT TO:<recipient6@example.com>\r\n"
+ "RCPT TO:<recipient7@example.com>\r\n"
+ "RCPT TO:<recipient8@example.com>\r\n"
+ "RCPT TO:<recipient9@example.com>\r\n"
+ "RCPT TO:<recipient10@example.com>\r\n"
+ "RCPT TO:<recipient11@example.com>\r\n"
+ "DATA\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ "0123456789ABCDEF0123456789ABCDEF\r\n"
+ ".\r\n");
}
static void test_client_too_many_recipients(unsigned int index)
/* server */
static void
-test_server_too_many_recipients_trans_free(void *conn_ctx ATTR_UNUSED,
+test_server_too_many_recipients_trans_free(
+ void *conn_ctx ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED)
{
io_loop_stop(ioloop);
}
static int
-test_server_too_many_recipients_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_too_many_recipients_rcpt(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_recipient *rcpt)
{
if (debug) {
}
static int
-test_server_too_many_recipients_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd,
+test_server_too_many_recipients_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd,
struct smtp_server_transaction *trans,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_too_many_recipients
-(const struct smtp_server_settings *server_set)
+static void
+test_server_too_many_recipients(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_trans_free =
test_server_too_many_recipients_trans_free;
test_begin("too many recipients");
test_run_client_server(&smtp_server_set,
- test_server_too_many_recipients,
- test_client_too_many_recipients, 1);
+ test_server_too_many_recipients,
+ test_client_too_many_recipients, 1);
test_end();
}
/* client */
-static void
-test_data_no_mail_connected(struct client_connection *conn)
+static void test_data_no_mail_connected(struct client_connection *conn)
{
o_stream_nsend_str(conn->conn.output,
"EHLO frop\r\n"
static int
test_server_data_no_mail_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
- struct smtp_server_recipient *rcpt ATTR_UNUSED)
+ struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+ struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
/* not supposed to get here */
i_assert(FALSE);
}
static int
-test_server_data_no_mail_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_data_no_mail_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_data_no_mail
-(const struct smtp_server_settings *server_set)
+static void
+test_server_data_no_mail(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_cmd_rcpt =
test_server_data_no_mail_rcpt;
test_begin("DATA without MAIL");
test_run_client_server(&smtp_server_set,
- test_server_data_no_mail,
- test_client_data_no_mail, 1);
+ test_server_data_no_mail,
+ test_client_data_no_mail, 1);
test_end();
}
/* client */
-static void
-test_data_no_rcpt_connected(struct client_connection *conn)
+static void test_data_no_rcpt_connected(struct client_connection *conn)
{
o_stream_nsend_str(conn->conn.output,
- "EHLO frop\r\n"
- "MAIL FROM:<sender@example.com>\r\n"
- "DATA\r\n"
- ".\r\n"
- "RSET\r\n");
+ "EHLO frop\r\n"
+ "MAIL FROM:<sender@example.com>\r\n"
+ "DATA\r\n"
+ ".\r\n"
+ "RSET\r\n");
}
static void test_client_data_no_rcpt(unsigned int index)
/* server */
static void
-test_server_data_no_rcpt_trans_free(void *conn_ctx ATTR_UNUSED,
+test_server_data_no_rcpt_trans_free(
+ void *conn_ctx ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED)
{
io_loop_stop(ioloop);
}
static int
-test_server_data_no_rcpt_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_data_no_rcpt_rcpt(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
/* not supposed to get here */
}
static int
-test_server_data_no_rcpt_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_data_no_rcpt_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_data_no_rcpt
-(const struct smtp_server_settings *server_set)
+static void
+test_server_data_no_rcpt(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_trans_free =
test_server_data_no_rcpt_trans_free;
test_begin("DATA without RCPT");
test_run_client_server(&smtp_server_set,
- test_server_data_no_rcpt,
- test_client_data_no_rcpt, 1);
+ test_server_data_no_rcpt,
+ test_client_data_no_rcpt, 1);
test_end();
}
/* client */
-static void
-test_data_binarymime_connected(struct client_connection *conn)
+static void test_data_binarymime_connected(struct client_connection *conn)
{
o_stream_nsend_str(conn->conn.output,
- "EHLO frop\r\n"
- "MAIL FROM:<sender@example.com> BODY=BINARYMIME\r\n"
- "RCPT TO:<recipient1@example.com>\r\n"
- "DATA\r\n"
- ".\r\n"
- "RSET\r\n");
+ "EHLO frop\r\n"
+ "MAIL FROM:<sender@example.com> BODY=BINARYMIME\r\n"
+ "RCPT TO:<recipient1@example.com>\r\n"
+ "DATA\r\n"
+ ".\r\n"
+ "RSET\r\n");
}
static void test_client_data_binarymime(unsigned int index)
/* server */
static void
-test_server_data_binarymime_trans_free(void *conn_ctx ATTR_UNUSED,
+test_server_data_binarymime_trans_free(
+ void *conn_ctx ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED)
{
io_loop_stop(ioloop);
}
static int
-test_server_data_binarymime_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_data_binarymime_rcpt(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_recipient *rcpt)
{
if (debug) {
}
static int
-test_server_data_binarymime_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_data_binarymime_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_data_binarymime
-(const struct smtp_server_settings *server_set)
+static void
+test_server_data_binarymime(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_trans_free =
test_server_data_binarymime_trans_free;
test_begin("DATA with BINARYMIME");
test_run_client_server(&smtp_server_set,
- test_server_data_binarymime,
- test_client_data_binarymime, 1);
+ test_server_data_binarymime,
+ test_client_data_binarymime, 1);
test_end();
}
const char *error;
int ret;
- while ((ret=smtp_reply_parse_next(ctx->parser, FALSE,
- &reply, &error)) > 0) {
+ while ((ret = smtp_reply_parse_next(ctx->parser, FALSE,
+ &reply, &error)) > 0) {
if (debug)
i_debug("REPLY: %s", smtp_reply_log(reply));
switch (client_index) {
case 0:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: <hendrik@example.com>\r\n");
break;
case 1:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:\t<hendrik@example.com>\r\n");
break;
case 2:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:\t <hendrik@example.com>\r\n");
break;
case 3:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:hendrik@example.com\r\n");
break;
case 4:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: hendrik@example.com\r\n");
break;
case 5:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:\r\n");
break;
case 6:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: \r\n");
break;
case 7:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: BODY=7BIT\r\n");
break;
case 8:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM: <>\r\n");
break;
case 9:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<hendrik@example.com>\r\n");
break;
case 10:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<>\r\n");
break;
case 11:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:bla$die%bla@die&bla\r\n");
break;
case 12:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<u\"ser>\r\n");
break;
case 13:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<u\"ser@domain.tld>\r\n");
break;
case 14:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:/@)$@)BLAARGH!@#$$\r\n");
break;
case 15:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:</@)$@)BLAARGH!@#$$>\r\n");
break;
case 16:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:f\xc3\xb6\xc3\xa4@\xc3\xb6\xc3\xa4\r\n");
break;
case 17:
- o_stream_nsend_str(conn->conn.output,
+ o_stream_nsend_str(
+ conn->conn.output,
"MAIL FROM:<f\xc3\xb6\xc3\xa4@\xc3\xb6\xc3\xa4>\r\n");
break;
default:
}
}
-static void
-test_mail_broken_path_client_deinit(struct client_connection *conn)
+static void test_mail_broken_path_client_deinit(struct client_connection *conn)
{
struct _mail_broken_path_client *ctx = conn->context;
}
static int
-test_server_mail_broken_path_rcpt(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_mail_broken_path_rcpt(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_recipient *rcpt ATTR_UNUSED)
{
test_assert(FALSE);
}
static int
-test_server_mail_broken_path_data_begin(void *conn_ctx ATTR_UNUSED,
- struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+test_server_mail_broken_path_data_begin(
+ void *conn_ctx ATTR_UNUSED, struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
struct smtp_server_transaction *trans ATTR_UNUSED,
struct istream *data_input ATTR_UNUSED)
{
return 1;
}
-static void test_server_mail_broken_path
-(const struct smtp_server_settings *server_set)
+static void
+test_server_mail_broken_path(const struct smtp_server_settings *server_set)
{
server_callbacks.conn_disconnect =
test_server_mail_broken_path_disconnect;
test_begin("MAIL broken path");
test_run_client_server(&smtp_server_set,
- test_server_mail_broken_path,
- test_client_mail_broken_path, 18);
+ test_server_mail_broken_path,
+ test_client_mail_broken_path, 18);
test_end();
}
/* client connection */
-static void
-client_connection_input(struct connection *_conn)
+static void client_connection_input(struct connection *_conn)
{
struct client_connection *conn = (struct client_connection *)_conn;
test_client_input(conn);
}
-static void
-client_connection_connected(struct connection *_conn, bool success)
+static void client_connection_connected(struct connection *_conn, bool success)
{
struct client_connection *conn = (struct client_connection *)_conn;
test_client_connected(conn);
}
-static void
-client_connection_init(const struct ip_addr *ip, in_port_t port)
+static void client_connection_init(const struct ip_addr *ip, in_port_t port)
{
struct client_connection *conn;
pool_t pool;
(void)connection_client_connect(&conn->conn);
}
-static void
-server_connection_deinit(struct client_connection **_conn)
+static void server_connection_deinit(struct client_connection **_conn)
{
struct client_connection *conn = *_conn;
pool_unref(&conn->pool);
}
-static void
-client_connection_destroy(struct connection *_conn)
+static void client_connection_destroy(struct connection *_conn)
{
- struct client_connection *conn =
- (struct client_connection *)_conn;
+ struct client_connection *conn = (struct client_connection *)_conn;
server_connection_deinit(&conn);
}
if (debug)
i_debug("client connecting to %u", bind_port);
- client_conn_list = connection_list_init
- (&client_connection_set, &client_connection_vfuncs);
+ client_conn_list = connection_list_init(&client_connection_set,
+ &client_connection_vfuncs);
client_connection_init(&bind_ip, bind_port);
* Test server
*/
-static void
-test_server_defaults(struct smtp_server_settings *smtp_set)
+static void test_server_defaults(struct smtp_server_settings *smtp_set)
{
/* server settings */
i_zero(smtp_set);
static void server_connection_destroy(void *context)
{
- struct server_connection *sconn =
- (struct server_connection *)context;
+ struct server_connection *sconn = (struct server_connection *)context;
if (debug)
i_debug("Connection destroyed");
i_free(sconn);
}
-static void
-server_connection_accept(void *context ATTR_UNUSED)
+static void server_connection_accept(void *context ATTR_UNUSED)
{
struct smtp_server_connection *conn;
struct server_connection *sconn;
server_callbacks.conn_destroy = server_connection_destroy;
conn = smtp_server_connection_create(smtp_server, fd, fd,
- NULL, 0, FALSE, NULL, &server_callbacks, sconn);
+ NULL, 0, FALSE, NULL,
+ &server_callbacks, sconn);
smtp_server_connection_start(conn);
}
/* */
-static void
-test_server_timeout(void *context ATTR_UNUSED)
+static void test_server_timeout(void *context ATTR_UNUSED)
{
i_fatal("Server timed out");
}
-static void
-test_server_run(const struct smtp_server_settings *smtp_set)
+static void test_server_run(const struct smtp_server_settings *smtp_set)
{
struct timeout *to;
to = timeout_add(SERVER_MAX_TIMEOUT_MSECS,
- test_server_timeout, NULL);
+ test_server_timeout, NULL);
/* open server socket */
- io_listen = io_add(fd_listen,
- IO_READ, server_connection_accept, NULL);
+ io_listen = io_add(fd_listen, IO_READ, server_connection_accept, NULL);
smtp_server = smtp_server_init(smtp_set);
killing_children = FALSE;
}
-static void test_run_client_server(
- const struct smtp_server_settings *server_set,
- test_server_init_t server_test,
- test_client_init_t client_test,
- unsigned int client_tests_count)
+static void
+test_run_client_server(const struct smtp_server_settings *server_set,
+ test_server_init_t server_test,
+ test_client_init_t client_test,
+ unsigned int client_tests_count)
{
unsigned int i;
volatile sig_atomic_t terminating = 0;
-static void
-test_signal_handler(int signo)
+static void test_signal_handler(int signo)
{
if (terminating != 0)
raise(signo);
raise(signo);
}
-static void
-test_child_handler(int signo ATTR_UNUSED)
+static void test_child_handler(int signo ATTR_UNUSED)
{
int saved_errno = errno;