aboutsummaryrefslogtreecommitdiffstats
path: root/main.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2008-11-01 18:01:05 +0300
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2008-11-01 18:01:05 +0300
commit2aa9c74f1c449da92f6faf870f8cc801a83bb08b (patch)
tree33f0f941f08583fd0c4c3653cadde8d6ce8426c2 /main.h
parentcc5343692b448c27485a24ea7f1b24d714bb82f6 (diff)
downloadrspamd-2aa9c74f1c449da92f6faf870f8cc801a83bb08b.tar.gz
rspamd-2aa9c74f1c449da92f6faf870f8cc801a83bb08b.zip
* Reorganize structure of source files
* Adopt build system for new structure --HG-- rename : cfg_file.h => src/cfg_file.h rename : cfg_file.l => src/cfg_file.l rename : cfg_file.y => src/cfg_file.y rename : cfg_utils.c => src/cfg_utils.c rename : controller.c => src/controller.c rename : filter.c => src/filter.c rename : filter.h => src/filter.h rename : fstring.c => src/fstring.c rename : fstring.h => src/fstring.h rename : main.c => src/main.c rename : main.h => src/main.h rename : mem_pool.c => src/mem_pool.c rename : mem_pool.h => src/mem_pool.h rename : memcached-test.c => src/memcached-test.c rename : memcached.c => src/memcached.c rename : memcached.h => src/memcached.h rename : perl.c => src/perl.c rename : perl.h => src/perl.h rename : plugins/regexp.c => src/plugins/regexp.c rename : plugins/surbl.c => src/plugins/surbl.c rename : protocol.c => src/protocol.c rename : protocol.h => src/protocol.h rename : upstream.c => src/upstream.c rename : upstream.h => src/upstream.h rename : url.c => src/url.c rename : url.h => src/url.h rename : util.c => src/util.c rename : util.h => src/util.h rename : worker.c => src/worker.c
Diffstat (limited to 'main.h')
-rw-r--r--main.h201
1 files changed, 0 insertions, 201 deletions
diff --git a/main.h b/main.h
deleted file mode 100644
index efb716ab0..000000000
--- a/main.h
+++ /dev/null
@@ -1,201 +0,0 @@
-#ifndef RPOP_MAIN_H
-#define RPOP_MAIN_H
-
-#include "config.h"
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#ifndef HAVE_OWN_QUEUE_H
-#include <sys/queue.h>
-#else
-#include "queue.h"
-#endif
-#include <sys/time.h>
-
-#include <sys/un.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <signal.h>
-#include <event.h>
-
-#include "fstring.h"
-#include "mem_pool.h"
-#include "url.h"
-#include "memcached.h"
-#include "protocol.h"
-#include "filter.h"
-
-#include <glib.h>
-#include <gmime/gmime.h>
-
-/* Default values */
-#define FIXED_CONFIG_FILE "./rspamd.conf"
-/* Time in seconds to exit for old worker */
-#define SOFT_SHUTDOWN_TIME 60
-/* Default metric name */
-#define DEFAULT_METRIC "default"
-
-/* Logging in postfix style */
-#define msg_err g_error
-#define msg_warn g_warning
-#define msg_info g_message
-#define msg_debug g_debug
-
-/* Process type: main or worker */
-enum process_type {
- TYPE_MAIN,
- TYPE_WORKER,
- TYPE_CONTROLLER,
-};
-
-/* Filter type */
-enum script_type {
- SCRIPT_HEADER,
- SCRIPT_MIME,
- SCRIPT_URL,
- SCRIPT_MESSAGE,
-};
-
-/* Logic expression */
-struct expression {
- enum { EXPR_OPERAND, EXPR_OPERATION } type;
- union {
- void *operand;
- char operation;
- } content;
- struct expression *next;
-};
-
-/* Worker process structure */
-struct rspamd_worker {
- pid_t pid;
- char is_initialized;
- char is_dying;
- TAILQ_ENTRY (rspamd_worker) next;
- struct rspamd_main *srv;
- enum process_type type;
- struct event sig_ev;
- struct event bind_ev;
-};
-
-struct pidfh;
-struct config_file;
-
-/* Server statistics */
-struct rspamd_stat {
- unsigned int messages_scanned;
- unsigned int messages_spam;
- unsigned int messages_ham;
- unsigned int connections_count;
- unsigned int control_connections_count;
- unsigned int messages_learned;
-};
-
-/* Struct that determine main server object (for logging purposes) */
-struct rspamd_main {
- struct config_file *cfg;
- pid_t pid;
- /* Pid file structure */
- struct pidfh *pfh;
- enum process_type type;
- unsigned int ev_initialized;
- struct rspamd_stat *stat;
-
- memory_pool_t *server_pool;
-
- TAILQ_HEAD (workq, rspamd_worker) workers;
-};
-
-struct mime_part {
- GMimeContentType *type;
- GByteArray *content;
- TAILQ_ENTRY (mime_part) next;
-};
-
-struct save_point {
- void *entry;
- enum script_type type;
- unsigned int saved;
-};
-
-/* Control session */
-struct controller_session {
- struct rspamd_worker *worker;
- int sock;
- /* Access to authorized commands */
- int authorized;
- memory_pool_t *session_pool;
- struct bufferevent *bev;
- struct config_file *cfg;
-};
-
-/* Worker task structure */
-struct worker_task {
- struct rspamd_worker *worker;
- enum {
- READ_COMMAND,
- READ_HEADER,
- READ_MESSAGE,
- WRITE_REPLY,
- WRITE_ERROR,
- WAIT_FILTER,
- CLOSING_CONNECTION,
- } state;
- size_t content_length;
- enum rspamd_protocol proto;
- enum rspamd_command cmd;
- int sock;
- char *helo;
- char *from;
- GList *rcpt;
- unsigned int nrcpt;
- struct in_addr from_addr;
- f_str_buf_t *msg;
- struct bufferevent *bev;
- /* Memcached connection for this task */
- memcached_ctx_t *memc_ctx;
- unsigned memc_busy:1;
- /* Number of mime parts */
- int parts_count;
- /* Message */
- GMimeMessage *message;
- /* All parts of message */
- TAILQ_HEAD (mime_partq, mime_part) parts;
- /* URLs extracted from message */
- TAILQ_HEAD (uriq, uri) urls;
- /* Hash of metric result structures */
- GHashTable *results;
- struct config_file *cfg;
- /* Save point for filters deferred processing */
- struct save_point save;
- /* Saved error message and code */
- char *last_error;
- int error_code;
- /* Memory pool that is associated with this task */
- memory_pool_t *task_pool;
-};
-
-struct module_ctx {
- int (*header_filter)(struct worker_task *task);
- int (*mime_filter)(struct worker_task *task);
- int (*message_filter)(struct worker_task *task);
- int (*url_filter)(struct worker_task *task);
-};
-
-struct c_module {
- const char *name;
- struct module_ctx *ctx;
- LIST_ENTRY (c_module) next;
-};
-
-void start_worker (struct rspamd_worker *worker, int listen_sock);
-void start_controller (struct rspamd_worker *worker);
-
-extern sig_atomic_t do_reopen_log;
-
-#endif
-
-/*
- * vi:ts=4
- */