[Dovecot] still issues with metadata support
On dovecot 2.2.12 compiled from source I use ActiveSync with kolab-syncroton. When running a test i have this imap log:
[29-Mar-2014 22:58:25 +0200]: [F658] S: A0004 OK Getmetadata completed. [29-Mar-2014 22:58:25 +0200]: [F658] C: A0005 SETMETADATA INBOX (/private/vendor/kolab/activesync "{\"DEVICE\":{\"601099122\":{\"ID\": \"a5daac4806642a1cfeceb53aea32e86218c4d512\",\"TYPE\": \"TestActiveSyncConnectivity\",\"ALIAS\":null}},\"FOLDER\":{\"601099122\": {\"S\":1}}}") [29-Mar-2014 22:58:26 +0200]: [F658] S: A0005 OK Setmetadata completed. [29-Mar-2014 22:58:26 +0200]: [F658] C: A0006 GETMETADATA "*" (/private/vendor/kolab/activesync) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0006 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0007 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0007 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0008 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0008 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0009 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0009 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0010 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0010 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0011 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0011 NO Mailbox doesn't exist: *
It looks like GETMETADATA "*" is still not expanded , even we have this part of code in cmd-getmetadata.c:
else if (strchr(mailbox, '*') == NULL && strchr(mailbox, '%') == NULL) { ns = client_find_namespace(cmd, &mailbox); if (ns == NULL) return TRUE; return cmd_getmetadata_mailbox(ctx, ns, mailbox); } else { /* wildcards in mailbox name. this isn't supported by RFC 5464, but it was in the earlier drafts and is already used by some software (Horde). */ const char *patterns[2]; patterns[0] = mailbox; patterns[1] = NULL;
-- Mihai Bădici http://mihai.badici.ro
I't's still unclear for me why but I have two servers, one using Slackware 14.0 and the second one using Slackware 14.1
I use the same slackbuild script to build the package; but I have that issue only when building on Slackware 14.1 I copied the package from 14.0 to 14.1 and replaced the one built localy;
01 getmetadata "*" (/private/kolab/activesync)
- METADATA Default (/private/kolab/activesync NIL)
- METADATA Contacts (/private/kolab/activesync NIL)
- METADATA Calendar (/private/kolab/activesync NIL)
- METADATA Trash (/private/kolab/activesync NIL)
- METADATA INBOX (/private/kolab/activesync NIL)
So it can be an issue generated by the compiler or some newest library. It also works on Debian ( but is not compiled by me) On slack 14.1 i have gcc version 4.8.2 (GCC)
If is usefull: ldd /usr/sbin/dovecot linux-gate.so.1 (0xffffe000) libcap.so.2 => /lib/libcap.so.2 (0xb7717000) libdovecot.so.0 => /usr/lib/dovecot/libdovecot.so.0 (0xb7643000) libc.so.6 => /lib/libc.so.6 (0xb74b8000) libattr.so.1 => /lib/libattr.so.1 (0xb74b3000) libdl.so.2 => /lib/libdl.so.2 (0xb74ad000) librt.so.1 => /lib/librt.so.1 (0xb74a4000) /lib/ld-linux.so.2 (0xb7738000) libpthread.so.0 => /lib/libpthread.so.0 (0xb748a000)
On Saturday 29 March 2014 23:07:37 you wrote:
On dovecot 2.2.12 compiled from source I use ActiveSync with kolab-syncroton. When running a test i have this imap log:
[29-Mar-2014 22:58:25 +0200]: [F658] S: A0004 OK Getmetadata completed. [29-Mar-2014 22:58:25 +0200]: [F658] C: A0005 SETMETADATA INBOX (/private/vendor/kolab/activesync "{\"DEVICE\":{\"601099122\":{\"ID\": \"a5daac4806642a1cfeceb53aea32e86218c4d512\",\"TYPE\": \"TestActiveSyncConnectivity\",\"ALIAS\":null}},\"FOLDER\":{\"601099122\": {\"S\":1}}}") [29-Mar-2014 22:58:26 +0200]: [F658] S: A0005 OK Setmetadata completed. [29-Mar-2014 22:58:26 +0200]: [F658] C: A0006 GETMETADATA "*" (/private/vendor/kolab/activesync) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0006 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0007 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0007 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0008 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0008 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0009 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0009 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0010 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0010 NO Mailbox doesn't exist: * [29-Mar-2014 22:58:26 +0200]: [F658] C: A0011 GETMETADATA "*" (/private/vendor/kolab/folder-type /shared/vendor/kolab/folder-type) [29-Mar-2014 22:58:26 +0200]: [F658] S: A0011 NO Mailbox doesn't exist: *
It looks like GETMETADATA "*" is still not expanded , even we have this part of code in cmd-getmetadata.c:
else if (strchr(mailbox, '*') == NULL && strchr(mailbox, '%') == NULL) { ns = client_find_namespace(cmd, &mailbox); if (ns == NULL) return TRUE; return cmd_getmetadata_mailbox(ctx, ns, mailbox); } else { /* wildcards in mailbox name. this isn't supported by RFC 5464, but it was in the earlier drafts and is already used by some software (Horde). */ const char *patterns[2]; patterns[0] = mailbox; patterns[1] = NULL;
Mihai Bădici http://mihai.badici.ro
On 03/30/2014 10:28 PM, Mihai Badici wrote:
01 getmetadata "*" (/private/kolab/activesync) * METADATA Default (/private/kolab/activesync NIL) * METADATA Contacts (/private/kolab/activesync NIL) * METADATA Calendar (/private/kolab/activesync NIL) * METADATA Trash (/private/kolab/activesync NIL) * METADATA INBOX (/private/kolab/activesync NIL)
BTW, I think it would be better if the response would just skip folders with NIL data. I didn't check if it is specified in RFC. -- Aleksander 'A.L.E.C' Machniak LAN Management System Developer [http://lms.org.pl] Roundcube Webmail Developer [http://roundcube.net] --------------------------------------------------- PGP: 19359DC1 @@ GG: 2275252 @@ WWW: http://alec.pl
On Monday 31 March 2014 08:09:20 A.L.E.C wrote:
On 03/30/2014 10:28 PM, Mihai Badici wrote:
01 getmetadata "*" (/private/kolab/activesync)
- METADATA Default (/private/kolab/activesync NIL)
- METADATA Contacts (/private/kolab/activesync NIL)
- METADATA Calendar (/private/kolab/activesync NIL)
- METADATA Trash (/private/kolab/activesync NIL)
- METADATA INBOX (/private/kolab/activesync NIL)
BTW, I think it would be better if the response would just skip folders with NIL data. I didn't check if it is specified in RFC.
In this case the request in incorrect ( /private/kolab/activesync), should be /private/vendor/kolab/activesync) but I think you right. I just typed a "random" name in IMAP session to see if it enumerate folders.
At the end, I have no fully functional ActiveSync installation with dovecot 2.2.12 ( the old metadata plugin works in previous installations, 2.2.4 for example) - so should be more problems.
But this issue it's really strange - and because it appears on the newest operating system we can expect to have it in the future also on other systems.
Mihai Bădici http://mihai.badici.ro
participants (2)
-
A.L.E.C
-
Mihai Badici