diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c index 85e0326747258c6488b614d4b999b0489746ba16..1c003d957f483a8d80ff856793274c007f4f9374 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 ab24238a2d52305881e5b949dcf6d35a83084668..3c9654731a3ac7aa1d239a5f3673caab1b95373c 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 */