From: Stephan Bosch Date: Fri, 1 May 2020 15:16:01 +0000 (+0200) Subject: lib-smtp: Reformat smtp-client-connection.c. X-Git-Tag: 2.3.13~563 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=45689522bf56a253e11e386cfcf0d0cf7e23de03;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: Reformat smtp-client-connection.c. --- diff --git a/src/lib-smtp/smtp-client-connection.c b/src/lib-smtp/smtp-client-connection.c index a49e9376d9..876a81a25f 100644 --- a/src/lib-smtp/smtp-client-connection.c +++ b/src/lib-smtp/smtp-client-connection.c @@ -103,7 +103,7 @@ smtp_client_connection_commands_abort(struct smtp_client_connection *conn) static void smtp_client_connection_commands_fail_reply(struct smtp_client_connection *conn, - const struct smtp_reply *reply) + const struct smtp_reply *reply) { smtp_client_commands_list_fail_reply(conn->cmd_wait_list_head, conn->cmd_wait_list_count, reply); @@ -114,7 +114,7 @@ smtp_client_connection_commands_fail_reply(struct smtp_client_connection *conn, static void smtp_client_connection_commands_fail(struct smtp_client_connection *conn, - unsigned int status, const char *error) + unsigned int status, const char *error) { struct smtp_reply reply; @@ -126,7 +126,7 @@ smtp_client_connection_commands_fail(struct smtp_client_connection *conn, static void smtp_client_connection_login_callback(struct smtp_client_connection *conn, - const struct smtp_reply *reply) + const struct smtp_reply *reply) { smtp_client_command_callback_t *callback = conn->login_callback; void *context = conn->login_context; @@ -142,7 +142,7 @@ smtp_client_connection_login_callback(struct smtp_client_connection *conn, static void smtp_client_connection_login_fail(struct smtp_client_connection *conn, - unsigned int status, const char *error) + unsigned int status, const char *error) { struct smtp_reply reply; @@ -190,9 +190,8 @@ smtp_client_command_timeout(struct smtp_client_connection *conn) smtp_client_connection_ref(conn); e_error(conn->event, "Command timed out, disconnecting"); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_TIMED_OUT, - "Command timed out"); + smtp_client_connection_fail(conn, SMTP_CLIENT_COMMAND_ERROR_TIMED_OUT, + "Command timed out"); smtp_client_connection_unref(&conn); } @@ -218,8 +217,8 @@ void smtp_client_connection_start_cmd_timeout( e_debug(conn->event, "Start timeout"); if (conn->to_commands == NULL) { - conn->to_commands = timeout_add - (msecs, smtp_client_command_timeout, conn); + conn->to_commands = timeout_add( + msecs, smtp_client_command_timeout, conn); } } @@ -288,8 +287,8 @@ void smtp_client_connection_fail(struct smtp_client_connection *conn, if (status == SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED && !smtp_client_connection_last_ip(conn)) { i_assert(conn->to_connect == NULL); - conn->to_connect = timeout_add_short(0, smtp_client_connection_connect_next_ip, - conn); + conn->to_connect = timeout_add_short( + 0, smtp_client_connection_connect_next_ip, conn); return; } @@ -311,14 +310,14 @@ void smtp_client_connection_handle_output_error( e_error(conn->event, "Connection lost: write(%s) failed: %s", o_stream_get_name(conn->conn.output), o_stream_get_error(conn->conn.output)); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, "Lost connection to remote server: " "Write failure"); } else { e_error(conn->event, "Connection lost: Remote disconnected"); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, "Lost connection to remote server: " "Remote closed connection unexpectedly"); } @@ -329,8 +328,8 @@ static void stmp_client_connection_ready(struct smtp_client_connection *conn, { timeout_remove(&conn->to_connect); - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_READY); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_READY); conn->reset_needed = FALSE; e_debug(conn->event, "Connection ready"); @@ -377,7 +376,7 @@ smtp_client_connection_xclient_submit(struct smtp_client_connection *conn, SMTP_CLIENT_COMMAND_FLAG_PRIORITY; cmd = smtp_client_command_new(conn, flags, - smtp_client_connection_xclient_cb, conn); + smtp_client_connection_xclient_cb, conn); smtp_client_command_write(cmd, cmdstr); smtp_client_command_submit(cmd); @@ -569,8 +568,8 @@ smtp_client_connection_auth_cb(const struct smtp_reply *reply, e_error(conn->event, "Authentication failed: " "Server returned multi-line reply: %s", smtp_reply_log(reply)); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, "Authentication protocol error"); return; } @@ -578,32 +577,33 @@ smtp_client_connection_auth_cb(const struct smtp_reply *reply, input_len = strlen(reply->text_lines[0]); buf = buffer_create_dynamic(pool_datastack_create(), MAX_BASE64_DECODED_SIZE(input_len)); - if (base64_decode - (reply->text_lines[0], input_len, NULL, buf) < 0) { + if (base64_decode(reply->text_lines[0], input_len, + NULL, buf) < 0) { e_error(conn->event, "Authentication failed: " "Server sent non-base64 input for AUTH: %s", reply->text_lines[0]); } else if (dsasl_client_input(conn->sasl_client, - buf->data, buf->used, &error) < 0) { + buf->data, buf->used, + &error) < 0) { e_error(conn->event, "Authentication failed: %s", error); - } else if (dsasl_client_output(conn->sasl_client, - &sasl_output, &sasl_output_len, &error) < 0) { + } else if (dsasl_client_output(conn->sasl_client, &sasl_output, + &sasl_output_len, &error) < 0) { e_error(conn->event, "Authentication failed: %s", error); } else { string_t *smtp_output = t_str_new( - MAX_BASE64_ENCODED_SIZE(sasl_output_len)+2); - base64_encode(sasl_output, - sasl_output_len, smtp_output); + MAX_BASE64_ENCODED_SIZE(sasl_output_len) + 2); + base64_encode(sasl_output, sasl_output_len, + smtp_output); str_append(smtp_output, "\r\n"); - o_stream_nsend(conn->conn.output, - str_data(smtp_output), str_len(smtp_output)); + o_stream_nsend(conn->conn.output, str_data(smtp_output), + str_len(smtp_output)); return; } - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, "Authentication failed"); return; } @@ -656,7 +656,7 @@ smtp_client_connection_get_sasl_mech(struct smtp_client_connection *conn, mechanisms = t_strsplit_spaces(set->sasl_mechanisms, ", "); for (; *mechanisms != NULL; mechanisms++) { if (str_array_icase_find(conn->caps.auth_mechanisms, - *mechanisms)) { + *mechanisms)) { *mech_r = dsasl_client_mech_find(*mechanisms); if (*mech_r != NULL) return 0; @@ -669,8 +669,7 @@ smtp_client_connection_get_sasl_mech(struct smtp_client_connection *conn, } *error_r = t_strdup_printf( "Server doesn't support any of " - "the requested SASL mechanisms: %s", - set->sasl_mechanisms); + "the requested SASL mechanisms: %s", set->sasl_mechanisms); return -1; } @@ -699,8 +698,8 @@ smtp_client_connection_authenticate(struct smtp_client_connection *conn) return TRUE; if ((conn->caps.standard & SMTP_CAPABILITY_AUTH) == 0) { - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, "Authentication not supported"); return FALSE; } @@ -714,11 +713,11 @@ smtp_client_connection_authenticate(struct smtp_client_connection *conn) e_debug(conn->event, "Authenticating as %s", set->username); } - if (smtp_client_connection_get_sasl_mech(conn, - &sasl_mech, &error) < 0) { + if (smtp_client_connection_get_sasl_mech(conn, &sasl_mech, + &error) < 0) { e_error(conn->event, "Authentication failed: %s", error); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, "Server authentication mechanisms incompatible"); return FALSE; } @@ -739,8 +738,8 @@ smtp_client_connection_authenticate(struct smtp_client_connection *conn) e_error(conn->event, "Failed to create initial %s SASL reply: %s", dsasl_client_mech_get_name(sasl_mech), error); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, "Internal authentication failure"); return FALSE; } @@ -758,15 +757,15 @@ smtp_client_connection_authenticate(struct smtp_client_connection *conn) init_resp = (str_len(sasl_output_base64) == 0 ? "=" : str_c(sasl_output_base64)); - cmd = smtp_client_command_new(conn, - SMTP_CLIENT_COMMAND_FLAG_PRELOGIN, - smtp_client_connection_auth_cb, conn); + cmd = smtp_client_command_new(conn, SMTP_CLIENT_COMMAND_FLAG_PRELOGIN, + smtp_client_connection_auth_cb, conn); smtp_client_command_printf(cmd, "AUTH %s %s", - dsasl_client_mech_get_name(sasl_mech), init_resp); + dsasl_client_mech_get_name(sasl_mech), + init_resp); smtp_client_command_submit(cmd); - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_AUTHENTICATING); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_AUTHENTICATING); return FALSE; } @@ -785,8 +784,8 @@ smtp_client_connection_starttls_cb(const struct smtp_reply *reply, } if (smtp_client_connection_ssl_init(conn, &error) < 0) { - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, error); + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, error); } else { if (conn->to_connect != NULL) timeout_reset(conn->to_connect); @@ -804,16 +803,16 @@ smtp_client_connection_starttls(struct smtp_client_connection *conn) if ((conn->caps.standard & SMTP_CAPABILITY_STARTTLS) == 0) { e_error(conn->event, "Requested STARTTLS, " "but server doesn't support it"); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, "STARTTLS not supported"); return FALSE; } e_debug(conn->event, "Starting TLS"); - cmd = smtp_client_command_new(conn, - SMTP_CLIENT_COMMAND_FLAG_PRELOGIN, + cmd = smtp_client_command_new( + conn, SMTP_CLIENT_COMMAND_FLAG_PRELOGIN, smtp_client_connection_starttls_cb, conn); smtp_client_command_write(cmd, "STARTTLS"); smtp_client_command_submit(cmd); @@ -874,7 +873,7 @@ smtp_client_connection_handshake_cb(const struct smtp_reply *reply, "command not recognized" response to EHLO, the client SHOULD be able to fall back and send HELO. */ if (conn->protocol == SMTP_PROTOCOL_SMTP && !conn->old_smtp && - (reply->status == 500 || reply->status == 502)) { + (reply->status == 500 || reply->status == 502)) { /* try HELO */ conn->old_smtp = TRUE; smtp_client_connection_handshake(conn); @@ -892,8 +891,8 @@ smtp_client_connection_handshake_cb(const struct smtp_reply *reply, lines = reply->text_lines; if (*lines == NULL) { - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, "Invalid handshake reply"); return; } @@ -907,8 +906,8 @@ smtp_client_connection_handshake_cb(const struct smtp_reply *reply, const char *const *params; const char *cap_name, *error; - if (smtp_ehlo_line_parse(*lines, - &cap_name, ¶ms, &error) <= 0) { + if (smtp_ehlo_line_parse(*lines, &cap_name, ¶ms, + &error) <= 0) { e_warning(conn->event, "Received invalid EHLO response line: %s", error); @@ -980,14 +979,14 @@ smtp_client_connection_handshake(struct smtp_client_connection *conn) e_debug(conn->event, "Sending %s handshake", command); - cmd = smtp_client_command_new(conn, flags, - smtp_client_connection_handshake_cb, conn); + cmd = smtp_client_command_new( + conn, flags, smtp_client_connection_handshake_cb, conn); smtp_client_command_write(cmd, command); smtp_client_command_write(cmd, " "); smtp_client_command_write(cmd, conn->set.my_hostname); smtp_client_command_submit(cmd); - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_HANDSHAKING); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_HANDSHAKING); } static int @@ -1002,7 +1001,8 @@ smtp_client_connection_input_reply(struct smtp_client_connection *conn, smtp_reply_log(reply)); if (reply->status != 220) { if (smtp_reply_is_success(reply)) { - smtp_client_connection_fail(conn, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, "Received inappropriate greeting"); } else { @@ -1023,8 +1023,8 @@ smtp_client_connection_input_reply(struct smtp_client_connection *conn, if (conn->cmd_wait_list_head == NULL) { e_debug(conn->event, "Unexpected reply: %s", smtp_reply_log(reply)); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, "Got unexpected reply"); return -1; } @@ -1034,8 +1034,8 @@ smtp_client_connection_input_reply(struct smtp_client_connection *conn, !conn->cmd_wait_list_head->stream_finished) { e_debug(conn->event, "Early reply: %s", smtp_reply_log(reply)); if (smtp_reply_is_success(reply)) { - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, "Got early success reply"); return -1; } @@ -1045,9 +1045,8 @@ smtp_client_connection_input_reply(struct smtp_client_connection *conn, ret = smtp_client_command_input_reply(conn->cmd_wait_list_head, reply); if (conn->state == SMTP_CLIENT_CONNECTION_STATE_DISCONNECTED || - conn->conn.output == NULL) + conn->conn.output == NULL) return -1; - return ret; } @@ -1056,15 +1055,16 @@ static void smtp_client_connection_input(struct connection *_conn) struct smtp_client_connection *conn = (struct smtp_client_connection *)_conn; bool enhanced_codes = ((conn->caps.standard & - SMTP_CAPABILITY_ENHANCEDSTATUSCODES) != 0); + SMTP_CAPABILITY_ENHANCEDSTATUSCODES) != 0); struct smtp_reply *reply; const char *error = NULL; int ret; if (conn->ssl_iostream != NULL && - !ssl_iostream_is_handshaked(conn->ssl_iostream)) { + !ssl_iostream_is_handshaked(conn->ssl_iostream)) { /* finish SSL negotiation by reading from input stream */ - while ((ret=i_stream_read(conn->conn.input)) > 0 || ret == -2) { + while ((ret = i_stream_read(conn->conn.input)) > 0 || + ret == -2) { if (ssl_iostream_is_handshaked(conn->ssl_iostream)) break; } @@ -1078,8 +1078,9 @@ static void smtp_client_connection_input(struct connection *_conn) i_stream_get_error(conn->conn.input)); e_debug(conn->event, "connect(%s) failed: %s", _conn->name, error); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, error); + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, + error); return; } @@ -1103,12 +1104,13 @@ static void smtp_client_connection_input(struct connection *_conn) for (;;) { if (conn->cmd_wait_list_head != NULL && conn->cmd_wait_list_head->ehlo) { - if ((ret=smtp_reply_parse_ehlo(conn->reply_parser, - &reply, &error)) <= 0) + if ((ret = smtp_reply_parse_ehlo(conn->reply_parser, + &reply, &error)) <= 0) break; } else { - if ((ret=smtp_reply_parse_next(conn->reply_parser, - enhanced_codes, &reply, &error)) <= 0) + if ((ret = smtp_reply_parse_next(conn->reply_parser, + enhanced_codes, + &reply, &error)) <= 0) break; } @@ -1125,26 +1127,26 @@ static void smtp_client_connection_input(struct connection *_conn) if (ret < 0 || (ret == 0 && conn->conn.input->eof)) { if (conn->conn.input->stream_errno == ENOBUFS) { - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, "Command reply line too long"); } else if (conn->conn.input->stream_errno != 0) { e_error(conn->event, "read(%s) failed: %s", i_stream_get_name(conn->conn.input), i_stream_get_error(conn->conn.input)); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, "Lost connection to remote server " "(read failure)"); } else if (!i_stream_have_bytes_left(conn->conn.input)) { - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, "Lost connection to remote server " "(disconnected in input)"); } else { i_assert(error != NULL); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_BAD_REPLY, t_strdup_printf("Invalid command reply: %s", error)); } @@ -1163,7 +1165,8 @@ static int smtp_client_connection_output(struct smtp_client_connection *conn) if (conn->to_connect != NULL) timeout_reset(conn->to_connect); - if ((ret=o_stream_flush(conn->conn.output)) <= 0) { + ret = o_stream_flush(conn->conn.output); + if (ret <= 0) { if (ret < 0) smtp_client_connection_handle_output_error(conn); return ret; @@ -1204,19 +1207,20 @@ static void smtp_client_connection_destroy(struct connection *_conn) case CONNECTION_DISCONNECT_CONNECT_TIMEOUT: e_error(conn->event, "connect(%s) failed: Connection timed out", _conn->name); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, "Connect timed out"); break; default: case CONNECTION_DISCONNECT_CONN_CLOSED: if (conn->connect_failed) break; - error = _conn->input == NULL ? "Connection lost" : - t_strdup_printf("Connection lost: %s", - i_stream_get_error(_conn->input)); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, error); + error = (_conn->input == NULL ? + "Connection lost" : + t_strdup_printf("Connection lost: %s", + i_stream_get_error(_conn->input))); + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECTION_LOST, error); break; } } @@ -1295,13 +1299,14 @@ smtp_client_connection_init_ssl_ctx(struct smtp_client_connection *conn, } if (conn->set.ssl == NULL) { - *error_r = "Requested SSL connection, but no SSL settings given"; + *error_r = + "Requested SSL connection, but no SSL settings given"; return -1; } - if (ssl_iostream_client_context_cache_get(conn->set.ssl, - &conn->ssl_ctx, &error) < 0) { - *error_r = t_strdup_printf("Couldn't initialize SSL context: %s", - error); + if (ssl_iostream_client_context_cache_get(conn->set.ssl, &conn->ssl_ctx, + &error) < 0) { + *error_r = t_strdup_printf( + "Couldn't initialize SSL context: %s", error); return -1; } return 0; @@ -1332,8 +1337,8 @@ smtp_client_connection_ssl_init(struct smtp_client_connection *conn, } connection_input_halt(&conn->conn); - if (io_stream_create_ssl_client(conn->ssl_ctx, - conn->host, conn->set.ssl, + if (io_stream_create_ssl_client( + conn->ssl_ctx, conn->host, conn->set.ssl, &conn->conn.input, &conn->conn.output, &conn->ssl_iostream, &error) < 0) { *error_r = t_strdup_printf( @@ -1344,11 +1349,12 @@ smtp_client_connection_ssl_init(struct smtp_client_connection *conn, connection_input_resume(&conn->conn); smtp_client_connection_streams_changed(conn); - ssl_iostream_set_handshake_callback(conn->ssl_iostream, - smtp_client_connection_ssl_handshaked, conn); + ssl_iostream_set_handshake_callback( + conn->ssl_iostream, smtp_client_connection_ssl_handshaked, + conn); if (ssl_iostream_handshake(conn->ssl_iostream) < 0) { - *error_r = t_strdup_printf("SSL handshake to %s failed: %s", - conn->conn.name, + *error_r = t_strdup_printf( + "SSL handshake to %s failed: %s", conn->conn.name, ssl_iostream_get_last_error(conn->ssl_iostream)); return -1; } @@ -1359,8 +1365,8 @@ smtp_client_connection_ssl_init(struct smtp_client_connection *conn, } else { /* wait for handshake to complete; connection input handler does the rest by reading from the input stream */ - o_stream_set_flush_callback(conn->conn.output, - smtp_client_connection_output, conn); + o_stream_set_flush_callback( + conn->conn.output, smtp_client_connection_output, conn); } return 0; } @@ -1373,8 +1379,8 @@ smtp_client_connection_delayed_connect_failure( i_assert(conn->to_connect != NULL); timeout_remove(&conn->to_connect); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, "Failed to connect to remote server"); } @@ -1390,8 +1396,9 @@ smtp_client_connection_connected(struct connection *_conn, bool success) e_error(conn->event, "connect(%s) failed: %m", _conn->name); conn->connect_failed = TRUE; timeout_remove(&conn->to_connect); - conn->to_connect = timeout_add_short(0, - smtp_client_connection_delayed_connect_failure, conn); + conn->to_connect = timeout_add_short( + 0, smtp_client_connection_delayed_connect_failure, + conn); return; } @@ -1431,7 +1438,8 @@ smtp_client_connection_connected(struct connection *_conn, bool success) e_error(conn->event, "connect(%s) failed: %s", _conn->name, error); timeout_remove(&conn->to_connect); - conn->to_connect = timeout_add_short(0, + conn->to_connect = timeout_add_short( + 0, smtp_client_connection_delayed_connect_failure, conn); } @@ -1450,24 +1458,24 @@ smtp_client_connection_connect_timeout(struct smtp_client_connection *conn) "Connection timed out after %u seconds", conn->conn.name, conn->set.connect_timeout_msecs/1000); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, "Connect timed out"); break; case SMTP_CLIENT_CONNECTION_STATE_HANDSHAKING: e_error(conn->event, "SMTP handshake timed out after %u seconds", conn->set.connect_timeout_msecs/1000); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_CONNECT_FAILED, "Handshake timed out"); break; case SMTP_CLIENT_CONNECTION_STATE_AUTHENTICATING: e_error(conn->event, "Authentication timed out after %u seconds", conn->set.connect_timeout_msecs/1000); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_AUTH_FAILED, "Authentication timed out"); break; default: @@ -1495,8 +1503,8 @@ smtp_client_connection_do_connect(struct smtp_client_connection *conn) msecs = conn->set.command_timeout_msecs; i_assert(conn->to_connect == NULL); if (msecs > 0) { - conn->to_connect = timeout_add(msecs, - smtp_client_connection_connect_timeout, conn); + conn->to_connect = timeout_add( + msecs, smtp_client_connection_connect_timeout, conn); } } @@ -1553,14 +1561,14 @@ smtp_client_connection_delayed_host_lookup_failure( i_assert(conn->to_connect != NULL); timeout_remove(&conn->to_connect); - smtp_client_connection_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_HOST_LOOKUP_FAILED, + smtp_client_connection_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_HOST_LOOKUP_FAILED, "Failed to lookup remote server"); } static void smtp_client_connection_dns_callback(const struct dns_lookup_result *result, - struct smtp_client_connection *conn) + struct smtp_client_connection *conn) { conn->dns_lookup = NULL; @@ -1568,8 +1576,9 @@ smtp_client_connection_dns_callback(const struct dns_lookup_result *result, e_error(conn->event, "dns_lookup(%s) failed: %s", conn->host, result->error); timeout_remove(&conn->to_connect); - conn->to_connect = timeout_add_short(0, - smtp_client_connection_delayed_host_lookup_failure, conn); + conn->to_connect = timeout_add_short( + 0, smtp_client_connection_delayed_host_lookup_failure, + conn); return; } @@ -1606,7 +1615,8 @@ smtp_client_connection_lookup_ip(struct smtp_client_connection *conn) conn->host_is_ip = TRUE; } else if (conn->set.dns_client != NULL) { e_debug(conn->event, "Performing asynchronous DNS lookup"); - (void)dns_client_lookup(conn->set.dns_client, conn->host, + (void)dns_client_lookup( + conn->set.dns_client, conn->host, smtp_client_connection_dns_callback, conn, &conn->dns_lookup); } else if (conn->set.dns_client_socket_path != NULL) { @@ -1616,8 +1626,8 @@ smtp_client_connection_lookup_ip(struct smtp_client_connection *conn) dns_set.timeout_msecs = conn->set.connect_timeout_msecs; e_debug(conn->event, "Performing asynchronous DNS lookup"); (void)dns_lookup(conn->host, &dns_set, - smtp_client_connection_dns_callback, conn, - &conn->dns_lookup); + smtp_client_connection_dns_callback, conn, + &conn->dns_lookup); } else { /* no dns-conn, use blocking lookup */ ret = net_gethostbyname(conn->host, &ips, &ips_count); @@ -1625,8 +1635,10 @@ smtp_client_connection_lookup_ip(struct smtp_client_connection *conn) e_error(conn->event, "net_gethostbyname(%s) failed: %s", conn->host, net_gethosterror(ret)); timeout_remove(&conn->to_connect); - conn->to_connect = timeout_add_short(0, - smtp_client_connection_delayed_host_lookup_failure, conn); + conn->to_connect = timeout_add_short( + 0, + smtp_client_connection_delayed_host_lookup_failure, + conn); return; } @@ -1639,7 +1651,8 @@ smtp_client_connection_lookup_ip(struct smtp_client_connection *conn) } } -void smtp_client_connection_connect(struct smtp_client_connection *conn, +void smtp_client_connection_connect( + struct smtp_client_connection *conn, smtp_client_command_callback_t login_callback, void *login_context) { if (conn->state != SMTP_CLIENT_CONNECTION_STATE_DISCONNECTED) { @@ -1663,8 +1676,8 @@ void smtp_client_connection_connect(struct smtp_client_connection *conn, conn->login_callback = login_callback; conn->login_context = login_context; - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_CONNECTING); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_CONNECTING); if (conn->path == NULL) { smtp_client_connection_lookup_ip(conn); @@ -1673,13 +1686,13 @@ void smtp_client_connection_connect(struct smtp_client_connection *conn, /* always work asynchronously */ timeout_remove(&conn->to_connect); - conn->to_connect = timeout_add(0, - smtp_client_connection_connect_next_ip, conn); + conn->to_connect = timeout_add( + 0, smtp_client_connection_connect_next_ip, conn); } else { /* always work asynchronously */ timeout_remove(&conn->to_connect); - conn->to_connect = timeout_add(0, - smtp_client_connection_connect_unix, conn); + conn->to_connect = timeout_add( + 0, smtp_client_connection_connect_unix, conn); } } @@ -1697,11 +1710,10 @@ static const struct connection_vfuncs smtp_client_connection_vfuncs = { .client_connected = smtp_client_connection_connected }; -struct connection_list * -smtp_client_connection_list_init(void) +struct connection_list *smtp_client_connection_list_init(void) { - return connection_list_init - (&smtp_client_connection_set, &smtp_client_connection_vfuncs); + return connection_list_init(&smtp_client_connection_set, + &smtp_client_connection_vfuncs); } void smtp_client_connection_disconnect(struct smtp_client_connection *conn) @@ -1714,7 +1726,7 @@ void smtp_client_connection_disconnect(struct smtp_client_connection *conn) smtp_client_connection_clear_password(conn); if (conn->conn.output != NULL && !conn->sent_quit && - !conn->sending_command) { + !conn->sending_command) { /* Close the connection gracefully if possible */ o_stream_nsend_str(conn->conn.output, "QUIT\r\n"); o_stream_uncork(conn->conn.output); @@ -1738,15 +1750,15 @@ void smtp_client_connection_disconnect(struct smtp_client_connection *conn) connection_disconnect(&conn->conn); - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_DISCONNECTED); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_DISCONNECTED); if (!conn->failing) { - smtp_client_connection_login_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_ABORTED, + smtp_client_connection_login_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_ABORTED, "Disconnected from server"); - smtp_client_connection_commands_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_ABORTED, + smtp_client_connection_commands_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_ABORTED, "Disconnected from server"); } conn->cmd_streaming = NULL; @@ -1846,8 +1858,8 @@ smtp_client_connection_do_create(struct smtp_client *client, const char *name, *conn->set.my_hostname != '\0'); conn->caps.standard = conn->set.forced_capabilities; - conn->cap_pool = pool_alloconly_create - ("smtp client connection capabilities", 128); + conn->cap_pool = pool_alloconly_create( + "smtp client connection capabilities", 128); if (set != NULL && set->event_parent != NULL) conn_event = event_create(set->event_parent); @@ -1871,9 +1883,10 @@ smtp_client_connection_do_create(struct smtp_client *client, const char *name, struct smtp_client_connection * smtp_client_connection_create(struct smtp_client *client, - enum smtp_protocol protocol, const char *host, in_port_t port, - enum smtp_client_connection_ssl_mode ssl_mode, - const struct smtp_client_settings *set) + enum smtp_protocol protocol, + const char *host, in_port_t port, + enum smtp_client_connection_ssl_mode ssl_mode, + const struct smtp_client_settings *set) { struct smtp_client_connection *conn; const char *name = t_strdup_printf("%s:%u", host, port); @@ -1892,9 +1905,11 @@ smtp_client_connection_create(struct smtp_client *client, struct smtp_client_connection * smtp_client_connection_create_ip(struct smtp_client *client, - enum smtp_protocol protocol, const struct ip_addr *ip, in_port_t port, - const char *hostname, enum smtp_client_connection_ssl_mode ssl_mode, - const struct smtp_client_settings *set) + enum smtp_protocol protocol, + const struct ip_addr *ip, in_port_t port, + const char *hostname, + enum smtp_client_connection_ssl_mode ssl_mode, + const struct smtp_client_settings *set) { struct smtp_client_connection *conn; bool host_is_ip = FALSE; @@ -1962,11 +1977,11 @@ void smtp_client_connection_unref(struct smtp_client_connection **_conn) if (conn->reply_parser != NULL) smtp_reply_parser_deinit(&conn->reply_parser); - smtp_client_connection_login_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_ABORTED, + smtp_client_connection_login_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_ABORTED, "Connection destroy"); - smtp_client_connection_commands_fail(conn, - SMTP_CLIENT_COMMAND_ERROR_ABORTED, + smtp_client_connection_commands_fail( + conn, SMTP_CLIENT_COMMAND_ERROR_ABORTED, "Connection destroy"); connection_deinit(&conn->conn); @@ -2043,8 +2058,8 @@ smtp_client_connection_reset(struct smtp_client_connection *conn) conn->reset_needed = FALSE; - (void)smtp_client_command_rset_submit(conn, - SMTP_CLIENT_COMMAND_FLAG_PRIORITY, + (void)smtp_client_command_rset_submit( + conn, SMTP_CLIENT_COMMAND_FLAG_PRIORITY, smtp_client_connection_rset_dummy_cb, conn); } @@ -2058,8 +2073,8 @@ smtp_client_connection_do_start_transaction(struct smtp_client_connection *conn) if (conn->state != SMTP_CLIENT_CONNECTION_STATE_TRANSACTION) return; if (conn->transactions_head == NULL) { - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_READY); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_READY); return; } @@ -2083,10 +2098,10 @@ smtp_client_connection_start_transaction(struct smtp_client_connection *conn) if (conn->to_trans != NULL) return; - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_TRANSACTION); - conn->to_trans = timeout_add_short(0, - smtp_client_connection_do_start_transaction, conn); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_TRANSACTION); + conn->to_trans = timeout_add_short( + 0, smtp_client_connection_do_start_transaction, conn); } void smtp_client_connection_add_transaction( @@ -2095,8 +2110,8 @@ void smtp_client_connection_add_transaction( { e_debug(conn->event, "Add transaction"); - DLLIST2_APPEND(&conn->transactions_head, - &conn->transactions_tail, trans); + DLLIST2_APPEND(&conn->transactions_head, &conn->transactions_tail, + trans); smtp_client_connection_connect(conn, NULL, NULL); smtp_client_connection_start_transaction(conn); @@ -2110,8 +2125,8 @@ void smtp_client_connection_abort_transaction( e_debug(conn->event, "Abort transaction"); - DLLIST2_REMOVE(&conn->transactions_head, - &conn->transactions_tail, trans); + DLLIST2_REMOVE(&conn->transactions_head, &conn->transactions_tail, + trans); if (!was_first) return; @@ -2123,8 +2138,8 @@ void smtp_client_connection_abort_transaction( next transaction */ conn->reset_needed = TRUE; - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_READY); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_READY); smtp_client_connection_start_transaction(conn); } @@ -2136,14 +2151,14 @@ void smtp_client_connection_next_transaction( i_assert(trans == conn->transactions_head); - DLLIST2_REMOVE(&conn->transactions_head, - &conn->transactions_tail, trans); + DLLIST2_REMOVE(&conn->transactions_head, &conn->transactions_tail, + trans); i_assert(conn->state != SMTP_CLIENT_CONNECTION_STATE_READY); if (conn->state != SMTP_CLIENT_CONNECTION_STATE_TRANSACTION) return; - smtp_client_connection_set_state(conn, - SMTP_CLIENT_CONNECTION_STATE_READY); + smtp_client_connection_set_state( + conn, SMTP_CLIENT_CONNECTION_STATE_READY); smtp_client_connection_start_transaction(conn); }