From b002da1d661c8e5301d84c7c3369a18a5e1a0798 Mon Sep 17 00:00:00 2001 From: Till Brehm Date: Sat, 22 Feb 2014 16:15:19 +0100 Subject: [PATCH] Fixed: FS#3350 - [Dovecot] Warning: mysql: Query failed, retrying: Unknown column 'filter' in 'where clause' --- install/sql/incremental/upd_0070.sql | 1 + install/sql/ispconfig3.sql | 1 + install/tpl/debian6_dovecot-sql.conf.master | 2 +- install/tpl/fedora_dovecot-sql.conf.master | 2 +- install/tpl/opensuse_dovecot-sql.conf.master | 2 +- interface/web/mail/mail_user_edit.php | 2 +- 6 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 install/sql/incremental/upd_0070.sql diff --git a/install/sql/incremental/upd_0070.sql b/install/sql/incremental/upd_0070.sql new file mode 100644 index 0000000000..37f667e70f --- /dev/null +++ b/install/sql/incremental/upd_0070.sql @@ -0,0 +1 @@ +ALTER TABLE `mail_user` ADD `disablesieve-filter` ENUM( 'y', 'n' ) NOT NULL DEFAULT 'n' AFTER `disablesieve`; diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 55f4ed4102..116ec145e9 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -910,6 +910,7 @@ CREATE TABLE `mail_user` ( `disabledeliver` enum('n','y') NOT NULL default 'n', `disablesmtp` enum('n','y') NOT NULL default 'n', `disablesieve` enum('n','y') NOT NULL default 'n', + `disablesieve-filter` enum('n','y') NOT NULL default 'n', `disablelda` enum('n','y') NOT NULL default 'n', `disablelmtp` enum('n','y') NOT NULL default 'n', `disabledoveadm` enum('n','y') NOT NULL default 'n', diff --git a/install/tpl/debian6_dovecot-sql.conf.master b/install/tpl/debian6_dovecot-sql.conf.master index 1fb6101abc..86eb4df6fe 100644 --- a/install/tpl/debian6_dovecot-sql.conf.master +++ b/install/tpl/debian6_dovecot-sql.conf.master @@ -14,7 +14,7 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se default_pass_scheme = CRYPT password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%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 (login = '%u' OR email = '%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 (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # Do not enable it on Dovecot 1.x servers diff --git a/install/tpl/fedora_dovecot-sql.conf.master b/install/tpl/fedora_dovecot-sql.conf.master index d7389896ec..faf3be286c 100644 --- a/install/tpl/fedora_dovecot-sql.conf.master +++ b/install/tpl/fedora_dovecot-sql.conf.master @@ -134,7 +134,7 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se default_pass_scheme = CRYPT password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%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 (login = '%u' OR email = '%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 (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # Do not enable it on Dovecot 1.x servers diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master index de652c4fe1..e33603a1c2 100644 --- a/install/tpl/opensuse_dovecot-sql.conf.master +++ b/install/tpl/opensuse_dovecot-sql.conf.master @@ -134,7 +134,7 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se default_pass_scheme = CRYPT password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%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 (login = '%u' OR email = '%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 (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # Do not enable it on Dovecot 1.x servers diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php index f71aa7de58..4a3dc55f44 100644 --- a/interface/web/mail/mail_user_edit.php +++ b/interface/web/mail/mail_user_edit.php @@ -300,7 +300,7 @@ class page_action extends tform_actions { $disabledeliver = ($this->dataRecord["postfix"] == 'y')?'n':'y'; $disablesmtp = ($this->dataRecord["postfix"] == 'y')?'n':'y'; - $sql = "UPDATE mail_user SET disableimap = '$disableimap', disablesieve = '$disableimap', disablepop3 = '$disablepop3', disablesmtp = '$disablesmtp', disabledeliver = '$disabledeliver', disablelda = '$disabledeliver', disabledoveadm = '$disableimap' WHERE mailuser_id = ".$this->id; + $sql = "UPDATE mail_user SET disableimap = '$disableimap', disablesieve = '$disableimap', disablesieve-filter = '$disableimap', disablepop3 = '$disablepop3', disablesmtp = '$disablesmtp', disabledeliver = '$disabledeliver', disablelda = '$disabledeliver', disabledoveadm = '$disableimap' WHERE mailuser_id = ".$this->id; $app->db->query($sql); } -- GitLab