]> source.dussan.org Git - rspamd.git/commitdiff
Fix smtp proxy and generic worker code.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 Mar 2015 16:30:33 +0000 (16:30 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 Mar 2015 16:30:33 +0000 (16:30 +0000)
src/smtp_proxy.c
src/worker.c

index efec0926ec8ccc526d66497958d851808279c612..a86c828c03d37bd08a89138513db0e0a3f1e9a41 100644 (file)
@@ -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)) {
index d33fcae0f4e6eca4158b26346e91345fbdfbeb22..2598fed58d95ebdc59e12d1ced42b47b17c4d802 100644 (file)
@@ -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;