summaryrefslogtreecommitdiffstats
path: root/src/smtp_proxy.c
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/smtp_proxy.c
parentb3d50ac4479bab826ee8d4ae769b6023ecc71160 (diff)
downloadrspamd-db83581d3a63bc47c596a331c9d4d5383be8ad29.tar.gz
rspamd-db83581d3a63bc47c596a331c9d4d5383be8ad29.zip
Fix smtp proxy and generic worker code.
Diffstat (limited to 'src/smtp_proxy.c')
-rw-r--r--src/smtp_proxy.c9
1 files changed, 5 insertions, 4 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)) {