From a56cf62351a4fea9e8ca0ddc30e18c36ad64bb67 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Mon, 25 Aug 2008 12:01:35 +0200 Subject: [PATCH] Cleaned up LDA Sieve plugin. --- src/plugins/lda-sieve/lda-sieve-plugin.c | 46 +++++++++++++++++------- src/plugins/lda-sieve/lda-sieve-plugin.h | 9 ++++- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c index 85e032674..1c003d957 100644 --- a/src/plugins/lda-sieve/lda-sieve-plugin.c +++ b/src/plugins/lda-sieve/lda-sieve-plugin.c @@ -13,12 +13,41 @@ #include <stdlib.h> #include <sys/stat.h> +/* + * Configuration + */ + #define SIEVE_SCRIPT_PATH "~/.dovecot.sieve" #define LDA_SIEVE_MAX_ERRORS 10 +/* + * Global variables + */ + static deliver_mail_func_t *next_deliver_mail; +/* + * Mail transmission + */ + +static void *lda_sieve_smtp_open(const char *destination, + const char *return_path, FILE **file_r) +{ + return (void *) smtp_client_open(destination, return_path, file_r); +} + +static bool lda_sieve_smtp_close(void *handle) +{ + struct smtp_client *smtp_client = (struct smtp_client *) handle; + + return ( smtp_client_close(smtp_client) >= 0 ); +} + +/* + * Plugin implementation + */ + static const char *lda_sieve_get_path(void) { const char *script_path, *home; @@ -66,19 +95,6 @@ static const char *lda_sieve_get_path(void) return script_path; } -static void *lda_sieve_smtp_open(const char *destination, - const char *return_path, FILE **file_r) -{ - return (void *) smtp_client_open(destination, return_path, file_r); -} - -static bool lda_sieve_smtp_close(void *handle) -{ - struct smtp_client *smtp_client = (struct smtp_client *) handle; - - return ( smtp_client_close(smtp_client) >= 0 ); -} - static int lda_sieve_run (struct mail_namespace *namespaces, struct mail *mail, const char *script_path, const char *destaddr, const char *username, const char *mailbox) @@ -233,6 +249,10 @@ static int lda_sieve_deliver_mail return ( ret >= 0 ? 1 : -1 ); } +/* + * Plugin interface + */ + void sieve_plugin_init(void) { /* Initialize Sieve engine */ diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.h b/src/plugins/lda-sieve/lda-sieve-plugin.h index ab24238a2..3c9654731 100644 --- a/src/plugins/lda-sieve/lda-sieve-plugin.h +++ b/src/plugins/lda-sieve/lda-sieve-plugin.h @@ -1,7 +1,14 @@ +/* Copyright (c) 2002-2008 Dovecot Sieve authors, see the included COPYING file + */ + #ifndef __LDA_SIEVE_PLUGIN_H #define __LDA_SIEVE_PLUGIN_H +/* + * Plugin interface + */ + void sieve_plugin_init(void); void sieve_plugin_deinit(void); -#endif +#endif /* __LDA_SIEVE_PLUGIN_H */ -- GitLab