Re: Vacation Fcc

2019-10-14 Thread Gregory Heytings via dovecot






In the meantime (or if supporting ":fcc" is not planned), is it 
possible to achieve the same result with the existing Sieve 
extensions?  (I can imagine a way to do this at the MTA level by 
checking the presence of the "Auto-Submitted:" header, but did not 
test it.)


I can't think of any means to do that within the Sieve language.



I'll try to find a way to do it at the MTA level, but it seems more 
complicated than what I initially thought.




For the record, it seems that this can't be done with Postfix, at least 
not in a simple way.  One option would be to keep a copy of all emails 
with 'always_bcc', and to forward autoreplied emails to the individual 
user mailboxes.  Another option would be to write a specific milter, but 
this is beyond my abilities.





Will ":fcc" be supported in the future?


I'd say yes, but it is not simple to implement, nor is it high up in 
our list of priorities.




Perhaps ":fcc" is not simple to implement, but I personally would already 
be happy with a ":bcc" option, which would send a blind-carbon copy of the 
message to the given email address.  Is this not easier to implement?


Gregory

Re: Vacation Fcc

2019-10-14 Thread Gregory Heytings via dovecot


Hi Stephan,

Thanks for your answer!



I use Dovecot's Pigeonhole Sieve implementation, and there is one 
little feature I'm missing:  When a vacation message is sent, I'd like 
to keep a copy of that message in my "sent" mailbox.


There is an RFC draft (draft-ietf-extra-sieve-fcc-09) for this, which 
adds a ":fcc" argument to vacation, but apparently it's not supported 
by Pigeonhole.


Actually, it is RFC already: https://tools.ietf.org/html/rfc8580 .



Okay, thanks for the pointer!




I have two questions:

Will ":fcc" be supported in the future?


I'd say yes, but it is not simple to implement, nor is it high up in our 
list of priorities.




Okay, so I'd better look for another solution in the meantime...



In the meantime (or if supporting ":fcc" is not planned), is it 
possible to achieve the same result with the existing Sieve 
extensions?  (I can imagine a way to do this at the MTA level by 
checking the presence of the "Auto-Submitted:" header, but did not test 
it.)


I can't think of any means to do that within the Sieve language.



I'll try to find a way to do it at the MTA level, but it seems more 
complicated than what I initially thought.


Best,

Gregory

Re: Vacation Fcc

2019-10-14 Thread Stephan Bosch via dovecot




On 11/10/2019 10:24, Gregory Heytings via dovecot wrote:


Hi list,

I use Dovecot's Pigeonhole Sieve implementation, and there is one 
little feature I'm missing:  When a vacation message is sent, I'd like 
to keep a copy of that message in my "sent" mailbox.


There is an RFC draft (draft-ietf-extra-sieve-fcc-09) for this, which 
adds a ":fcc" argument to vacation, but apparently it's not supported 
by Pigeonhole.


Actually, it is RFC already: https://tools.ietf.org/html/rfc8580 .


I have two questions:

Will ":fcc" be supported in the future?


I'd say yes, but it is not simple to implement, nor is it high up in our 
list of priorities.


In the meantime (or if supporting ":fcc" is not planned), is it 
possible to achieve the same result with the existing Sieve 
extensions?  (I can imagine a way to do this at the MTA level by 
checking the presence of the "Auto-Submitted:" header, but did not 
test it.)


I can't think of any means to do that within the Sieve language.

Regards,

Stephan.


Re: Panic: file smtp-client-connection.c: line 1212 (smtp_client_connection_established): assertion failed: (!conn->connect_succeeded)

2019-10-14 Thread Stephan Bosch via dovecot




On 11/10/2019 10:06, Hativ via dovecot wrote:

Hello Aki,

I have this problem just with 2.3.8, my self-compiled 2.3.3 works 
fine. I have previously tried to update from 2.3.3 to higher versions 
(possibly 2.3.5 or so), but always had this error, which is why I am 
always back to 2.3.3.


This bug was already known. It is tracked internally as DOV-3600. Looks 
like it will be put through somewhat soon.


Regards,

Stephan.


Configuration is exactly the same.

Here my output from "doveconf -n":

# 2.3.8 (9df20d2db): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.8 (b7b03ba2)
# OS: Linux 4.15.0-65-generic x86_64 Ubuntu 18.04.3 LTS
# Hostname: srv2
auth_mechanisms = plain login
default_login_user = dovecot-login
default_vsz_limit = 1 G
dict {
  quota = mysql:/etc/dovecot/dovecot-quota.conf.ext
}
doveadm_password = # hidden, use -P to show it
doveadm_port = 12345
haproxy_trusted_networks = 10.201.29.33 fec0:4f8:1c1c:3440::1 
10.46.163.91 fec0:4f8:1c17:4548::1 10.216.147.248 fec0:4f9:c010:bec::1

hostname = mda1-2.example.com
imap_capability = +XLIST
imap_id_send =
imap_idle_notify_interval = 30 mins
listen = 10.46.163.91, fec0:4f8:1c17:4548::1
lmtp_rcpt_check_quota = yes
mail_attribute_dict = file:%h/dovecot-attributes
mail_debug = yes
mail_gid = dovecot-mail
mail_home = /srv/mail/%d/%n
mail_location = sdbox:~/
mail_max_userip_connections = 20
mail_plugins = " acl mail_crypt mail_log notify quota quota_clone 
replication"

mail_uid = dovecot-mail
mail_vsize_bg_after_count = 100
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope 
encoded-character vacation subaddress comparator-i;ascii-numeric 
relational regex imap4flags copy include variables body enotify 
environment mailbox date index ihave duplicate mime foreverypart 
extracttext imapsieve vnd.dovecot.imapsieve

namespace INBOX {
  inbox = yes
  location =
  mailbox Drafts {
auto = subscribe
special_use = \Drafts
  }
  mailbox Junk {
auto = subscribe
special_use = \Junk
  }
  mailbox Sent {
auto = subscribe
special_use = \Sent
  }
  mailbox Trash {
auto = subscribe
special_use = \Trash
  }
  prefix =
}
namespace Shared {
  list = children
  location = sdbox:%%h/:INDEXPVT=~/shares/%%u
  prefix = Shared/%%u/
  subscriptions = yes
  type = shared
}
passdb {
  args = /etc/dovecot/dovecot-auth.conf.ext
  driver = sql
}
plugin {
  acl = vfile
  acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db
  imapsieve_mailbox1_before = file:/etc/dovecot/sieve/report-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/etc/dovecot/sieve/report-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = INBOX
  mail_crypt_curve = secp521r1
  mail_crypt_save_version = 0
  mail_log_events = copy delete expunge flag_change mailbox_create 
mailbox_delete mailbox_rename undelete save

  mail_log_fields = uid box msgid size from subject
  mail_replica = tcps:mda1-1.example.com
  quota = count
  quota_clone_dict = proxy::quota
  quota_rule = *:bytes=0
  quota_vsizes = yes
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_after = /etc/dovecot/sieve-after
  sieve_before = /etc/dovecot/sieve-before
  sieve_global_extensions = +vnd.dovecot.pipe
  sieve_pipe_bin_dir = /usr/bin/
  sieve_plugins = sieve_extprograms sieve_imapsieve
}
postmaster_address = postmas...@example.com 


protocols = imap lmtp sieve submission
service aggregator {
  fifo_listener replication-notify-fifo {
user = $mail_uid
  }
  unix_listener replication-notify {
user = $mail_uid
  }
}
service doveadm {
  inet_listener {
port = 12345
ssl = yes
  }
}
service imap-login {
  inet_listener imap {
port = 0
  }
  inet_listener imaps {
haproxy = yes
  }
}
service lmtp {
  inet_listener lmtp {
address = $listen
port = 24
  }
}
service managesieve-login {
  inet_listener sieve {
haproxy = yes
ssl = yes
  }
}
service replicator {
  process_min_avail = 1
  unix_listener replicator-doveadm {
mode = 0600
user = $mail_uid
  }
}
service submission-login {
  inet_listener submission {
haproxy = yes
port = 465
ssl = yes
  }
}
ssl = required
ssl_alt_cert = ssl_cipher_list = 
TLS-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:TLS-AES-256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:TLS-AES-128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256

ssl_client_ca_file = /etc/ssl/certs/ca-certificates.crt
ssl_curve_list = X25519:secp521r1:secp384r1
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
ssl_options = no_ticket
ssl_prefer_server_ciphers = yes
submission_client_workarounds = whitespace-before-path
submission_max_mail_size = 5 k
submission_relay_host = mta2.example.com
submission_relay_ssl = starttls
submission_relay_trusted = yes
userdb {
  driver = prefetch
}
userdb 

Re: Sieve replication - Debian 9.11 - Dovecot 2.2.7 - script changes not replicated

2019-10-14 Thread Stephan Bosch via dovecot




On 09/10/2019 18:07, Daniel Botting via dovecot wrote:

Hi,

I am trying to setup Sieve replication, it is almost working:

1/ Create a script - sync'd across

2/ Activate/de-activate a script - change sync'd

3/ Delete a script - change sync'd

But if I make a change to a script it is not replicated, unless I 
de-activate and activate again.


I am seeing in the logs the below during this process 
(de-activating/activating):


Oct  9 17:01:39 hostname dovecot: dsync-local(a_user): Debug: 
doveadm-sieve: Iterating Sieve mailbox attribute: 
vendor/vendor.dovecot/pvt/server/sieve/files/0910-active-1640


Oct  9 17:01:39 hostname dovecot: dsync-local(a_user): Debug: 
doveadm-sieve: Value missing for key 
`vendor/vendor.dovecot/pvt/server/sieve/default' (last change: 
2019-10-09 17:01:37)




Sieve replication bugs were solved recently. You're running a very old 
version. Try https://repo.dovecot.org/ instead.


Regards,

Stephan.


# 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 4.9.0-3-amd64 x86_64 Debian 9.11
auth_debug = yes
auth_debug_passwords = yes
auth_verbose = yes
default_vsz_limit = 0
doveadm_password =  # hidden, use -P to show it
first_valid_gid = 8
first_valid_uid = 8
last_valid_gid = 8
last_valid_uid = 8
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
mail_debug = yes
mail_gid = 8
mail_location = maildir:~/Maildir
mail_plugins = " notify replication"
mail_uid = 8
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope 
encoded-character vacation subaddress comparator-i;ascii-numeric 
relational regex imap4flags copy include variables body enotify 
environment mailbox date index ihave duplicate mime foreverypart 
extracttext editheader imapflags

namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  mail_replica = tcps:replication_server_url:port_number
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_extensions = +editheader +imapflags
}
protocols = " imap sieve pop3"
replication_max_conns = 4
service aggregator {
  fifo_listener replication-notify-fifo {
    user = mail
  }
  unix_listener replication-notify {
    user = mail
  }
}
service auth {
  unix_listener /var/run/dovecot-exim-bridge {
    mode = 0660
    user = Debian-exim
  }
}
service doveadm {
  inet_listener {
    port = 12345
    ssl = yes
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
  process_limit = 512
  process_min_avail = 4
  service_count = 1
}
service imap {
  process_limit = 1024
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  process_min_avail = 1
  service_count = 8
  vsz_limit = 256 M
}
service managesieve {
  process_limit = 1024
}
service replicator {
  process_min_avail = 1
  unix_listener replicator-doveadm {
    mode = 0666
  }
}
ssl = required
ssl_cert =