[cut]
On 04/22/2016 02:57 PM, Teemu Huovila wrote:
Why cant I set the following mailbox metadata key? /private/vendor/vendor.dovecot/pvt/server/vendor/vendor.dovecot/http-notify Why do you want to set it there? Have you tried setting it on some mailbox path?
Do you mean by editing directly the metadata file instead of accessing it with an Imap command? The answer to this question is that I don't have the direct access to the physical mailboxes.
Let me explain the context:
I'm using the Dovecot version 2.23.1, but the same happens for the 2.2.22
The push-notification plugin is supposed to send out a notification whenever a mailbox get a new email message.
In order to tell if a mailbox is enabled to send out the notification, the plugin looks out for the following mailbox metadata key: /private/vendor/vendor.dovecot/pvt/server/vendor/vendor.dovecot/http-notify
If the key is set then everything is OK and the notification is sent, otherwise the action is skipped.
If I try to setup the metadata key by hand (telnet as the user over the imap port): setmetadata INBOX (/private/vendor/vendor.dovecot/pvt/server/vendor/vendor.dovecot/http-notify "user=myuser@mydomain.com")
I get the error message: "Internal mailbox attributes cannot be accessed"
Digging in the Dovecot 2.2.22 sources i found that:
This string is from lib-imap-storage/imap-metadata.c - line 36 - Dovecot 2.2.22 The message is triggered by the following condition - same file - line 125 - Dovecot 2.2.22
if (strncmp(*key_r, MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT, strlen(MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT)) == 0) {
So the path pvt/server appears to be forbidden.
But, in the file lib-storage/mailbox-attribute.h we can read the following comment:
/* User can get/set all non-pvt/ attributes and also pvt/server/ (but not pvt/server/pvt/) attributes. */
And, after said comment there is the definition of the macro MAILBOX_ATTRIBUTE_KEY_IS_USER_ACCESSIBLE(key) which has the same basic function of the condition in imap-metadata.c , but in this case the same imap key is seen as accessible.
Now my questions:
Can we use a negated version of MAILBOX_ATTRIBUTE_KEY_IS_USER_ACCESSIBLE(key) in imap-metadata? How can the push-notification plugin work out-of-the-box without changes and recompilation?
Thank you for your valuable time and forgive me if I'm posing a dumb question. Please see instructions at http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Mail#Setup_of_the_Doveco... In case the problem is not resolved, do attach your doveconf -n output to the next mail.
I have read the instructions, and enabled the metadata options and enabled the lmtp and lda parts as stated in the instructions. I understand that the instructions talk about the Dovecot "http-notify" plugin, which I suppose is the old name of the push_notification plugin. I understand that the Ox Appsuite Mail uses the following imap key "/private/vendor/vendor.dovecot/http-notify" instead of the one declared by the plugin.
I'm not using the OX Appsuite Mail, I just need to get out the notifications out of the plugin towards some url of mine which will take care of the message. In order to get there I need to write said metadata key in the INBOX folders metadata .
I know I could write my own plugin or I could recompile the push_notification plugin after changing the key. The problem with this is that my sysadmin wants to install and keep everything updated using only original packages.
Attached to this email you will find the output of the dovecot -n command.
I'll be grateful for any hint and suggestion.
Thank you for your time and patience.
Giovanni