rspamd_mempool_t *pool;
struct rspamd_task *task;
struct rspamd_classifier_config *cl;
- rspamd_inet_addr_t from_addr;
+ rspamd_inet_addr_t *from_addr;
gboolean is_spam;
};
gboolean ret = TRUE;
/* Access list logic */
- if (!session->from_addr.af == AF_UNIX) {
+ if (!rspamd_inet_address_get_af(session->from_addr) == AF_UNIX) {
msg_info ("allow unauthorized connection from a unix socket");
return TRUE;
}
else if (ctx->secure_map && radix_find_compressed_addr (ctx->secure_map,
- &session->from_addr) != RADIX_NO_VALUE) {
+ session->from_addr) != RADIX_NO_VALUE) {
msg_info ("allow unauthorized connection from a trusted IP %s",
- rspamd_inet_address_to_string (&session->from_addr));
+ rspamd_inet_address_to_string (session->from_addr));
return TRUE;
}
timebuf), "time", 0, false);
ucl_object_insert_key (obj, ucl_object_fromstring (
row->message_id), "id", 0, false);
- ucl_object_insert_key (obj, ucl_object_fromstring (
- rspamd_inet_address_to_string (&row->from_addr)),
+ ucl_object_insert_key (obj, ucl_object_fromstring (row->from_addr),
"ip", 0, false);
ucl_object_insert_key (obj,
ucl_object_fromstring (rspamd_action_to_str (
}
/* Successful learn */
msg_info ("<%s> learned message: %s",
- rspamd_inet_address_to_string (&session->from_addr),
+ rspamd_inet_address_to_string (session->from_addr),
task->message_id);
rspamd_controller_send_string (conn_ent, "{\"success\":true}");
dump_dynamic_config (ctx->cfg);
msg_info ("<%s> modified %d actions",
- rspamd_inet_address_to_string (&session->from_addr),
+ rspamd_inet_address_to_string (session->from_addr),
added);
rspamd_controller_send_string (conn_ent, "{\"success\":true}");
dump_dynamic_config (ctx->cfg);
msg_info ("<%s> modified %d symbols",
- rspamd_inet_address_to_string (&session->from_addr),
+ rspamd_inet_address_to_string (session->from_addr),
added);
rspamd_controller_send_string (conn_ent, "{\"success\":true}");
}
msg_info ("<%s>, map %s saved",
- rspamd_inet_address_to_string (&session->from_addr),
+ rspamd_inet_address_to_string (session->from_addr),
map->uri);
/* Close and unlock */
close (fd);
}
msg_info ("<%s> reset stat",
- rspamd_inet_address_to_string (&session->from_addr));
+ rspamd_inet_address_to_string (session->from_addr));
return rspamd_controller_handle_stat_common (conn_ent, msg, TRUE);
}
rspamd_mempool_delete (session->pool);
}
+ rspamd_inet_address_destroy (session->from_addr);
g_slice_free1 (sizeof (struct rspamd_controller_session), session);
}
struct rspamd_worker *worker = (struct rspamd_worker *) arg;
struct rspamd_controller_worker_ctx *ctx;
struct rspamd_controller_session *nsession;
- rspamd_inet_addr_t addr;
+ rspamd_inet_addr_t *addr;
gint nfd;
ctx = worker->ctx;
nsession->pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
nsession->ctx = ctx;
- memcpy (&nsession->from_addr, &addr, sizeof (addr));
+ nsession->from_addr = addr;
rspamd_http_router_handle_socket (ctx->http, nfd, nsession);
}