Re: My Dsync isn't replicating 'EXPUNGE' IMAP command

2014-09-16 Thread lis...@adminlinux.com.br
I made a change in 'mail_plugins' directive, enabling 'notify' and 
'replication' globally in dovecot.conf.


Now, in my tests, the second server sees the replication of the EXPUNGE 
command only after running a SELECT command (or an click in the folder 
on MUA).


Is this the expected behavior?

* I tested with IMAP talk (telnet) and Thunderbird.

Thanks!
--
Thiago Henrique


Re: My Dsync isn't replicating 'EXPUNGE' IMAP command

2014-09-10 Thread Listas@Adminlinux
Dsync really is not working for EXPUNGE Imap command. This seems to be a 
bug in version 2.2.13. Someone else was touched by it?


Thanks!
Thiago

Em 09-09-2014 15:56, Listas@Adminlinux escreveu:

Hi!

I have two Dovecot-2.2.13 servers with Dsync Replication: server1 and
server2.

When I execute 'EXPUNGE' on server1 side, the messages with FLAG
\Deleted are expunged only on server1. The message is still present in
Server2.

Could someone give me a hint reason for this ?
Thanks in advance!
--
Thiago Henrique

==
How I reproduce:

== ON SERVER1 ==

Client: $ telnet IP server1 143
 Trying IP server1...
 Connected to IP server1.
 Escape character is '^]'.
Server:* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR
LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] MAILBOX1 IMAP/POP3
server

Client:AUTH LOGIN user pass
Server:AUTH OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR
LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES
THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE
UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE
QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS
SPECIAL-USE BINARY MOVE QUOTA] Logged in

Client:A002 SELECT INBOX
Server:* FLAGS (\Answered \Flagged \Deleted \Seen \Draft nonjunk)
 * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft
nonjunk \*)] Flags permitted.
 * 2 EXISTS
 * 0 RECENT
 * OK [UNSEEN 1] First unseen.
 * OK [UIDVALIDITY 1410284221] UIDs valid
 * OK [UIDNEXT 16] Predicted next UID
 * OK [HIGHESTMODSEQ 56] Highest
 A002 OK [READ-WRITE] Select completed (0.000 secs).

Client:A003 FETCH 1:* (UID FLAGS)
Server:* 1 FETCH (UID 13 FLAGS (nonjunk))
 * 2 FETCH (UID 15 FLAGS (nonjunk))
 A003 OK Fetch completed.

Client:A005 STORE 1 +FLAGS \Deleted
Server:* 1 FETCH (FLAGS (\Deleted nonjunk))
 A005 OK Store completed.

Client:A003 FETCH 1:* (UID FLAGS)
Server:* 1 FETCH (UID 13 FLAGS (\Deleted nonjunk))
 * 2 FETCH (UID 15 FLAGS (nonjunk))
 A003 OK Fetch completed.

Client:A006 EXPUNGE
Server:* 1 EXPUNGE
 A006 OK Expunge completed.

Client:A007 FETCH 1:* (UID FLAGS)
Server:* 1 FETCH (UID 15 FLAGS (nonjunk))
 A007 OK Fetch completed.

Client:A008 LOGOUT
Server:* BYE Logging out
 A008 OK Logout completed.
 Connection closed by foreign host.

== ON SERVER2 ==

Client:$ telnet IP server2 143
 Trying IP server2...
 Connected to IP server2.
 Escape character is '^]'.
Server:* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR
LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] MAILBOX2 IMAP/POP3
server

Client:AUTH LOGIN user pass
Server:AUTH OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR
LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES
THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE
UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE
QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS
SPECIAL-USE BINARY MOVE QUOTA] Logged in

Client:A002 SELECT INBOX
Server:* FLAGS (\Answered \Flagged \Deleted \Seen \Draft nonjunk)
 * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft
nonjunk \*)] Flags permitted.
 * 2 EXISTS
 * 0 RECENT
 * OK [UNSEEN 1] First unseen.
 * OK [UIDVALIDITY 1410284221] UIDs valid
 * OK [UIDNEXT 17] Predicted next UID
 * OK [HIGHESTMODSEQ 61] Highest
 A002 OK [READ-WRITE] Select completed (0.000 secs).

Client:A003 FETCH 1:* (UID FLAGS)
Server:* 1 FETCH (UID 13 FLAGS (\Deleted nonjunk))
 * 2 FETCH (UID 15 FLAGS (nonjunk))
 A003 OK Fetch completed.

Client:A008 LOGOUT
Server:* BYE Logging out
 A008 OK Logout completed.
 Connection closed by foreign host.


= My settings =

* My settins age identical on both server1 and server2, except by
'listen', 'address' and 'mail_replica' directives.

# doveconf -n
# 2.2.13 (6bb26098a45c): /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-30-generic x86_64 Ubuntu 14.04.1 LTS
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_chars =
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@=
auth_worker_max_count = 1
disable_plaintext_auth = no
doveadm_password = secret
doveadm_port = 12345
listen = server1
log_path = /var/log/dovecot.log
login_greeting = MAILBOX1 IMAP/POP3 server
mail_fsync = never
mail_gid = dovemail
mail_plugins =  notify replication quota
mail_uid = dovemail
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
passdb {
   args = /etc/dovecot/dovecot-sql-master.conf.ext
   driver 

My Dsync isn't replicating 'EXPUNGE' IMAP command

2014-09-09 Thread Listas@Adminlinux

Hi!

I have two Dovecot-2.2.13 servers with Dsync Replication: server1 and 
server2.


When I execute 'EXPUNGE' on server1 side, the messages with FLAG 
\Deleted are expunged only on server1. The message is still present in 
Server2.


Could someone give me a hint reason for this ?
Thanks in advance!
--
Thiago Henrique

==
How I reproduce:

== ON SERVER1 ==

Client: $ telnet IP server1 143
Trying IP server1...
Connected to IP server1.
Escape character is '^]'.
Server:		* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID 
ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] MAILBOX1 IMAP/POP3 server


Client: AUTH LOGIN user pass
Server:		AUTH OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS 
ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS 
THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN 
NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH 
ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY 
MOVE QUOTA] Logged in


Client: A002 SELECT INBOX
Server: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft nonjunk)
		* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft nonjunk 
\*)] Flags permitted.

* 2 EXISTS
* 0 RECENT
* OK [UNSEEN 1] First unseen.
* OK [UIDVALIDITY 1410284221] UIDs valid
* OK [UIDNEXT 16] Predicted next UID
* OK [HIGHESTMODSEQ 56] Highest
A002 OK [READ-WRITE] Select completed (0.000 secs).

Client: A003 FETCH 1:* (UID FLAGS)
Server: * 1 FETCH (UID 13 FLAGS (nonjunk))
* 2 FETCH (UID 15 FLAGS (nonjunk))
A003 OK Fetch completed.

Client: A005 STORE 1 +FLAGS \Deleted
Server: * 1 FETCH (FLAGS (\Deleted nonjunk))
A005 OK Store completed.

Client: A003 FETCH 1:* (UID FLAGS)
Server: * 1 FETCH (UID 13 FLAGS (\Deleted nonjunk))
* 2 FETCH (UID 15 FLAGS (nonjunk))
A003 OK Fetch completed.

Client: A006 EXPUNGE
Server: * 1 EXPUNGE
A006 OK Expunge completed.

Client: A007 FETCH 1:* (UID FLAGS)
Server: * 1 FETCH (UID 15 FLAGS (nonjunk))
A007 OK Fetch completed.

Client: A008 LOGOUT
Server: * BYE Logging out
A008 OK Logout completed.
Connection closed by foreign host.

== ON SERVER2 ==

Client: $ telnet IP server2 143
Trying IP server2...
Connected to IP server2.
Escape character is '^]'.
Server:		* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID 
ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] MAILBOX2 IMAP/POP3 server


Client: AUTH LOGIN user pass
Server:		AUTH OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS 
ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS 
THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN 
NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH 
ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY 
MOVE QUOTA] Logged in


Client: A002 SELECT INBOX
Server: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft nonjunk)
		* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft nonjunk 
\*)] Flags permitted.

* 2 EXISTS
* 0 RECENT
* OK [UNSEEN 1] First unseen.
* OK [UIDVALIDITY 1410284221] UIDs valid
* OK [UIDNEXT 17] Predicted next UID
* OK [HIGHESTMODSEQ 61] Highest
A002 OK [READ-WRITE] Select completed (0.000 secs).

Client: A003 FETCH 1:* (UID FLAGS)
Server: * 1 FETCH (UID 13 FLAGS (\Deleted nonjunk))
* 2 FETCH (UID 15 FLAGS (nonjunk))
A003 OK Fetch completed.

Client: A008 LOGOUT
Server: * BYE Logging out
A008 OK Logout completed.
Connection closed by foreign host.


= My settings =

* My settins age identical on both server1 and server2, except by 
'listen', 'address' and 'mail_replica' directives.


# doveconf -n
# 2.2.13 (6bb26098a45c): /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-30-generic x86_64 Ubuntu 14.04.1 LTS
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_chars = 
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@=

auth_worker_max_count = 1
disable_plaintext_auth = no
doveadm_password = secret
doveadm_port = 12345
listen = server1
log_path = /var/log/dovecot.log
login_greeting = MAILBOX1 IMAP/POP3 server
mail_fsync = never
mail_gid = dovemail
mail_plugins =  notify replication quota
mail_uid = dovemail
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
passdb {
  args =