From db83581d3a63bc47c596a331c9d4d5383be8ad29 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 12 Mar 2015 16:30:33 +0000 Subject: [PATCH] Fix smtp proxy and generic worker code. --- src/smtp_proxy.c | 9 +++++---- src/worker.c | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/smtp_proxy.c b/src/smtp_proxy.c index efec0926e..a86c828c0 100644 --- a/src/smtp_proxy.c +++ b/src/smtp_proxy.c @@ -905,7 +905,7 @@ accept_socket (gint fd, short what, void *arg) struct rspamd_worker *worker = (struct rspamd_worker *)arg; struct smtp_proxy_session *session; struct smtp_proxy_ctx *ctx; - rspamd_inet_addr_t addr; + rspamd_inet_addr_t *addr; gint nfd; ctx = worker->ctx; @@ -921,8 +921,8 @@ accept_socket (gint fd, short what, void *arg) } msg_info ("accepted connection from %s port %d", - rspamd_inet_address_to_string (&addr), - rspamd_inet_address_get_port (&addr)); + rspamd_inet_address_to_string (addr), + rspamd_inet_address_get_port (addr)); ctx = worker->ctx; session = g_slice_alloc0 (sizeof (struct smtp_proxy_session)); @@ -936,7 +936,7 @@ accept_socket (gint fd, short what, void *arg) session->ev_base = ctx->ev_base; session->upstream_sock = -1; session->ptr_str = rdns_generate_ptr_from_str (rspamd_inet_address_to_string ( - &addr)); + addr)); worker->srv->stat->connections_count++; /* Resolve client's addr */ @@ -946,6 +946,7 @@ accept_socket (gint fd, short what, void *arg) NULL, free_smtp_proxy_session, session); + rspamd_inet_address_destroy (addr); session->state = SMTP_PROXY_STATE_RESOLVE_REVERSE; if (!make_dns_request (session->resolver, session->s, session->pool, smtp_dns_cb, session, RDNS_REQUEST_PTR, session->ptr_str)) { diff --git a/src/worker.c b/src/worker.c index d33fcae0f..2598fed58 100644 --- a/src/worker.c +++ b/src/worker.c @@ -149,7 +149,7 @@ rspamd_worker_error_handler (struct rspamd_http_connection *conn, GError *err) struct rspamd_task *task = (struct rspamd_task *) conn->ud; msg_info ("abnormally closing connection from: %s, error: %s", - rspamd_inet_address_to_string (&task->client_addr), err->message); + rspamd_inet_address_to_string (task->client_addr), err->message); /* Terminate session immediately */ destroy_session (task->s); } @@ -163,7 +163,7 @@ rspamd_worker_finish_handler (struct rspamd_http_connection *conn, if (task->state == CLOSING_CONNECTION || task->state == WRITING_REPLY) { /* We are done here */ msg_debug ("normally closing connection from: %s", - rspamd_inet_address_to_string (&task->client_addr)); + rspamd_inet_address_to_string (task->client_addr)); destroy_session (task->s); } else if (task->state == WRITE_REPLY) { @@ -173,7 +173,7 @@ rspamd_worker_finish_handler (struct rspamd_http_connection *conn, * is read */ msg_debug ("want write message to the wire: %s", - rspamd_inet_address_to_string (&task->client_addr)); + rspamd_inet_address_to_string (task->client_addr)); rspamd_protocol_write_reply (task); /* Forcefully set the state */ task->state = CLOSING_CONNECTION; -- 2.39.5