Remove empty milder folders

2017-01-16 Thread @lbutlr
Not sure if anyone will find this useful, but this is how I deleted a bunch 
(several hundred) of empty mail folders from a user account:

# doveadm mailbox status -u “u...@example.com" messages "*" ALL | grep "=0" | 
awk -F= '{print $1}' | awk '{print "rm -rf ."$1}' > list

then I looked over list just to be sure it wasn’t mucked up and in the users 
root maildir:

# sh < list

and done.

I probably could do some research on how to combine those two awk pipes but 
this worked, and it was fast.

-- 
Apple broke AppleScripting signatures in Mail.app, so no random signatures.


Re: Replication: Can't unsubscribe from shared mailbox

2017-01-16 Thread Karsten Heiken

Hi all,

I hope it's okay to bump this once after four months.

In the meantime we updated to 2.2.26.0 and our problem still persists:
After unsubscribing from a shared mailbox, the subscription instantly 
re-appears.
A pcap was attached to my original mail, in case it has something to do with 
dsync:
http://dovecot.org/pipermail/dovecot/2016-September/105419.html

Is anyone on this mailing list using replication in combination with shared 
folders?
Does this problem exist for anyone else? I would love to hear from people who 
got this working or if anyone else is affected by this.

My original post is at the end of this email; the current doveconf is also 
attached.


Thank you very much,

Karsten

# doveconf -n
# 2.2.26.0 (23d1de6): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6
auth_cache_size = 10 M
auth_cache_ttl = 2 hours
default_vsz_limit = 1 G
dict {
  acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
lmtp_rcpt_check_quota = yes
login_trusted_networks = xxx
mail_attribute_dict = file:%h/dovecot-attributes
mail_gid = 
mail_location = mdbox:%h/mdbox
mail_plugins = " zlib quota acl notify replication"
mail_server_admin = mailto:postmaster@xxx
mail_server_comment = xxx
mail_shared_explicit_inbox = yes
mail_uid = 
mailbox_list_index = yes
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 imapflags notify
mdbox_rotate_size = 10 M
namespace {
  hidden = no
  ignore_on_failure = no
  inbox = no
  list = children
  location = mdbox:%%h/mdbox:INDEXPVT=%h/shared/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = no
  type = shared
}
namespace inbox {
  hidden = no
  inbox = yes
  list = yes
  location =
  mailbox 30dTrash {
auto = subscribe
autoexpunge = 30 days
special_use = \Junk
  }
  mailbox Drafts {
auto = subscribe
special_use = \Drafts
  }
  mailbox Sent {
auto = subscribe
special_use = \Sent
  }
  mailbox Trash {
auto = subscribe
special_use = \Trash
  }
  prefix =
  separator = /
  subscriptions = yes
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  acl = vfile
  acl_shared_dict = proxy::acl
  mail_replica = tcp:xxx:24245
  quota = dict:User quota::noenforcing:file:%h/dovecot-quota
  quota_grace = 2%%
  quota_rule = *:storage=8G
  quota_status_nouser = DUNNO
  quota_status_overquota = DUNNO
  quota_status_success = DUNNO
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_extensions = +notify +imapflags
  sieve_max_actions = 250
  sieve_max_redirects = 200
  zlib_save = gz
  zlib_save_level = 6
}
postmaster_address = postmaster@xxx
protocols = " imap lmtp sieve pop3 sieve"
replication_dsync_parameters = -d -l 30 -U -N
replication_max_conns = 5
service aggregator {
  fifo_listener replication-notify-fifo {
user = vmail
  }
  unix_listener replication-notify {
user = vmail
  }
}
service auth {
  unix_listener auth-userdb {
group = vmail
user = vmail
  }
}
service dict {
  unix_listener dict {
group = vmail
mode = 0660
user = vmail
  }
}
service doveadm {
  inet_listener {
port = 24245
  }
}
service imap-login {
  process_min_avail = 16
  service_count = 0
}
service imap {
  executable = imap postlogin
  process_limit = 3
}
service lmtp {
  inet_listener lmtp {
port = 24
  }
  vsz_limit = 1 G
}
service managesieve-login {
  inet_listener sieve {
port = 4190
  }
}
service managesieve {
  process_limit = 1024
}
service pop3-login {
  process_min_avail = 4
  service_count = 0
}
service pop3 {
  process_limit = 2500
}
service postlogin {
  executable = script-login -d rawlog /usr/local/bin/dovecot-postlogin.sh
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  inet_listener {
port = 12340
  }
}
service replicator {
  process_min_avail = 1
  unix_listener replicator-doveadm {
mode = 0600
user = vmail
  }
}
shutdown_clients = no
ssl_cert = 
Hi,

I am running two dovecot servers active/active.
Everything runs pretty great, except for the replication of subscriptions in a 
shared namespace.

When I unsubscribe from a folder the subscription instantly re-appears. The 
timestamp on the subscriptions file is updated, but the entry is still in there.
If the other node is shut down, everything works as expected, which leads me to 
believe that the subscription is re-applied upon a replicator-run.

I attached a tcpdump of a dsync run.
The only action that was executed was to unsubscribe from the folder 
shared/wein...@luis.uni-hannover.de/INBOX.

Is there any other way I might help debugging this?


Thanks,
Karsten


# 2.2.24 (a82c823): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.13 (7b14904)
# OS: 

Re: Replication: Can't unsubscribe from shared mailbox

2017-01-16 Thread Mike Fröhner

Hi Karsten,

I have a similar issue with current 2.2.27 version on CentOS with public 
folder/namespaces on a active/active replication.


I am able to subscribe the public folder on one dovecot, but it is not 
replicated to the 2nd dovecot throught dsync. Everything else is fine 
with dsync, also the replication of the subscription of private/personal 
folder.


Currently I am trying to debug this at the source code, but my C is 
quite dusty.


Mike;

On 01/16/2017 03:19 PM, Karsten Heiken wrote:

Hi all,

I hope it's okay to bump this once after four months.

In the meantime we updated to 2.2.26.0 and our problem still persists:
After unsubscribing from a shared mailbox, the subscription instantly
re-appears.
A pcap was attached to my original mail, in case it has something to do
with dsync:
http://dovecot.org/pipermail/dovecot/2016-September/105419.html

Is anyone on this mailing list using replication in combination with
shared folders?
Does this problem exist for anyone else? I would love to hear from
people who got this working or if anyone else is affected by this.

My original post is at the end of this email; the current doveconf is
also attached.


Thank you very much,

Karsten

# doveconf -n
# 2.2.26.0 (23d1de6): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6
auth_cache_size = 10 M
auth_cache_ttl = 2 hours
default_vsz_limit = 1 G
dict {
  acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
lmtp_rcpt_check_quota = yes
login_trusted_networks = xxx
mail_attribute_dict = file:%h/dovecot-attributes
mail_gid = 
mail_location = mdbox:%h/mdbox
mail_plugins = " zlib quota acl notify replication"
mail_server_admin = mailto:postmaster@xxx
mail_server_comment = xxx
mail_shared_explicit_inbox = yes
mail_uid = 
mailbox_list_index = yes
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 imapflags notify
mdbox_rotate_size = 10 M
namespace {
  hidden = no
  ignore_on_failure = no
  inbox = no
  list = children
  location = mdbox:%%h/mdbox:INDEXPVT=%h/shared/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = no
  type = shared
}
namespace inbox {
  hidden = no
  inbox = yes
  list = yes
  location =
  mailbox 30dTrash {
auto = subscribe
autoexpunge = 30 days
special_use = \Junk
  }
  mailbox Drafts {
auto = subscribe
special_use = \Drafts
  }
  mailbox Sent {
auto = subscribe
special_use = \Sent
  }
  mailbox Trash {
auto = subscribe
special_use = \Trash
  }
  prefix =
  separator = /
  subscriptions = yes
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  acl = vfile
  acl_shared_dict = proxy::acl
  mail_replica = tcp:xxx:24245
  quota = dict:User quota::noenforcing:file:%h/dovecot-quota
  quota_grace = 2%%
  quota_rule = *:storage=8G
  quota_status_nouser = DUNNO
  quota_status_overquota = DUNNO
  quota_status_success = DUNNO
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_extensions = +notify +imapflags
  sieve_max_actions = 250
  sieve_max_redirects = 200
  zlib_save = gz
  zlib_save_level = 6
}
postmaster_address = postmaster@xxx
protocols = " imap lmtp sieve pop3 sieve"
replication_dsync_parameters = -d -l 30 -U -N
replication_max_conns = 5
service aggregator {
  fifo_listener replication-notify-fifo {
user = vmail
  }
  unix_listener replication-notify {
user = vmail
  }
}
service auth {
  unix_listener auth-userdb {
group = vmail
user = vmail
  }
}
service dict {
  unix_listener dict {
group = vmail
mode = 0660
user = vmail
  }
}
service doveadm {
  inet_listener {
port = 24245
  }
}
service imap-login {
  process_min_avail = 16
  service_count = 0
}
service imap {
  executable = imap postlogin
  process_limit = 3
}
service lmtp {
  inet_listener lmtp {
port = 24
  }
  vsz_limit = 1 G
}
service managesieve-login {
  inet_listener sieve {
port = 4190
  }
}
service managesieve {
  process_limit = 1024
}
service pop3-login {
  process_min_avail = 4
  service_count = 0
}
service pop3 {
  process_limit = 2500
}
service postlogin {
  executable = script-login -d rawlog /usr/local/bin/dovecot-postlogin.sh
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  inet_listener {
port = 12340
  }
}
service replicator {
  process_min_avail = 1
  unix_listener replicator-doveadm {
mode = 0600
user = vmail
  }
}
shutdown_clients = no
ssl_cert = 
Hi,

I am running two dovecot servers active/active.
Everything runs pretty great, except for the replication of
subscriptions in a shared namespace.

When I unsubscribe from a folder the subscription instantly
re-appears. The timestamp on the subscriptions file is updated, b

Re: Plugin "mail_crypt" does not work

2017-01-16 Thread Evgeniy Korneechev
We tried these rights:

[root@mail44 dovecot]# ls -la
итого 80
drwxr-xr-x  8 root  root   4096 янв 13 13:17 .
drwxr-xr-x 98 root  root  12288 янв 11 11:47 ..
drwxrwxrwx  2 root  root   4096 янв 10 15:58 eckey
drwxr-xr-x  2 root  root   4096 янв 13 12:42 eckey2
drwxr-xr-x  2 vmail vmail  4096 янв 11 09:14 RSAkey

[root@mail44 dovecot]# cd eckey2
[root@mail44 eckey2]# ls -la
итого 16
drwxr-xr-x 2 root root 4096 янв 13 12:42 .
drwxr-xr-x 8 root root 4096 янв 13 13:17 ..
-rw-r--r-- 1 root root  316 янв 13 12:41 ecprivkey.pem
-rw-r--r-- 1 root root  232 янв 13 12:42 ecpubkey.pem

- Исходное сообщение -
> От: "Aki Tuomi" 
> Кому: "dovecot" 
> Отправленные: Пятница, 13 Январь 2017 г 14:18:55
> Тема: Re: Plugin "mail_crypt" does not work

> On 13.01.2017 12:21, Evgeniy Korneechev wrote:
>>   mail_crypt_global_public_key =  
> Is this world-wide readable file? Is LDA able to access this?
> 
> Aki

-- 
WBR, 
BaseALT/ALTLinux Team


Re: Remove empty milder folders

2017-01-16 Thread Darac Marjal

On Mon, Jan 16, 2017 at 07:03:49AM -0700, @lbutlr wrote:

Not sure if anyone will find this useful, but this is how I deleted a bunch 
(several hundred) of empty mail folders from a user account:

# doveadm mailbox status -u “u...@example.com" messages "*" ALL | grep "=0" | awk -F= 
'{print $1}' | awk '{print "rm -rf ."$1}' > list

then I looked over list just to be sure it wasn’t mucked up and in the users 
root maildir:

# sh < list

and done.

I probably could do some research on how to combine those two awk pipes but 
this worked, and it was fast.


You may also want to *consider* removing those mailboxes from your 
subscriptions, too. I ran into this recently and IMAP considers the list 
of folders that exist and the list of folders that are subscribed to be 
separate entities. The RFCs specifically say that deleting a folder 
should not invalidate the subscription (presumably because you might 
want to remain subscribed to it if it comes back). If you don't 
unsubscribe, then some MUAs will show your folders as "greyed out".


So, depending on what you're trying to do, you might want to "doveadm 
mailbox unsubscribe -u "u...@example.com" $MAILBOX".




--
Apple broke AppleScripting signatures in Mail.app, so no random signatures.


--
For more information, please reread.


Re: Dovecot source code audit

2017-01-16 Thread Prakash Autade
Congratulations.

On 13 January 2017 at 22:47, Timo Sirainen  wrote:

> Mozilla sponsored source code audit for Dovecot. So thanks to them we have
> our first public code audit: https://wiki.mozilla.org/MOSS/
> Secure_Open_Source/Completed#dovecot
>
> Dates: October 2016 - January 2017
>
> dovecot is a POP and IMAP mailserver; it is used in 68% of IMAP server
> deployments worldwide. The audit was performed by Cure53.
>
> The team found the following problems:
>
> • 3 Low
>
> The Cure53 team were extremely impressed with the quality of the dovecot
> code. They wrote: "Despite much effort and thoroughly all-encompassing
> approach, the Cure53 testers only managed to assert the excellent
> security-standing of Dovecot. More specifically, only three minor security
> issues have been found in the codebase, thus translating to an
> exceptionally good outcome for Dovecot, and a true testament to the fact
> that keeping security promises is at the core of the Dovecot development
> and operations."
>



-- 
Sincerely,
Prakash P. Autade.


Re: Dovecot source code audit

2017-01-16 Thread Odhiambo Washington
On 13 January 2017 at 20:17, Timo Sirainen  wrote:

> Mozilla sponsored source code audit for Dovecot. So thanks to them we have
> our first public code audit: https://wiki.mozilla.org/MOSS/
> Secure_Open_Source/Completed#dovecot
>
> Dates: October 2016 - January 2017
>
> dovecot is a POP and IMAP mailserver; it is used in 68% of IMAP server
> deployments worldwide. The audit was performed by Cure53.
>
> The team found the following problems:
>
> • 3 Low
>
> The Cure53 team were extremely impressed with the quality of the dovecot
> code. They wrote: "Despite much effort and thoroughly all-encompassing
> approach, the Cure53 testers only managed to assert the excellent
> security-standing of Dovecot. More specifically, only three minor security
> issues have been found in the codebase, thus translating to an
> exceptionally good outcome for Dovecot, and a true testament to the fact
> that keeping security promises is at the core of the Dovecot development
> and operations."
>

Congratulations!

".. used in 68% of IMAP server deployments worldwide." - congratulations to
that too!


-- 
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft."


Apparent Maildir permission issue

2017-01-16 Thread Mark Foley
I've just upgraded from Slackware 14.1 to 14.2. I've not done anything with 
dovecot -- it's the
same version that was running before the upgrade. However, now I'm getting a 
permission error:

/var/log/maillog:

Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
opendir(/home/HPRS/mark/Maildir) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +r perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail last message repeated 4 times
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
stat(/home/HPRS/mark/Maildir/.Trash) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +x perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
stat(/home/HPRS/mark/Maildir/tmp) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +x perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
opendir(/home/HPRS/mark/Maildir) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +r perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:45 mail last message repeated 11 times

Permission on that folder are:

$ ls -ld /home/HPRS/mark/Maildir
drwx-- 17 HPRS\mark domusers 4096 Dec  7 23:07 /home/HPRS/mark/Maildir/

Permissions are unchanged since before the backup.

What do I do to fix this?

THX --Mark


Sieve: fileinto :create issue with Public Folder

2017-01-16 Thread dovecot

Hello Community,

I face the following issue:
- using a sieve script to file into a existing private folder: ok
- using a sieve script to file into new private folder using ":create": ok
- using a sieve script to file into a existing public folder: ok
- using a sieve script to file into new public folder using ":create": NOK !

The returned message is: "Permission denied" and the message correctly 
falls back to inbox.


HOWEVER, if I run "doveadm mailbox create -u myuser@mydomain 
Public/TheNewFolder", the folder is created, and the delete command 
works as well.


Any tip?

Running dovecot 2.2.13 on a pi/debian jessie

Thanks


Re: fts-solr: Returning 400 on searches; unescaped braces

2017-01-16 Thread Michael Welsh Duggan
Michael Welsh Duggan  writes:

> Using Debian, dovecot-solr 1:2.2.26.0-4, and solr-tomcat 3.6.2+dfsg-9, I
> am getting 400 errors when doing searches.  Here is an example search
> query from dovecot that failed (captured with wireshark):
>
>   Frame 23: 338 bytes on wire (2704 bits), 338 bytes captured (2704 bits) on 
> interface 0
>   Linux cooked capture
>   Internet Protocol Version 6, Src: ::1, Dst: ::1
>   Transmission Control Protocol, Src Port: 56860, Dst Port: 8080, Seq: 1, 
> Ack: 1, Len: 250
>   Hypertext Transfer Protocol
>   GET 
> /solr/select?fl=uid,score&rows=2664&sort=uid+asc&q={!lucene+q.op%3dAND}(hdr:test+OR+body:test)&fq=%2Bbox:6d5de009f991854df72612cf7b9c+%2Buser:md5i
>  HTTP/1.1\r\n
>   Host: localhost:8080\r\n
>   Date: Mon, 19 Dec 2016 00:25:56 GMT\r\n
>   Connection: Keep-Alive\r\n
>   \r\n
>   [Full request URI: 
> http://localhost:8080/solr/select?fl=uid,score&rows=2664&sort=uid+asc&q={!lucene+q.op%3dAND}(hdr:test+OR+body:test)&fq=%2Bbox:6d5de009f991854df72612cf7b9c+%2Buser:md5i]
>   [HTTP request 1/1]
>   [Response in frame: 25]
>
> Here is the same query from firefox, which succeeds:
>
>   Frame 66: 646 bytes on wire (5168 bits), 646 bytes captured (5168 bits) on 
> interface 0
>   Linux cooked capture
>   Internet Protocol Version 6, Src: ::1, Dst: ::1
>   Transmission Control Protocol, Src Port: 56862, Dst Port: 8080, Seq: 1, 
> Ack: 1, Len: 558
>   Hypertext Transfer Protocol
>   GET 
> /solr/select?fl=uid,score&rows=2664&sort=uid+asc&q=%7B!lucene+q.op%3DAND%7D(hdr:test+OR+body:test)&fq=%2Bbox:6d5de009f991854df72612cf7b9c+%2Buser:md5i
>  HTTP/1.1\r\n
>   Host: localhost:8080\r\n
>   Connection: keep-alive\r\n
>   Cache-Control: max-age=0\r\n
>   Upgrade-Insecure-Requests: 1\r\n
>   User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, 
> like Gecko) Chrome/55.0.2883.75 Safari/537.36\r\n
>   Accept: 
> text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n
>   DNT: 1\r\n
>   Accept-Encoding: gzip, deflate, sdch, br\r\n
>   Accept-Language: en-US,en;q=0.8\r\n
>   \r\n
>   [Full request URI: 
> http://localhost:8080/solr/select?fl=uid,score&rows=2664&sort=uid+asc&q=%7B!lucene+q.op%3DAND%7D(hdr:test+OR+body:test)&fq=%2Bbox:6d5de009f991854df72612cf7b9c+%2Buser:md5i]
>   [HTTP request 1/1]
>   [Response in frame: 86]
>
>
> The salient difference seems to be the encoding of the braces.  Indeed
> in the tomcat 8 logs, I find the following which seems to corroborate
> my hypothesis:
>
>  java.lang.IllegalArgumentException: Invalid character found in the request 
> target. The valid characters are defined in RFC 7230 and RFC 3986
>   at 
> org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:467)
>   at 
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:667)
>   at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>   at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)
>   at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1437)
>   at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>   at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>   at java.lang.Thread.run(Thread.java:745)
>
> Indeed the braces are listed in fts-backend-solr.c as part of
> solr_escape_chars, so don't know how the braces are making it through
> unencoded.

I have attached a patch which solves this problem.  I initially tried
changing http_url_escape_param() to include braces, but this did not
solve the problem.  I have to guess that the {!lucene+q.op=AND} bit does
not travel through this function.  So I just changed the braces in the
lines where they were introduced into their encoded values.  Since the
equals-sign was already encoded this way there, it seemed to make sense.

--- a/src/plugins/fts-solr/fts-backend-solr.c	2016-12-03 12:13:21.0 -0500
+++ b/src/plugins/fts-solr/fts-backend-solr.c	2017-01-16 14:28:11.0 -0500
@@ -828,7 +828,7 @@
 	mailbox_get_open_status(box, STATUS_UIDNEXT, &status);
 
 	str = t_str_new(256);
-	str_printfa(str, "fl=uid,score&rows=%u&sort=uid+asc&q={!lucene+q.op%%3dAND}",
+	str_printfa(str, "fl=uid,score&rows=%u&sort=uid+asc&q=%%7b!lucene+q.op%%3dAND%%7d",
 		status.uidnext);
 	prefix_len = str_len(str);
 
@@ -937,7 +937,7 @@
 	string_t *str;
 
 	str = t_str_new(256);
-	str_printfa(str, "fl=box,uid,score&rows=%u&sort=box+asc,uid+asc&q={!lucene+q.op%%3dAND}",
+	str_printfa(str, "fl=box,uid,score&rows=%u&sort=box+asc,uid+asc&q=%%7b!lucene+q.op%%3dAND%%7d",
 		SOLR_MAX_MULTI_

Re: Apparent Maildir permission issue

2017-01-16 Thread Mark Foley
More info ...

This is the only user having this permission problem. All other 
Thunderbird/dovecot users are
getting mail file. They all have the same permissions set on their Maildir 
folder.

--Mark

-Original Message-
From: Mark Foley 
Date: Mon, 16 Jan 2017 13:21:31 -0500
Organization: Ohio Highway Patrol Retirement System
To: dovecot@dovecot.org
Subject: Apparent Maildir permission issue

I've just upgraded from Slackware 14.1 to 14.2. I've not done anything with 
dovecot -- it's the
same version that was running before the upgrade. However, now I'm getting a 
permission error:

/var/log/maillog:

Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
opendir(/home/HPRS/mark/Maildir) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +r perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail last message repeated 4 times
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
stat(/home/HPRS/mark/Maildir/.Trash) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +x perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
stat(/home/HPRS/mark/Maildir/tmp) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +x perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
opendir(/home/HPRS/mark/Maildir) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +r perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:45 mail last message repeated 11 times

Permission on that folder are:

$ ls -ld /home/HPRS/mark/Maildir
drwx-- 17 HPRS\mark domusers 4096 Dec  7 23:07 /home/HPRS/mark/Maildir/

Permissions are unchanged since before the backup.

What do I do to fix this?

THX --Mark


Re: Sieve: fileinto :create issue with Public Folder

2017-01-16 Thread Timo Sirainen
On 16 Jan 2017, at 20.25, dovecot@avv.solutions wrote:
> 
> Hello Community,
> 
> I face the following issue:
> - using a sieve script to file into a existing private folder: ok
> - using a sieve script to file into new private folder using ":create": ok
> - using a sieve script to file into a existing public folder: ok
> - using a sieve script to file into new public folder using ":create": NOK !
> 
> The returned message is: "Permission denied" and the message correctly falls 
> back to inbox.
> 
> HOWEVER, if I run "doveadm mailbox create -u myuser@mydomain 
> Public/TheNewFolder", the folder is created, and the delete command works as 
> well.
> 
> Any tip?

Can you create the folder via IMAP as the same user? :

a create Public/TheNewFolder

doveadm sometimes has some special permissions.


Re: Remove empty milder folders

2017-01-16 Thread Joseph Tam

@lbutlr  writes:


Not sure if anyone will find this useful, but this is how I deleted a
bunch (several hundred) of empty mail folders from a user account:

# doveadm mailbox status -u ?u...@example.com" messages "*" ALL | grep "=0" | awk -F= 
'{print $1}' | awk '{print "rm -rf ."$1}' > list
...
I probably could do some research on how to combine those two awk pipes
but this worked, and it was fast.


You can collapse all 3 downstream processes

doveadm ... | awk '/messages=0$/{print "rm -rf ./" substr($1,9}' >list

Needs shell escaping/sanitizing if you don't want to be the victim
of mischief (e.g. maildir='X;cd ..;rm -rf *').

Joseph Tam 


Re: Apparent Maildir permission issue

2017-01-16 Thread Bill Shirley

I've gotten errors like this when it was actually a selinux denial. If you're 
running
selinux, check those logs too.

Bill

On 1/16/2017 4:09 PM, Mark Foley wrote:

More info ...

This is the only user having this permission problem. All other 
Thunderbird/dovecot users are
getting mail file. They all have the same permissions set on their Maildir 
folder.

--Mark

-Original Message-
From: Mark Foley 
Date: Mon, 16 Jan 2017 13:21:31 -0500
Organization: Ohio Highway Patrol Retirement System
To: dovecot@dovecot.org
Subject: Apparent Maildir permission issue

I've just upgraded from Slackware 14.1 to 14.2. I've not done anything with 
dovecot -- it's the
same version that was running before the upgrade. However, now I'm getting a 
permission error:

/var/log/maillog:

Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
opendir(/home/HPRS/mark/Maildir) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +r perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail last message repeated 4 times
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
stat(/home/HPRS/mark/Maildir/.Trash) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +x perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
stat(/home/HPRS/mark/Maildir/tmp) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +x perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:44 mail dovecot: imap(mark): Error: 
opendir(/home/HPRS/mark/Maildir) failed: Permission denied 
(euid=326(HPRS\mark) egid=100(users) missing +r perm: 
/home/HPRS/mark/Maildir, conflicting dir uid=10001(HPRS\mark))
Jan 16 13:09:45 mail last message repeated 11 times

Permission on that folder are:

$ ls -ld /home/HPRS/mark/Maildir
drwx-- 17 HPRS\mark domusers 4096 Dec  7 23:07 /home/HPRS/mark/Maildir/

Permissions are unchanged since before the backup.

What do I do to fix this?

THX --Mark