Re: dsync and sieve again

2021-03-01 Thread Sami Ketola
Hi,

imapc does not sync sieve scripts. You need to use native doveadm protocol.

Sami


> On 25. Feb 2021, at 20.56, Edgaras Lukoševičius 
>  wrote:
> 
> Then what is a correct configuration? Because I was not able to get it to 
> work.
> 
> It is a simple setup using VirtualUsers, Maildir format, Home and Mail 
> directories are separate as per documentation here 
> https://wiki2.dovecot.org/VirtualUsers/Home, and here: 
> https://doc.dovecot.org/configuration_manual/mail_location/
> 
> Both of the hosts have exactly same versions, and exactly same configurations 
> (except for hostnames of course)
> 
> ManageSieve, and Sieve itself is working (tested), and while I was going 
> through all the steps and configuration variations I have also enabled 
> imap_sieve plugin.
> 
> Directory layout on source.host.tld:
> 
> /home/vmail/d/o/domin.tld/local
> ├── Maildir
> │   ├── cur
> │   ├── new
> │   ├── tmp
> │   ├── dovecot.index.log
> │   ├── dovecot.list.index.log
> │   ├── dovecot-uidlist
> │   ├── dovecot-uidvalidity
> │   ├── dovecot-uidvalidity.602d8428
> │   └── subscriptions
> └── sieve
> │   ├── script.sieve
> │   └── tmp
> └── .dovecot.sieve -> sieve/script.sieve
> 
> I have tried to pull data from source: /usr/bin/dsync -Dv -o 
> imapc_host=source.host.tld -o  imapc_port=143 -o imapc_user=lo...@domain.tld 
> -o imapc_password=123456789 sync -1 -R -f -u lo...@domain.tld imapc:
> 
> I have also tried to push data to destination: /usr/bin/dsync -Dv -o 
> imapc_host=destination.host.tld -o  imapc_port=143 -o 
> imapc_user=lo...@domain.tld -o imapc_password=123456789 sync -1 -f -u 
> lo...@domain.tld imapc:
> 
> Output of dsync is as follows:
> 
> 
> Debug: Loading modules from directory: /usr/lib64/dovecot
> Debug: Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so
> Debug: Module loaded: /usr/lib64/dovecot/lib20_quota_clone_plugin.so
> Debug: Module loaded: /usr/lib64/dovecot/lib20_zlib_plugin.so
> Debug: Loading modules from directory: /usr/lib64/dovecot/doveadm
> Debug: Module loaded: /usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
> Debug: Module loaded: /usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
> ...
> dsync(edga...@hoslinger.com): Debug: imapc(source.host.tld:143): Server 
> capabilities: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ 
> STARTTLS AUTH=PLAIN AUTH=LOGIN
> dsync(edga...@hoslinger.com): Debug: imapc(source.host.tld:143): 
> Authenticating as lo...@domain.tld
> dsync(edga...@hoslinger.com): Debug: imapc(source.host.tld:143): Server 
> capabilities: IMAP4rev1 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 BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE 
> LITERAL+ NOTIFY SPECIAL-USE IMAPSIEVE=sieve://source.host.tld:4190 QUOTA
> ...
> dsync(lo...@domain.tld): Debug: doveadm-sieve: Iterating Sieve mailbox 
> attributes
> dsync(lo...@domain.tld): Debug: sieve: Pigeonhole version 0.5.13 (cdd19fe3) 
> initializing
> dsync(lo...@domain.tld): Debug: sieve: include: sieve_global is not set; it 
> is currently not possible to include `:global' scripts.
> dsync(lo...@domain.tld): Debug: sieve: Sieve imapsieve plugin for Pigeonhole 
> version 0.5.13 (cdd19fe3) loaded
> dsync(lo...@domain.tld): Debug: sieve: Sieve Extprograms plugin for 
> Pigeonhole version 0.5.13 (cdd19fe3) loaded
> dsync(lo...@domain.tld): Debug: sieve: file storage: Using active Sieve 
> script path: /home/vmail/d/o/domin.tld/local/.dovecot.sieve
> dsync(lo...@domain.tld): Debug: sieve: file storage: Using script storage 
> path: /home/vmail/d/o/domin.tld/local/sieve
> dsync(lo...@domain.tld): Debug: sieve: file storage: Using permissions from 
> /home/vmail/d/o/domin.tld/local/sieve: mode=0700 gid=-1
> dsync(lo...@domain.tld): Debug: sieve: file storage: Relative path to sieve 
> storage in active link: sieve/
> dsync(lo...@domain.tld): Debug: sieve: file storage: sync: Synchronization 
> active
> 
> ...
> dsync(lo...@domain.tld): Debug: brain M: Import INBOX: Last common UID=0. 
> Delayed expunges=
> dsync(lo...@domain.tld): Debug: brain M: Import INBOX: Saved UIDs:
> dsync(lo...@domain.tld): Debug: brain M: Import INBOX: Finish update: 
> min_next_uid=1 min_first_recent_uid=1 min_highest_modseq=1 
> min_highest_pvt_modseq=0
> ...
> dsync(lo...@domain.tld): Debug: imapc(source.host.tld:143): Disconnected
> dsync(lo...@domain.tld): Debug: auth-master: conn 
> unix:/var/run/dovecot/auth-userdb (pid=3284,uid=0): Disconnected: Connection 
> closed (fd=10)
> ...
> 
> 
> 
> Configuration on both hosts is as follows
> 
> # 2.3.13 (89f716dc2): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.5.13 (cdd19fe3)
> # OS: Linux 3.10.0-1062.18.1.el7.x86_64 x86_64 CentOS Linux release 7.7.1908 
> (Core)
> # Hostname: destination.domain.tld
> # 

Re: dsync and sieve again

2021-02-25 Thread Edgaras Lukoševičius
Then what is a correct configuration? Because I was not able to get it 
to work.


It is a simple setup using VirtualUsers, Maildir format, Home and Mail 
directories are separate as per documentation here 
https://wiki2.dovecot.org/VirtualUsers/Home, and here: 
https://doc.dovecot.org/configuration_manual/mail_location/


Both of the hosts have exactly same versions, and exactly same 
configurations (except for hostnames of course)


ManageSieve, and Sieve itself is working (tested), and while I was going 
through all the steps and configuration variations I have also enabled 
imap_sieve plugin.


Directory layout on source.host.tld:

/home/vmail/d/o/domin.tld/local
├── Maildir
│   ├── cur
│   ├── new
│   ├── tmp
│   ├── dovecot.index.log
│   ├── dovecot.list.index.log
│   ├── dovecot-uidlist
│   ├── dovecot-uidvalidity
│   ├── dovecot-uidvalidity.602d8428
│   └── subscriptions
└── sieve
│   ├── script.sieve
│   └── tmp
└── .dovecot.sieve -> sieve/script.sieve

I have tried to pull data from source: /usr/bin/dsync -Dv -o 
imapc_host=source.host.tld -o  imapc_port=143 -o 
imapc_user=lo...@domain.tld -o imapc_password=123456789 sync -1 -R -f -u 
lo...@domain.tld imapc:


I have also tried to push data to destination: /usr/bin/dsync -Dv -o 
imapc_host=destination.host.tld -o  imapc_port=143 -o 
imapc_user=lo...@domain.tld -o imapc_password=123456789 sync -1 -f -u 
lo...@domain.tld imapc:


Output of dsync is as follows:


Debug: Loading modules from directory: /usr/lib64/dovecot
Debug: Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so
Debug: Module loaded: /usr/lib64/dovecot/lib20_quota_clone_plugin.so
Debug: Module loaded: /usr/lib64/dovecot/lib20_zlib_plugin.so
Debug: Loading modules from directory: /usr/lib64/dovecot/doveadm
Debug: Module loaded: 
/usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so
Debug: Module loaded: 
/usr/lib64/dovecot/doveadm/lib10_doveadm_sieve_plugin.so

...
dsync(edga...@hoslinger.com): Debug: imapc(source.host.tld:143): Server 
capabilities: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ 
STARTTLS AUTH=PLAIN AUTH=LOGIN
dsync(edga...@hoslinger.com): Debug: imapc(source.host.tld:143): 
Authenticating as lo...@domain.tld
dsync(edga...@hoslinger.com): Debug: imapc(source.host.tld:143): Server 
capabilities: IMAP4rev1 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 BINARY MOVE SNIPPET=FUZZY 
PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE 
IMAPSIEVE=sieve://source.host.tld:4190 QUOTA

...
dsync(lo...@domain.tld): Debug: doveadm-sieve: Iterating Sieve mailbox 
attributes
dsync(lo...@domain.tld): Debug: sieve: Pigeonhole version 0.5.13 
(cdd19fe3) initializing
dsync(lo...@domain.tld): Debug: sieve: include: sieve_global is not set; 
it is currently not possible to include `:global' scripts.
dsync(lo...@domain.tld): Debug: sieve: Sieve imapsieve plugin for 
Pigeonhole version 0.5.13 (cdd19fe3) loaded
dsync(lo...@domain.tld): Debug: sieve: Sieve Extprograms plugin for 
Pigeonhole version 0.5.13 (cdd19fe3) loaded
dsync(lo...@domain.tld): Debug: sieve: file storage: Using active Sieve 
script path: /home/vmail/d/o/domin.tld/local/.dovecot.sieve
dsync(lo...@domain.tld): Debug: sieve: file storage: Using script 
storage path: /home/vmail/d/o/domin.tld/local/sieve
dsync(lo...@domain.tld): Debug: sieve: file storage: Using permissions 
from /home/vmail/d/o/domin.tld/local/sieve: mode=0700 gid=-1
dsync(lo...@domain.tld): Debug: sieve: file storage: Relative path to 
sieve storage in active link: sieve/
dsync(lo...@domain.tld): Debug: sieve: file storage: sync: 
Synchronization active


...
dsync(lo...@domain.tld): Debug: brain M: Import INBOX: Last common 
UID=0. Delayed expunges=

dsync(lo...@domain.tld): Debug: brain M: Import INBOX: Saved UIDs:
dsync(lo...@domain.tld): Debug: brain M: Import INBOX: Finish update: 
min_next_uid=1 min_first_recent_uid=1 min_highest_modseq=1 
min_highest_pvt_modseq=0

...
dsync(lo...@domain.tld): Debug: imapc(source.host.tld:143): Disconnected
dsync(lo...@domain.tld): Debug: auth-master: conn 
unix:/var/run/dovecot/auth-userdb (pid=3284,uid=0): Disconnected: 
Connection closed (fd=10)

...



Configuration on both hosts is as follows

# 2.3.13 (89f716dc2): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.13 (cdd19fe3)
# OS: Linux 3.10.0-1062.18.1.el7.x86_64 x86_64 CentOS Linux release 
7.7.1908 (Core)

# Hostname: destination.domain.tld
# NOTE: Send doveconf -n output instead when asking for help.
auth_anonymous_username = anonymous
auth_cache_negative_ttl = 1 hours
auth_cache_size = 0
auth_cache_ttl = 1 hours
auth_cache_verify_password_with_worker = no
auth_debug = no
auth_debug_passwords = no
auth_default_realm =
auth_failure_delay = 2 secs
auth_gssapi_hostname =
auth_krb5_keytab =

Re: dsync and sieve again

2021-02-22 Thread Sami Ketola



> On 17. Feb 2021, at 23.53, Edgaras Lukoševičius 
>  wrote:
> 
> Hi,
> 
> I'm starting to wonder if dsync is supposed to sync sieve scripts at all? Or 
> should it work only as a part of replicator? Because I was not able to get it 
> working on multiple Dovecot and Pigeon versions, and I see lots of 
> replication/dsync and sieve related questions in the mailing list.
> 
> I'm trying to get it to work using latest versions on 
> http://repo.dovecot.org/ce-2.3-latest repo.
> 
> The versions I am testing at the moment are:
> - Dovecot 2.3.13 (89f716dc2)
> - Pigeonhole 0.5.13 (cdd19fe3)
> 
> It's a straightforward setup, nothing fancy. So the question is - is it 
> supposed to work at all without replicator?
> 

It does sync sieve scripts as long as you have the plugin installed in both 
ends and have correct configuration
regarding sieve script location.

Sami