<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">This has got to be something weird in my config. And the standard disclaimer of '"happy to post doveconf -n, but wanted to see if this is normal first" :)<div><br></div><div>Background: Ubuntu Xenial, running 2.2.36. Mailbox type is mdbox and I've got a period separator in my inbox namespace:</div><div><br></div><div><div>namespace {</div><div>  hidden = no</div><div>  inbox = yes</div><div>  list = yes</div><div>  location =</div><div>  mailbox Spam {</div><div>    auto = no</div><div>    autoexpunge = 1 weeks</div><div>    special_use = \Junk</div><div>  }</div><div>  mailbox Trash {</div><div>    auto = no</div><div>    special_use = \Trash</div><div>  }</div><div>  prefix = INBOX.</div><div>  separator = .</div><div>  subscriptions = yes</div><div>  type = private</div><div>}</div></div><div><br></div><div>If I do a import for a regular folder under INBOX, it works just fine:</div><div><br></div><div>doveadm import -u testbox2@testing.local -U testbox1@testing.local mdbox:~/mdbox INBOX all mailbox Sent<br></div><div><br></div><div>... returns happily, message count gets incremented</div><div><br></div><div>If I try to do the same with a subfolder (and a subfolder that most definitely exists on both source and destination side), I get an error:</div><div><br></div><div><div>doveadm import -u testbox2@testing.local -U testbox1@testing.local mdbox:~/mdbox INBOX all mailbox Sub.Sub1</div><div>doveadm(testbox2@testing.local): Error: remote(<a href="http://10.1.17.98:4000">10.1.17.98:4000</a>): Mailbox Sub.Sub1: Mailbox sync failed: Mailbox doesn't exist: Sub.Sub1</div></div><div><br></div><div>If I use / instead of . in my query, it works:</div><div><br></div><div>doveadm import -u testbox2@testing.local -U testbox1@testing.local mdbox:~/mdbox INBOX all mailbox Sub/Sub1<br></div><div><br></div><div>... returns happily and message count gets incremented.</div><div><br></div><div>Since we're using '.' as our separator, that was a bit unexpected :)</div><div><br></div><div>Ironically, if I'm doing a IMAPc 'import', it works just fine with a query of 'all mailbox Sub.Sub1'. It's only when importing from a local src and local dest (i.e. source_location == mdbox:~/mdbox) that it fails. With source_location set to 'imapc:', it works. I imagine that's due to using straight IMAP on the source side.</div><div><br></div><div>Likely a misconfig on my part? Expected behavior?</div><div><br></div><div>I can see in the strace that the error is triggered when doveadm is looking at the source mailbox. It looks for mdbox/mailboxes/Sub.Sub1/dbox-Mails first, then falls back to mdbox/mailboxes/Sub/Sub1/dbox-Mails (which it finds). Then a little bit later in the strace, it again looks for mdbox/mailboxes/Sub.Sub1/dbox-Mails (which it doesn't find) but doesn't try mdbox/mailboxes/Sub/Sub1/dbox-Mails this time, and then spits out 'Mailbox Sub.Sub1: Mailbox sync failed: Mailbox doesn't exist: Sub.Sub1'. With a query of 'all mailbox Sub/Sub1', the stat() is for mdbox/mailboxes/Sub/Sub1/dbox-Mails which it finds and uses happily.</div><div><br></div><div>Having to substitute the '.'s for '/'s in the 'mailbox' part of the query isn't an awful workaround, but it very much feels like I'm doing something wrong. This is a production setup, so everything else is otherwise working fine. But I've only just begun working with 'doveadm import', so I might be turning up some issues with my config.</div><div><br></div><div>Thanks! Sorry I'm so verbose :)</div></div></div></div></div></div></div></div></div></div></div></div></div>