]> source.dussan.org Git - rspamd.git/commitdiff
Refactor events API.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 26 May 2015 13:00:03 +0000 (14:00 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 26 May 2015 13:00:03 +0000 (14:00 +0100)
20 files changed:
src/controller.c
src/libmime/smtp_proto.c
src/libmime/smtp_utils.c
src/libserver/dns.c
src/libserver/events.c
src/libserver/events.h
src/libserver/task.c
src/libstat/backends/redis.c
src/lua/lua_http.c
src/lua/lua_redis.c
src/lua/lua_session.c
src/lua/lua_tcp.c
src/lua/lua_util.c
src/plugins/fuzzy_check.c
src/plugins/surbl.c
src/smtp.c
src/smtp_proxy.c
src/worker.c
test/rspamd_dkim_test.c
test/rspamd_dns_test.c

index 0d8520058a5904fe75b411d98c6f2c029d945e4b..46f4ed66ece224051ef9d46f07a006a0c8869870 100644 (file)
@@ -995,7 +995,7 @@ rspamd_controller_handle_learn_common (
        task->ev_base = ctx->ev_base;
 
 
-       task->s = new_async_session (session->pool,
+       task->s = rspamd_session_create (session->pool,
                        rspamd_controller_learn_fin_task,
                        NULL,
                        rspamd_task_free_hard,
@@ -1009,14 +1009,14 @@ rspamd_controller_handle_learn_common (
        if (!rspamd_task_process (task, msg, msg->body->str, msg->body->len, FALSE)) {
                msg_warn ("filters cannot be processed for %s", task->message_id);
                rspamd_controller_send_error (conn_ent, 500, task->last_error);
-               destroy_session (task->s);
+               rspamd_session_destroy (task->s);
                return 0;
        }
 
        session->task = task;
        session->cl = cl;
        session->is_spam = is_spam;
-       check_session_pending (task->s);
+       rspamd_session_pending (task->s);
 
        return 0;
 }
@@ -1085,7 +1085,7 @@ rspamd_controller_handle_scan (struct rspamd_http_connection_entry *conn_ent,
        task->resolver = ctx->resolver;
        task->ev_base = ctx->ev_base;
 
-       task->s = new_async_session (session->pool,
+       task->s = rspamd_session_create (session->pool,
                        rspamd_controller_check_fin_task,
                        NULL,
                        rspamd_task_free_hard,
@@ -1098,12 +1098,12 @@ rspamd_controller_handle_scan (struct rspamd_http_connection_entry *conn_ent,
        if (!rspamd_task_process (task, msg, msg->body->str, msg->body->len, FALSE)) {
                msg_warn ("filters cannot be processed for %s", task->message_id);
                rspamd_controller_send_error (conn_ent, 500, task->last_error);
-               destroy_session (task->s);
+               rspamd_session_destroy (task->s);
                return 0;
        }
 
        session->task = task;
-       check_session_pending (task->s);
+       rspamd_session_pending (task->s);
 
        return 0;
 }
@@ -1690,7 +1690,7 @@ rspamd_controller_finish_handler (struct rspamd_http_connection_entry *conn_ent)
 
        session->ctx->worker->srv->stat->control_connections_count++;
        if (session->task != NULL) {
-               destroy_session (session->task->s);
+               rspamd_session_destroy (session->task->s);
        }
        if (session->pool) {
                rspamd_mempool_delete (session->pool);
index ec7ab191a899cab35ee6f9feb4b9eb05be35c2d5..713efabac739564156cfb4a9fc60083116e006c7 100644 (file)
@@ -425,7 +425,7 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                                sizeof (CRLF) - 1, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                else if (r == 1) {
@@ -476,7 +476,7 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                                sizeof (CRLF) - 1, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                else if (r == 1) {
@@ -512,7 +512,7 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                                sizeof (CRLF) - 1, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                else if (r == 1) {
@@ -545,7 +545,7 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                                sizeof (CRLF) - 1, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                else if (r == 1) {
@@ -638,7 +638,7 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                                sizeof (CRLF) - 1, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                else if (r == 1) {
@@ -650,7 +650,7 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                                        session->error, 0, FALSE, TRUE)) {
                                        goto err;
                                }
-                               destroy_session (session->s);
+                               rspamd_session_destroy (session->s);
                                return FALSE;
                        }
                        session->state = SMTP_STATE_AFTER_DATA;
@@ -702,11 +702,11 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                                sizeof (CRLF) - 1, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                else {
-                       remove_normal_event (session->s,
+                       rspamd_session_remove_event (session->s,
                                (event_finalizer_t)smtp_upstream_finalize_connection,
                                session);
                }
@@ -726,7 +726,7 @@ smtp_upstream_read_socket (rspamd_fstring_t * in, void *arg)
                        1, FALSE, TRUE)) {
                        goto err;
                }
-               destroy_session (session->s);
+               rspamd_session_destroy (session->s);
                return FALSE;
        }
 
@@ -757,7 +757,7 @@ smtp_upstream_err_socket (GError *err, void *arg)
                return;
        }
        rspamd_upstream_fail (session->upstream);
-       destroy_session (session->s);
+       rspamd_session_destroy (session->s);
 }
 
 void
index c4f0a7b3e875df316510a8a75e3c3a69f5a95d24..71f57a5b40c1eb76dfea83920e03f05efdf04e84 100644 (file)
@@ -91,7 +91,7 @@ create_smtp_upstream_connection (struct smtp_session *session)
                        session);
        session->state = SMTP_STATE_WAIT_UPSTREAM;
        session->upstream_state = SMTP_STATE_GREETING;
-       register_async_event (session->s,
+       rspamd_session_add_event (session->s,
                (event_finalizer_t)smtp_upstream_finalize_connection,
                session,
                g_quark_from_static_string ("smtp proxy"));
@@ -120,7 +120,7 @@ err:
                TRUE)) {
                return FALSE;
        }
-       destroy_session (session->s);
+       rspamd_session_destroy (session->s);
        return FALSE;
 }
 
@@ -286,7 +286,7 @@ write_smtp_reply (struct smtp_session *session)
                        1, FALSE, TRUE)) {
                        return FALSE;
                }
-               destroy_session (session->s);
+               rspamd_session_destroy (session->s);
                return FALSE;
        }
        else if (cd.action <= METRIC_ACTION_ADD_HEADER || cd.action <=
@@ -300,7 +300,7 @@ write_smtp_reply (struct smtp_session *session)
                                0, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
 
@@ -345,7 +345,7 @@ write_smtp_reply (struct smtp_session *session)
                                0, FALSE, TRUE)) {
                                goto err;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                g_object_unref (stream);
@@ -359,6 +359,6 @@ err:
                TRUE)) {
                return FALSE;
        }
-       destroy_session (session->s);
+       rspamd_session_destroy (session->s);
        return FALSE;
 }
index 3e97160aff3a08125840b2a61b1afd053eb10390..c92cf1990f499e4352431eb067929cd1363bba9b 100644 (file)
@@ -62,7 +62,7 @@ rspamd_dns_callback (struct rdns_reply *reply, gpointer ud)
                 * event removing
                 */
                rdns_request_retain (reply->request);
-               remove_normal_event (reqdata->session, rspamd_dns_fin_cb, reqdata);
+               rspamd_session_remove_event (reqdata->session, rspamd_dns_fin_cb, reqdata);
        }
        else if (reqdata->pool == NULL) {
                g_slice_free1 (sizeof (struct rspamd_dns_request_ud), reqdata);
@@ -100,7 +100,7 @@ make_dns_request (struct rspamd_dns_resolver *resolver,
 
        if (session) {
                if (req != NULL) {
-                       register_async_event (session,
+                       rspamd_session_add_event (session,
                                        (event_finalizer_t)rspamd_dns_fin_cb,
                                        reqdata,
                                        g_quark_from_static_string ("dns resolver"));
index 73ebef6a7b432c52d8dcffa084de05c572d2be95..4925b8c69e45b5c84cf30773a84f7fbf1b43ca00 100644 (file)
@@ -90,7 +90,7 @@ rspamd_event_hash (gconstpointer a)
 
 
 struct rspamd_async_session *
-new_async_session (rspamd_mempool_t * pool, session_finalizer_t fin,
+rspamd_session_create (rspamd_mempool_t * pool, session_finalizer_t fin,
        event_finalizer_t restore, event_finalizer_t cleanup, void *user_data)
 {
        struct rspamd_async_session *new;
@@ -111,7 +111,7 @@ new_async_session (rspamd_mempool_t * pool, session_finalizer_t fin,
 }
 
 void
-register_async_event (struct rspamd_async_session *session,
+rspamd_session_add_event (struct rspamd_async_session *session,
        event_finalizer_t fin,
        void *user_data,
        GQuark subsystem)
@@ -146,7 +146,7 @@ register_async_event (struct rspamd_async_session *session,
 }
 
 void
-remove_normal_event (struct rspamd_async_session *session,
+rspamd_session_remove_event (struct rspamd_async_session *session,
        event_finalizer_t fin,
        void *ud)
 {
@@ -180,11 +180,11 @@ remove_normal_event (struct rspamd_async_session *session,
 
        g_hash_table_remove (session->events, found_ev);
 
-       check_session_pending (session);
+       rspamd_session_pending (session);
 }
 
 static gboolean
-rspamd_session_destroy (gpointer k, gpointer v, gpointer unused)
+rspamd_session_destroy_callback (gpointer k, gpointer v, gpointer unused)
 {
        struct rspamd_async_event *ev = v;
 
@@ -202,7 +202,7 @@ rspamd_session_destroy (gpointer k, gpointer v, gpointer unused)
 }
 
 gboolean
-destroy_session (struct rspamd_async_session *session)
+rspamd_session_destroy (struct rspamd_async_session *session)
 {
        if (session == NULL) {
                msg_info ("session is NULL");
@@ -211,7 +211,7 @@ destroy_session (struct rspamd_async_session *session)
 
        session->flags |= RSPAMD_SESSION_FLAG_DESTROYING;
        g_hash_table_foreach_remove (session->events,
-               rspamd_session_destroy,
+               rspamd_session_destroy_callback,
                session);
 
        if (session->cleanup != NULL) {
@@ -222,7 +222,7 @@ destroy_session (struct rspamd_async_session *session)
 }
 
 gboolean
-check_session_pending (struct rspamd_async_session *session)
+rspamd_session_pending (struct rspamd_async_session *session)
 {
        gboolean ret = TRUE;
 
@@ -233,7 +233,7 @@ check_session_pending (struct rspamd_async_session *session)
                                if (session->restore != NULL) {
                                        session->restore (session->user_data);
                                        /* Call pending once more */
-                                       return check_session_pending (session);
+                                       return rspamd_session_pending (session);
                                }
                        }
                        else {
index d78c797929a206321ce84d4faa8de9ead9ee5911..46f7ae0ef1cc48eb7ff2d6860c2b9497acd5896a 100644 (file)
@@ -44,7 +44,7 @@ typedef gboolean (*session_finalizer_t)(gpointer user_data);
  * @param user_data abstract user data
  * @return
  */
-struct rspamd_async_session * new_async_session (rspamd_mempool_t *pool,
+struct rspamd_async_session * rspamd_session_create (rspamd_mempool_t *pool,
        session_finalizer_t fin, event_finalizer_t restore,
        event_finalizer_t cleanup, gpointer user_data);
 
@@ -55,7 +55,7 @@ struct rspamd_async_session * new_async_session (rspamd_mempool_t *pool,
  * @param user_data abstract user_data
  * @param forced unused
  */
-void register_async_event (struct rspamd_async_session *session,
+void rspamd_session_add_event (struct rspamd_async_session *session,
        event_finalizer_t fin, gpointer user_data, GQuark subsystem);
 
 /**
@@ -64,7 +64,7 @@ void register_async_event (struct rspamd_async_session *session,
  * @param fin final callback
  * @param ud user data object
  */
-void remove_normal_event (struct rspamd_async_session *session,
+void rspamd_session_remove_event (struct rspamd_async_session *session,
        event_finalizer_t fin,
        gpointer ud);
 
@@ -72,14 +72,14 @@ void remove_normal_event (struct rspamd_async_session *session,
  * Must be called at the end of session, it calls fin functions for all non-forced callbacks
  * @return true if the whole session was destroyed and false if there are forced events
  */
-gboolean destroy_session (struct rspamd_async_session *session);
+gboolean rspamd_session_destroy (struct rspamd_async_session *session);
 
 /**
  * Check session for events pending and call fin callback if no events are pending
  * @param session session object
  * @return TRUE if session has pending events
  */
-gboolean check_session_pending (struct rspamd_async_session *session);
+gboolean rspamd_session_pending (struct rspamd_async_session *session);
 
 /**
  * Start watching for events in the session, so the specified watcher will be added
index d4fae99db89772adc0c140d3e82c18ee4ac97a48..502fdfb8d1d707eaf142b6d85d3210daf0df90b1 100644 (file)
@@ -358,7 +358,7 @@ rspamd_task_process (struct rspamd_task *task,
                task->state = WAIT_PRE_FILTER;
        }
 
-       check_session_pending (task->s);
+       rspamd_session_pending (task->s);
 
        return TRUE;
 }
index 0709246897aebc79695758d6650ea35bed8bb37d..deb2ea84dbfd7af20fe6e2b3577bc70834db1068 100644 (file)
@@ -417,7 +417,7 @@ rspamd_redis_runtime (struct rspamd_task *task,
        g_assert (rt->redis != NULL);
 
        redisLibeventAttach (rt->redis, task->ev_base);
-       register_async_event (task->s, rspamd_redis_fin, rt,
+       rspamd_session_add_event (task->s, rspamd_redis_fin, rt,
                        rspamd_redis_stat_quark ());
 
        return rt;
index 1baef5ed4941e9be592552d948df1ec2d717a6e0..cec631402afc959c680719e4c2f4cad3bfbfe9bf 100644 (file)
@@ -122,7 +122,7 @@ static void
 lua_http_maybe_free (struct lua_http_cbdata *cbd)
 {
        if (cbd->session) {
-               remove_normal_event (cbd->session, lua_http_fin, cbd);
+               rspamd_session_remove_event (cbd->session, lua_http_fin, cbd);
        }
        else {
                lua_http_fin (cbd);
@@ -438,7 +438,7 @@ lua_http_request (lua_State *L)
        cbd->fd = -1;
        if (session) {
                cbd->session = session;
-               register_async_event (session,
+               rspamd_session_add_event (session,
                                (event_finalizer_t)lua_http_fin,
                                cbd,
                                g_quark_from_static_string ("lua http"));
index 9cf10bb10e4ca022829ed4606b1d432ac0ddaff6..66a8c6cac1c605bc852df54d2f623dc7c44f2820 100644 (file)
@@ -137,7 +137,7 @@ lua_redis_push_error (const gchar *err,
        }
 
        if (connected) {
-               remove_normal_event (ud->task->s, lua_redis_fin, ud);
+               rspamd_session_remove_event (ud->task->s, lua_redis_fin, ud);
        }
 }
 
@@ -196,7 +196,7 @@ lua_redis_push_data (const redisReply *r, struct lua_redis_userdata *ud)
                msg_info ("call to callback failed: %s", lua_tostring (ud->L, -1));
        }
 
-       remove_normal_event (ud->task->s, lua_redis_fin, ud);
+       rspamd_session_remove_event (ud->task->s, lua_redis_fin, ud);
 }
 
 /**
@@ -441,7 +441,7 @@ lua_redis_make_request (lua_State *L)
                                        (const gchar **)ud->args,
                                        NULL);
                if (ret == REDIS_OK) {
-                       register_async_event (ud->task->s,
+                       rspamd_session_add_event (ud->task->s,
                                        lua_redis_fin,
                                        ud,
                                        g_quark_from_static_string ("lua redis"));
index ccb8fd7b485fdf2fd992c733fbb81d0afdf225a4..478d74b75de87511d52176586bd7e199c1cb4d71 100644 (file)
@@ -190,7 +190,7 @@ lua_session_create (lua_State *L)
                }
        }
 
-       session = new_async_session (mempool,
+       session = rspamd_session_create (mempool,
                        lua_session_finalizer,
                        lua_session_restore,
                        lua_session_cleanup,
@@ -211,7 +211,7 @@ lua_session_delete (lua_State *L)
 
        session = cbd->session;
        if (session) {
-               destroy_session (session);
+               rspamd_session_destroy (session);
                return 0;
        }
        else {
@@ -256,7 +256,7 @@ lua_session_register_async_event (lua_State *L)
                        lua_pushvalue (L, 1);
                        cbdata->cbref = luaL_ref (L, LUA_REGISTRYINDEX);
                        cbdata->session = session;
-                       register_async_event (session,
+                       rspamd_session_add_event (session,
                                lua_event_fin,
                                cbdata,
                                g_quark_from_static_string ("lua event"));
@@ -285,7 +285,7 @@ lua_session_remove_normal_event (lua_State *L)
        if (session) {
                data = lua_check_event (L, 2);
                if (data) {
-                       remove_normal_event (session, lua_event_fin, data);
+                       rspamd_session_remove_event (session, lua_event_fin, data);
                        return 0;
                }
        }
index 4cff7d0cc500e3faad0a57aa3d2624a95f0c5c0b..fadb7d93b8d6fe5f1130609cbeff8124353a8f27 100644 (file)
@@ -120,7 +120,7 @@ static void
 lua_tcp_maybe_free (struct lua_tcp_cbdata *cbd)
 {
        if (cbd->session) {
-               remove_normal_event (cbd->session, lua_tcp_fin, cbd);
+               rspamd_session_remove_event (cbd->session, lua_tcp_fin, cbd);
        }
        else {
                lua_tcp_fin (cbd);
@@ -593,7 +593,7 @@ lua_tcp_request (lua_State *L)
 
        if (session) {
                cbd->session = session;
-               register_async_event (session,
+               rspamd_session_add_event (session,
                                (event_finalizer_t)lua_tcp_fin,
                                cbd,
                                g_quark_from_static_string ("lua tcp"));
index 4442a31612689e2de52d8784cc1a512600e4452a..d93811daec4d531e1c1bf71ced09b48bee543886 100644 (file)
@@ -190,7 +190,7 @@ lua_util_process_message (lua_State *L)
                task->fin_callback = lua_util_task_fin;
                task->fin_arg = &res;
                task->resolver = dns_resolver_init (NULL, base, cfg);
-               task->s = new_async_session (task->task_pool, rspamd_task_fin,
+               task->s = rspamd_session_create (task->task_pool, rspamd_task_fin,
                                        rspamd_task_restore, rspamd_task_free_hard, task);
 
                if (rspamd_task_process (task, NULL, message, mlen, TRUE)) {
index 498e1485e7afe8a26db3cd3556b978600411f5ae..ebaab2717245310eec926772d1dbe7fc13c7cafd 100644 (file)
@@ -821,12 +821,12 @@ fuzzy_io_callback (gint fd, short what, void *arg)
                        errno,
                        strerror (errno));
                rspamd_upstream_fail (session->server);
-               remove_normal_event (session->task->s, fuzzy_io_fin, session);
+               rspamd_session_remove_event (session->task->s, fuzzy_io_fin, session);
        }
        else {
                rspamd_upstream_ok (session->server);
                if (session->commands->len == 0) {
-                       remove_normal_event (session->task->s, fuzzy_io_fin, session);
+                       rspamd_session_remove_event (session->task->s, fuzzy_io_fin, session);
                }
        }
 }
@@ -1114,7 +1114,7 @@ register_fuzzy_client_call (struct rspamd_task *task,
                        session->server = selected;
                        session->rule = rule;
                        event_add (&session->ev, &session->tv);
-                       register_async_event (task->s,
+                       rspamd_session_add_event (task->s,
                                fuzzy_io_fin,
                                session,
                                g_quark_from_static_string ("fuzzy check"));
index 39dfc2894e31e3835c3156d4336052c0f1a4afce..39a6e29745299f8a73bc89ba6f0761991347dbf0 100644 (file)
@@ -937,7 +937,7 @@ surbl_redirector_error (struct rspamd_http_connection *conn,
                rspamd_inet_address_to_string (rspamd_upstream_addr (param->redirector)),
                err);
        rspamd_upstream_fail (param->redirector);
-       remove_normal_event (param->task->s, free_redirector_session,
+       rspamd_session_remove_event (param->task->s, free_redirector_session,
                        param);
 }
 
@@ -981,7 +981,7 @@ surbl_redirector_finish (struct rspamd_http_connection *conn,
        }
 
        rspamd_upstream_ok (param->redirector);
-       remove_normal_event (param->task->s, free_redirector_session,
+       rspamd_session_remove_event (param->task->s, free_redirector_session,
                        param);
 
        return 0;
@@ -1032,7 +1032,7 @@ register_redirector_call (struct rspamd_url *url, struct rspamd_task *task,
        timeout = rspamd_mempool_alloc (task->task_pool, sizeof (struct timeval));
        double_to_tv (surbl_module_ctx->read_timeout, timeout);
 
-       register_async_event (task->s,
+       rspamd_session_add_event (task->s,
                free_redirector_session,
                param,
                g_quark_from_static_string ("surbl"));
index 343d1d5576d7fb4d2d911ea5a87328b5f9e2a541..74e2323a2413c7c6fa08bd82b6ff3631f7b0157d 100644 (file)
@@ -188,7 +188,7 @@ read_smtp_command (struct smtp_session *session, rspamd_fstring_t *line)
                        g_list_free (session->rcpt);
                }
                if (session->upstream) {
-                       remove_normal_event (session->s,
+                       rspamd_session_remove_event (session->s,
                                smtp_upstream_finalize_connection,
                                session);
                        session->upstream = NULL;
@@ -323,7 +323,7 @@ process_smtp_data (struct smtp_session *session)
                        /* We want fin_task after pre filters are processed */
                        session->task->s->wanna_die = TRUE;
                        session->task->state = WAIT_PRE_FILTER;
-                       check_session_pending (session->task->s);
+                       rspamd_session_pending (session->task->s);
                }
        }
        else {
@@ -342,7 +342,7 @@ err:
                TRUE)) {
                return FALSE;
        }
-       destroy_session (session->s);
+       rspamd_session_destroy (session->s);
        return FALSE;
 }
 
@@ -378,7 +378,7 @@ smtp_read_socket (rspamd_fstring_t * in, void *arg)
                                        session->error, 0, FALSE, TRUE)) {
                                        return FALSE;
                                }
-                               destroy_session (session->s);
+                               rspamd_session_destroy (session->s);
                                return FALSE;
                        }
                        if (!smtp_write_socket (session)) {
@@ -403,7 +403,7 @@ smtp_read_socket (rspamd_fstring_t * in, void *arg)
                                0, FALSE, TRUE)) {
                                return FALSE;
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                break;
@@ -420,7 +420,7 @@ smtp_read_socket (rspamd_fstring_t * in, void *arg)
        }
 
        if (session->state == SMTP_STATE_QUIT) {
-               destroy_session (session->s);
+               rspamd_session_destroy (session->s);
                return FALSE;
        }
        else if (session->state == SMTP_STATE_WAIT_UPSTREAM) {
@@ -445,7 +445,7 @@ smtp_write_socket (void *arg)
                                return FALSE;
                        }
                }
-               destroy_session (session->s);
+               rspamd_session_destroy (session->s);
                return FALSE;
        }
        else if (session->state == SMTP_STATE_END) {
@@ -483,7 +483,7 @@ smtp_err_socket (GError * err, void *arg)
 
        msg_info ("abnormally closing connection, error: %s", err->message);
        /* Free buffers */
-       destroy_session (session->s);
+       rspamd_session_destroy (session->s);
 }
 
 /*
@@ -510,7 +510,7 @@ smtp_delay_handler (gint fd, short what, void *arg)
 {
        struct smtp_session *session = arg;
 
-       remove_normal_event (session->s,
+       rspamd_session_remove_event (session->s,
                (event_finalizer_t)event_del,
                session->delay_timer);
        if (session->state == SMTP_STATE_DELAY) {
@@ -546,7 +546,7 @@ smtp_make_delay (struct smtp_session *session)
 
                evtimer_set (tev, smtp_delay_handler, session);
                evtimer_add (tev, tv);
-               register_async_event (session->s,
+               rspamd_session_add_event (session->s,
                        (event_finalizer_t)event_del,
                        tev,
                        g_quark_from_static_string ("smtp proxy"));
@@ -710,7 +710,7 @@ accept_socket (gint fd, short what, void *arg)
 
        /* Resolve client's addr */
        /* Set up async session */
-       session->s = new_async_session (session->pool,
+       session->s = rspamd_session_create (session->pool,
                        NULL,
                        NULL,
                        free_smtp_session,
index a86c828c03d37bd08a89138513db0e0a3f1e9a41..281c93b6b8a996d63d5f1a1fcff55855d2b615d6 100644 (file)
@@ -193,7 +193,7 @@ smtp_proxy_err_proxy (GError * err, void *arg)
        }
        /* Free buffers */
        session->state = SMTP_PROXY_STATE_REJECT;
-       destroy_session (session->s);
+       rspamd_session_destroy (session->s);
 }
 
 /**
@@ -280,7 +280,7 @@ smtp_proxy_greeting_handler (gint fd, short what, void *arg)
                                                        msg_info ("connection with %s got write error: %s",
                                                                inet_ntoa (session->client_addr),
                                                                strerror (errno));
-                                                       destroy_session (session->s);
+                                                       rspamd_session_destroy (session->s);
                                                }
                                        }
                                        else {
@@ -305,7 +305,7 @@ smtp_proxy_greeting_handler (gint fd, short what, void *arg)
                                                        msg_info ("connection with %s got write error: %s",
                                                                inet_ntoa (session->client_addr),
                                                                strerror (errno));
-                                                       destroy_session (session->s);
+                                                       rspamd_session_destroy (session->s);
                                                }
                                        }
                                }
@@ -313,14 +313,14 @@ smtp_proxy_greeting_handler (gint fd, short what, void *arg)
                                        /* Proxy sent 500 error */
                                        msg_info ("connection with %s got smtp error for greeting",
                                                rspamd_upstream_name (session->upstream));
-                                       destroy_session (session->s);
+                                       rspamd_session_destroy (session->s);
                                }
                        }
                        else {
                                msg_info ("connection with %s got read error: %s",
                                        rspamd_upstream_name (session->upstream),
                                        strerror (errno));
-                               destroy_session (session->s);
+                               rspamd_session_destroy (session->s);
                        }
                }
                else if (session->state == SMTP_PROXY_STATE_XCLIENT) {
@@ -352,14 +352,14 @@ smtp_proxy_greeting_handler (gint fd, short what, void *arg)
                                                msg_info ("connection with %s got write error: %s",
                                                        inet_ntoa (session->client_addr),
                                                        strerror (errno));
-                                               destroy_session (session->s);
+                                               rspamd_session_destroy (session->s);
                                        }
                                }
                                else if (r == -1) {
                                        /* Proxy sent 500 error */
                                        msg_info ("connection with %s got smtp error for xclient",
                                                        rspamd_upstream_name (session->upstream));
-                                       destroy_session (session->s);
+                                       rspamd_session_destroy (session->s);
                                }
                        }
                }
@@ -367,7 +367,7 @@ smtp_proxy_greeting_handler (gint fd, short what, void *arg)
                        msg_info ("connection with %s got read event at improper state: %d",
                                rspamd_upstream_name (session->upstream),
                                session->state);
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                }
        }
        else if (what == EV_WRITE) {
@@ -401,7 +401,7 @@ smtp_proxy_greeting_handler (gint fd, short what, void *arg)
                                msg_info ("connection with %s got write error: %s",
                                        rspamd_upstream_name (session->upstream),
                                        strerror (errno));
-                               destroy_session (session->s);
+                               rspamd_session_destroy (session->s);
                        }
                }
                else {
@@ -409,14 +409,14 @@ smtp_proxy_greeting_handler (gint fd, short what, void *arg)
                                "connection with %s got write event at improper state: %d",
                                rspamd_upstream_name (session->upstream),
                                session->state);
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                }
        }
        else {
                /* Timeout */
                msg_info ("connection with %s timed out",
                                rspamd_upstream_name (session->upstream));
-               destroy_session (session->s);
+               rspamd_session_destroy (session->s);
        }
 }
 
@@ -573,7 +573,7 @@ smtp_delay_handler (gint fd, short what, void *arg)
 {
        struct smtp_proxy_session *session = arg;
 
-       remove_normal_event (session->s, (event_finalizer_t) event_del,
+       rspamd_session_remove_event (session->s, (event_finalizer_t) event_del,
                session->delay_timer);
        if (session->state == SMTP_PROXY_STATE_DELAY) {
                /* TODO: Create upstream connection here */
@@ -623,7 +623,7 @@ smtp_make_delay (struct smtp_proxy_session *session)
 
                evtimer_set (tev, smtp_delay_handler, session);
                evtimer_add (tev, tv);
-               register_async_event (session->s, (event_finalizer_t) event_del, tev,
+               rspamd_session_add_event (session->s, (event_finalizer_t) event_del, tev,
                        g_quark_from_static_string ("smtp proxy"));
                session->delay_timer = tev;
        }
@@ -800,7 +800,7 @@ smtp_proxy_read_socket (rspamd_fstring_t * in, void *arg)
                        0, FALSE, TRUE)) {
                        msg_err ("cannot write smtp error");
                }
-               destroy_session (session->s);
+               rspamd_session_destroy (session->s);
        }
        else {
                /* Try to extract data */
@@ -821,7 +821,7 @@ smtp_proxy_read_socket (rspamd_fstring_t * in, void *arg)
                                0, FALSE, TRUE)) {
                                msg_err ("cannot write smtp error");
                        }
-                       destroy_session (session->s);
+                       rspamd_session_destroy (session->s);
                        return FALSE;
                }
                if (session->rcpt != NULL) {
@@ -832,7 +832,7 @@ smtp_proxy_read_socket (rspamd_fstring_t * in, void *arg)
                                        0, FALSE, TRUE)) {
                                        msg_err ("cannot write smtp error");
                                }
-                               destroy_session (session->s);
+                               rspamd_session_destroy (session->s);
                                return FALSE;
                        }
                        return rspamd_dispatcher_write (session->dispatcher,
@@ -862,7 +862,7 @@ smtp_proxy_write_socket (void *arg)
        struct smtp_proxy_session *session = arg;
 
        if (session->ctx->instant_reject) {
-               destroy_session (session->s);
+               rspamd_session_destroy (session->s);
                return FALSE;
        }
        else {
@@ -893,7 +893,7 @@ smtp_proxy_err_socket (GError * err, void *arg)
                g_error_free (err);
        }
        /* Free buffers */
-       destroy_session (session->s);
+       rspamd_session_destroy (session->s);
 }
 
 /*
@@ -941,7 +941,7 @@ accept_socket (gint fd, short what, void *arg)
 
        /* Resolve client's addr */
        /* Set up async session */
-       session->s = new_async_session (session->pool,
+       session->s = rspamd_session_create (session->pool,
                        NULL,
                        NULL,
                        free_smtp_proxy_session,
index dec3d679fa8108061cd3ce4f06fe5f64dd0b492f..ec8fb464cc556fed498bc3d9715457833e2d2f5d 100644 (file)
@@ -140,7 +140,7 @@ rspamd_worker_error_handler (struct rspamd_http_connection *conn, GError *err)
        msg_info ("abnormally closing connection from: %s, error: %e",
                rspamd_inet_address_to_string (task->client_addr), err);
        /* Terminate session immediately */
-       destroy_session (task->s);
+       rspamd_session_destroy (task->s);
 }
 
 static gint
@@ -153,7 +153,7 @@ rspamd_worker_finish_handler (struct rspamd_http_connection *conn,
                /* We are done here */
                msg_debug ("normally closing connection from: %s",
                        rspamd_inet_address_to_string (task->client_addr));
-               destroy_session (task->s);
+               rspamd_session_destroy (task->s);
        }
        else if (task->state == WRITE_REPLY) {
                /*
@@ -172,7 +172,7 @@ rspamd_worker_finish_handler (struct rspamd_http_connection *conn,
                 * If all filters have finished their tasks, this function will trigger
                 * writing a reply.
                 */
-               check_session_pending (task->s);
+               rspamd_session_pending (task->s);
        }
 
        return 0;
@@ -242,7 +242,7 @@ accept_socket (gint fd, short what, void *arg)
                (rspamd_mempool_destruct_t)reduce_tasks_count, &ctx->tasks);
 
        /* Set up async session */
-       new_task->s = new_async_session (new_task->task_pool, rspamd_task_fin,
+       new_task->s = rspamd_session_create (new_task->task_pool, rspamd_task_fin,
                        rspamd_task_restore, rspamd_task_free_hard, new_task);
 
        if (ctx->key) {
index b0491de0be146cae0ac05aa7966a2c57091f5a71..81500dcc5aaa492a4d2203c3a31d5a3fb62a97a9 100644 (file)
@@ -42,7 +42,7 @@ test_key_handler (rspamd_dkim_key_t *key, gsize keylen, rspamd_dkim_context_t *c
        struct rspamd_async_session *s = ud;
        g_assert (key != NULL);
 
-       destroy_session (s);
+       rspamd_session_destroy (s);
 }
 
 static gboolean
@@ -85,7 +85,7 @@ rspamd_dkim_test_func ()
        g_assert (ctx != NULL);
 
        /* Key part */
-       s = new_async_session (pool, session_fin, NULL, NULL, NULL);
+       s = rspamd_session_create (pool, session_fin, NULL, NULL, NULL);
 
        g_assert (rspamd_get_dkim_key (ctx, resolver, s, test_key_handler, s));
 
index 5728b5a2d839679c8af5019703957ef6e6626ce0..dd2447d9ce7ca0128aa8100989da7d6312737cf9 100644 (file)
@@ -80,7 +80,7 @@ rspamd_dns_test_func ()
 
        pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
 
-       s = new_async_session (pool, session_fin, NULL, NULL, NULL);
+       s = rspamd_session_create (pool, session_fin, NULL, NULL, NULL);
 
        resolver = dns_resolver_init (NULL, base, cfg);