]> granicus.if.org Git - mutt/commitdiff
Update IMAP ACL parser to recognize RFC rights
authorBrendan Cully <brendan@kublai.com>
Wed, 14 Mar 2007 21:45:37 +0000 (14:45 -0700)
committerBrendan Cully <brendan@kublai.com>
Wed, 14 Mar 2007 21:45:37 +0000 (14:45 -0700)
imap/command.c
mutt.h

index d73d7ef4abb72a63534721ee29b4aea31df70d77..8ef9cf3a1454dbfcfd8ca5d2cf8ddf810960d92b 100644 (file)
@@ -742,15 +742,33 @@ static void cmd_parse_myrights (IMAP_DATA* idata, const char* s)
       case 'p':
        mutt_bit_set (idata->ctx->rights, M_ACL_POST);
        break;
+      case 'a':
+       mutt_bit_set (idata->ctx->rights, M_ACL_ADMIN);
+       break;
+      case 'k':
+       mutt_bit_set (idata->ctx->rights, M_ACL_CREATE);
+        break;
+      case 'x':
+        mutt_bit_set (idata->ctx->rights, M_ACL_DELMX);
+        break;
+      case 't':
+       mutt_bit_set (idata->ctx->rights, M_ACL_DELETE);
+        break;
+      case 'e':
+        mutt_bit_set (idata->ctx->rights, M_ACL_EXPUNGE);
+        break;
+
+        /* obsolete rights */
       case 'c':
        mutt_bit_set (idata->ctx->rights, M_ACL_CREATE);
+        mutt_bit_set (idata->ctx->rights, M_ACL_DELMX);
        break;
       case 'd':
        mutt_bit_set (idata->ctx->rights, M_ACL_DELETE);
+        mutt_bit_set (idata->ctx->rights, M_ACL_EXPUNGE);
        break;
-      case 'a':
-       mutt_bit_set (idata->ctx->rights, M_ACL_ADMIN);
-       break;
+      default:
+        dprint(1, (debugfile, "Unknown right: %c\n", *s));
     }
     s++;
   }
diff --git a/mutt.h b/mutt.h
index 7f4493f206878598e56c3d73c8fa9154519872ca..05fffa4246c09a19215efe15bc1f5700c0103afb 100644 (file)
--- a/mutt.h
+++ b/mutt.h
@@ -847,7 +847,9 @@ enum
   M_ACL_INSERT,
   M_ACL_POST,
   M_ACL_CREATE,
+  M_ACL_DELMX,
   M_ACL_DELETE,
+  M_ACL_EXPUNGE,
   M_ACL_ADMIN,
 
   RIGHTSMAX