File KOLAB_cyrus-imapd-2.3.16_Cyradm_Annotations.patch of Package cyrus-imapd.import5240

Allows to use arbitrary annotations with the cyradm tool.

diff -r 69927cac0b1b doc/man/cyradm.1.html
--- a/doc/man/cyradm.1.html	Fri Dec 04 10:32:26 2009 +0100
+++ b/doc/man/cyradm.1.html	Fri Dec 04 10:32:33 2009 +0100
@@ -220,6 +220,13 @@
 <dd>
 <p>Sets an email address to which messages injected into the server via NNTP 
 will be sent.</p>
+</dd>
+</li>
+<dt><strong><a NAME="item__2fexplicit_2fannotation"><code>/explicit/annotation</code></a></strong>
+
+<dd>
+<p>Sets the annotation <em>/explicit/annotation</em>
+on <em>mailbox</em> to <em>value</em>.</p>
 </dd>
 <dt><strong><a name="sharedseen" class="item"><code>sharedseen</code></a></strong></dt>
 
diff -r 69927cac0b1b perl/imap/IMAP/Admin.pm
--- a/perl/imap/IMAP/Admin.pm	Fri Dec 04 10:32:26 2009 +0100
+++ b/perl/imap/IMAP/Admin.pm	Fri Dec 04 10:32:33 2009 +0100
@@ -797,11 +797,11 @@
     return undef;
   }
 
-  if(!exists($values{$entry})) {
-    $self->{error} = "Unknown parameter $entry";
+  if(exists($values{$entry})) {
+    $entry = $values{$entry};    
+  } else {
+    $self->{error} = "Unknown parameter $entry" unless substr($entry,0,1) eq "/";
   }
-
-  $entry = $values{$entry};
 
   my ($rc, $msg);
 
diff -r 69927cac0b1b perl/imap/IMAP/Shell.pm
--- a/perl/imap/IMAP/Shell.pm	Fri Dec 04 10:32:26 2009 +0100
+++ b/perl/imap/IMAP/Shell.pm	Fri Dec 04 10:32:33 2009 +0100
@@ -127,7 +127,7 @@
 		  [\&_sc_info, '[mailbox]',
 		   'display mailbox/server metadata'],
 		mboxcfg =>
-		  [\&_sc_mboxcfg, 'mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value',
+		  [\&_sc_mboxcfg, 'mailbox [comment|condstore|news2mail|expire|sieve|squat|/<explicit annotation>] value',
 		   'configure mailbox'],
 		mboxconfig => 'mboxcfg',
 		reconstruct =>
@@ -1437,7 +1437,7 @@
   while (defined ($opt = shift(@argv))) {
     last if $opt eq '--';
     if ($opt =~ /^-/) {
-      die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
+      die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/<explicit annotation>] value\n";
     }
     else {
       push(@nargv, $opt);
@@ -1446,7 +1446,7 @@
   }
   push(@nargv, @argv);
   if (@nargv < 2) {
-    die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
+    die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/<explicit annotation>] value\n";
   }
   if (!$cyrref || !$$cyrref) {
     die "mboxconfig: no connection to server\n";
diff -r 69927cac0b1b perl/imap/cyradm.sh
--- a/perl/imap/cyradm.sh	Fri Dec 04 10:32:26 2009 +0100
+++ b/perl/imap/cyradm.sh	Fri Dec 04 10:32:33 2009 +0100
@@ -241,6 +241,10 @@
 
 Indicates that the mailbox should have a squat index created for it.
 
+=item C</explicit/annotation>
+
+Sets the annotation I</explicit/annotation> on I<mailbox> to I<value>. 
+
 =back 
 
 =item C<renamemailbox> [C<--partition> I<partition>] I<oldname> I<newname>