Re: METADATA help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Oh, I have found the solution!

It seems that in the annotation_definitions file the *name* of the third-party annotation MUST be down-case.

The RFC5464 says:

"Except as noted otherwise, all alphabetic characters are case-
   insensitive.  The use of upper or lower case characters to define
   token strings is for editorial clarity only.  Implementations MUST
   accept these strings in a case-insensitive fashion."

So this could be a bug...

Interesting this: if I define a downcase name in the file, then the GET/SETMETADATA works case insensitive as expected. But if the name in annotation file is uppercase, the imap metadata commands return NIL or Permission denied.

Kind Regards
Marco


Il 28/04/2020 12:49, Marco ha scritto:
Hello,

   I have some problems in Cyrus 3.0.13 with user defined metadata.

Let suppose I define in imapd.conf

     annotation_definitions: /etc/annoIMAP.conf

and annoIMAP.conf is:

/vendor/example/partition/comune.prova.it,server,string,backend,value.priv,lrswipkxtea

With this configuration all works fine with the old annotatemore "standard". I can set and read annotations.

But time will crawl, so I have to adopt the new METADATA standard (RFC5464) to manage these values.

If I try

a SETMETADATA "" (/private/vendor/example/partition/comune.prova.it "prova1")
a NO Permission denied

I have to do this to set the value:

a SETANNOTATION "" "/vendor/example/partition/comune.prova.it" ("value.priv" "prova1")
a OK Completed


Now, with

a GETMETADATA "" "/private/*"
* METADATA "" ("/private/vendor/example/partition/comune.prova.it" "prova1" "/private/vendor/cmu/cyrus-imapd/squat" NIL "/private/vendor/cmu/cyrus-imapd/expire" NIL "/private/vendor/cmu/cyrus-imapd/usercounters" "3 0 0 0 0 0 0 0 0 0 0" "/private/vendor/cmu/cyrus-imapd/usermodseq" "0" "/private/comment" NIL "/private/admin" NIL)

but if I ask only my user defined metadata:
a GETMETADATA "" "/private/vendor/example/partition/comune.prova.it"
* METADATA "" ("/private/vendor/example/partition/comune.prova.it" NIL)

the server tell me NIL in place of "prova1".

I would ask an help with this protocol:

- I would like to know why SETMETADATA fails with "Permission denied" in above example.

- Then I have to know why a wildcard query show me the "prova1" value in
"/private/vendor/example/partition/comune.prova.it", but when I query only the value of "/private/vendor/example/partition/comune.prova.it" the answer is NIL.

Other detail:
name       : Cyrus IMAPD
version    : 3.0.13-6.el8
vendor     : Project Cyrus
support-url: https://www.cyrusimap.org
os         : Linux
os-version : 4.18.0-147.8.1.el8_1.x86_64
environment: Built w/Cyrus SASL 2.1.27
              Running w/Cyrus SASL 2.1.27
              Built w/OpenSSL 1.1.1c FIPS  28 May 2019
              Running w/OpenSSL 1.1.1c FIPS  28 May 2019
              Built w/zlib 1.2.11
              Running w/zlib 1.2.11
              CMU Sieve 3.0
              NET-SNMP
              mmap = shared
              lock = fcntl
              nonblock = fcntl
              idle = idled


Thank you very much
Kind Regards

Marco
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
To Unsubscribe:
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus


----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
To Unsubscribe:
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus




[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux