diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-03-12 16:30:33 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-03-12 16:30:33 +0000 |
commit | db83581d3a63bc47c596a331c9d4d5383be8ad29 (patch) | |
tree | e5eb17a241af240eb15d2d8deb336a02216dc6ed /src | |
parent | b3d50ac4479bab826ee8d4ae769b6023ecc71160 (diff) | |
download | rspamd-db83581d3a63bc47c596a331c9d4d5383be8ad29.tar.gz rspamd-db83581d3a63bc47c596a331c9d4d5383be8ad29.zip |
Fix smtp proxy and generic worker code.
Diffstat (limited to 'src')
-rw-r--r-- | src/smtp_proxy.c | 9 | ||||
-rw-r--r-- | 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; |