aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-12 16:30:33 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-12 16:30:33 +0000
commitdb83581d3a63bc47c596a331c9d4d5383be8ad29 (patch)
treee5eb17a241af240eb15d2d8deb336a02216dc6ed /src
parentb3d50ac4479bab826ee8d4ae769b6023ecc71160 (diff)
downloadrspamd-db83581d3a63bc47c596a331c9d4d5383be8ad29.tar.gz
rspamd-db83581d3a63bc47c596a331c9d4d5383be8ad29.zip
Fix smtp proxy and generic worker code.
Diffstat (limited to 'src')
-rw-r--r--src/smtp_proxy.c9
-rw-r--r--src/worker.c6
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;