cyrus-imapd-2.5 deliver does not authenticate - bug? or user error?

John john-cyrus at earthspike.net
Sat Apr 11 09:15:50 EDT 2015


Short version:

|cyrdeliver -a cyrus -m SharedMailbox| gives ‘+SharedMailbox: Mailbox
does not exist’ unless ‘anonymous’ is granted ‘p’ on ‘SharedMailbox’.

Long version:

I’ve built Cyrus IMAP from the cyrus-imapd-2.5 branch on a plain Ubuntu
14.04 server (hostname caraway). It’s at the latest version of cyrus on
git at the timestamp of this email. It’s configured with:

|./configure --prefix=/usr --program-prefix=cyr --enable-event-notification --enable-http --disable-nntp --enable-sieve \
--enable-pcre --with-pgsql --with-sqlite --enable-autocreate --enable-idled --with-pgsql-incdir=/usr/include/postgresql
|

(The program prefix ‘cyr’ is to try to match the Ubuntu built way of
doing things.)

With previous versions of cyrus, I could use: |cyrdeliver -a cyrus -m
user/fred/Spam| to deliver mails. Now I know to use |cyrdeliver -a cyrus
-m Spam fred| instead. My problem comes when delivering mail to non-user
(shared) mailboxes. I have a shared mailbox called Arkive which I expect
to be able to deliver to using |cyrdeliver -a cyrus -m Arkive|. This,
and a whole host of related/similar commands also fail unless I grant
‘p’ rights to ‘anonymous’. Here’s exactly what I have tried:

|xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -a cyrus -m Arkive
+Arkive: Mailbox does not exist
xxxx at caraway:~$ sudo /usr/cyrus/bin/cyrdeliver -a cyrus -m Arkive
+Arkive: Mailbox does not exist
xxxx at caraway:~$ sudo /usr/cyrus/bin/cyrdeliver -a anonymous -m Arkive
+Arkive: Mailbox does not exist
xxxx at caraway:~$ cyradm -U cyrus localhost
Password: 
localhost> lam Arkive
cyrus lrsip
xxxx lrs
localhost> sam Arkive anonymous p
localhost> xxxx@/usr/cyrus/bin/cyrdeliver -a cyrus -m Arkive
From: No-one
To: Arkive
Date: Today
Subject: Delete me I'm a test at 1033

1033
^D
|

I’m catching event notifications using a little external script which
just appends them to a log file for now. So this is what they said:

|xxxx at caraway:~$ tail /var/log/mr/notify.log 
Sat Apr 11 09:32:23 UTC 2015
/apps/mr_project/mr_notify.sh -c EVENT -p -u -m
{"event":"Login","timestamp":"2015-04-11T09:32:23.308Z","serverDomain":"::1","serverPort":143,"uri":"imap://caraway","pid":11160,"user":"cyrus"}
Sat Apr 11 09:32:43 UTC 2015
/apps/mr_project/mr_notify.sh -c EVENT -p -u -m
{"event":"AclChange","timestamp":"2015-04-11T09:32:43.182Z","mailboxID":"imap://caraway/Arkive;UIDVALIDITY=1426985663","uri":"imap://caraway/Arkive;UIDVALIDITY=1426985663","pid":11160,"aclSubject":"anonymous","aclRights":"p","user":"cyrus","vnd.cmu.mbtype":""}
Sat Apr 11 09:32:44 UTC 2015
/apps/mr_project/mr_notify.sh -c EVENT -p -u -m
{"event":"Logout","timestamp":"2015-04-11T09:32:44.603Z","serverDomain":"::1","serverPort":143,"uri":"imap://caraway","pid":11160,"user":"cyrus"}
Sat Apr 11 09:33:22 UTC 2015
/apps/mr_project/mr_notify.sh -c EVENT -p -u -m
{"event":"MessageNew","timestamp":"2015-04-11T09:33:22.452Z","uri":"imap://caraway/Arkive;UIDVALIDITY=1426985663/;UID=249085","pid":11152,"user":"","vnd.cmu.mbtype":""}
|

It looks like cyrdeliver is delivering without authenticating? The
events are not showing a user.

And I tried a few other things.

|xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -a cyrus -m Arkive cyrus
cyrus+Arkive: Mailbox does not exist

xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -a cyrus -m Arkive anonymous
anonymous+Arkive: Mailbox does not exist

xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -a anonymous -m Arkive
^D
xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -m Arkive
^D
xxxx at caraway:~$ cyradm -U cyrus localhost
Password: 
localhost> dam Arkive anonymous
localhost> lam Arkive
cyrus lrsip
xxxx lrs
localhost> 
xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -m Arkive
+Arkive: Mailbox does not exist
xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -m Arkive
+Arkive: Mailbox does not exist
|

I also tried setting |postuser: shared| in imapd.conf and then

|xxxx at caraway:~$ /usr/cyrus/bin/cyrdeliver -a cyrus -m Arkive shared
shared+Arkive: Mailbox does not exist
|

>From syslog, the entries relating to deliver:

|Apr 11 09:32:23 caraway cyrus/imap[11160]: login: localhost [::1] cyrus DIGEST-MD5 User logged in SESSIONID=<cyrus-11160-1428744736-1-5746349788344935888>
Apr 11 09:33:22 caraway cyrus/lmtpunix[11152]: Delivered: <cmu-lmtpd-11152-1428744773-0 at caraway> to mailbox: Arkive
Apr 11 09:34:20 caraway cyrus/ctl_cyrusdb[11190]: checkpointing cyrus databases
Apr 11 09:34:20 caraway cyrus/ctl_cyrusdb[11190]: done checkpointing cyrus databases
Apr 11 09:34:50 caraway cyrus/lmtpunix[11152]: Delivered: <cmu-lmtpd-11152-1428744883-1 at caraway> to mailbox: Arkive
Apr 11 09:36:57 caraway cyrus/lmtpunix[11701]: Delivered: <cmu-lmtpd-11701-1428745014-0 at caraway> to mailbox: Arkive
Apr 11 09:37:06 caraway cyrus/imap[11707]: login: localhost [::1] cyrus DIGEST-MD5 User logged in SESSIONID=<cyrus-11707-1428745020-1-18174010649842907076>
Apr 11 09:34:50 caraway cyrus/lmtpunix[11152]: Delivered: <cmu-lmtpd-11152-1428744883-1 at caraway> to mailbox: Arkive
Apr 11 09:36:57 caraway cyrus/lmtpunix[11701]: Delivered: <cmu-lmtpd-11701-1428745014-0 at caraway> to mailbox: Arkive
|

Am I missing something here, or doing something wrong? I don’t want to,
or expect to, have to give ‘p’ rights to anonymous on any shared mailbox
I want to post into.

Thanks for any insight you can give. You can find me on #cyrus as
earthspike.

John

​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20150411/aaeaef35/attachment.html 


More information about the Cyrus-devel mailing list