From ae6b86b02a9f8211a51966ac7150499da103dce9 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 18 Nov 2011 06:06:57 -0500
Subject: [PATCH] - Select sieve template depending on dovecot version as doevceot 1.0 does not support the new date based autoresponders. - Cleaned up opensuse dovecot-sql.conf file
---
install/tpl/opensuse_dovecot-sql.conf.master | 1 -
server/plugins-available/maildeliver_plugin.inc.php | 18 ++++++++++++++++--
server/conf/sieve_filter_1.2.master | 0
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master
index de28a7c..66bcdc8 100644
--- a/install/tpl/opensuse_dovecot-sql.conf.master
+++ b/install/tpl/opensuse_dovecot-sql.conf.master
@@ -134,5 +134,4 @@
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
-# user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n'
diff --git a/server/conf/sieve_filter.master b/server/conf/sieve_filter_1.2.master
similarity index 100%
rename from server/conf/sieve_filter.master
rename to server/conf/sieve_filter_1.2.master
diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php
index 0576fde..1f3c563 100644
--- a/server/plugins-available/maildeliver_plugin.inc.php
+++ b/server/plugins-available/maildeliver_plugin.inc.php
@@ -100,9 +100,23 @@
if(is_file($sieve_file)) unlink($sieve_file) or $app->log("Unable to delete file: $sieve_file",LOGLEVEL_WARN);
$app->load('tpl');
-
+
+ //* Select sieve filter file for dovecot version
+ exec('dovecot --version',$tmp);
+ if(substr($tmp[0],0,3) == '1.0') {
+ $filter_file_template = "sieve_filter.master";
+ } elseif(substr($tmp[0],0,3) == '1.2') {
+ $filter_file_template = "sieve_filter_1.2.master";
+ } elseif(substr($tmp[0],0,1) == '2') {
+ $filter_file_template = "sieve_filter_1.2.master";
+ } else {
+ $filter_file_template = "sieve_filter.master";
+ }
+ unset($tmp);
+
+ //* Create new filter file based on template
$tpl = new tpl();
- $tpl->newTemplate("sieve_filter.master");
+ $tpl->newTemplate($filter_file_template);
// cc Field
$tpl->setVar('cc',$data["new"]["cc"]);
--
Gitblit v1.9.1