]> granicus.if.org Git - neomutt/commitdiff
(1) OP_MAIN_LINK_THREADS needs to check for IMAP_ACL_DELETE permission,
authorPhil Pennock <mutt-dev@spodhuis.demon.nl>
Wed, 5 Apr 2006 17:28:30 +0000 (17:28 +0000)
committerPhil Pennock <mutt-dev@spodhuis.demon.nl>
Wed, 5 Apr 2006 17:28:30 +0000 (17:28 +0000)
     since the thread linking involves deleting the old email

 (2) makes CHECK_IMAP_ACL() a no-op if USE_IMAP is not defined; then
     cleans up a bunch of the #ifdef litter.

curs_main.c

index c8f99fdab911d95b3e92182ee70ce0be76e393e8..a20120641492bd7d5bde5eea2b9256c1d3925d5e 100644 (file)
@@ -99,6 +99,8 @@ static const char *No_visible = N_("No visible messages.");
                        mutt_error ("Operation not permitted by the IMAP ACL for this mailbox"); \
                        break; \
                }
+#else
+#define CHECK_IMAP_ACL(aclbit) /**/
 #endif
 
 #define CHECK_ATTACH if(option(OPTATTACHMSG)) \
@@ -804,10 +806,7 @@ int mutt_index_menu (void)
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_DELETE);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_DELETE);
 
        CHECK_ATTACH;
        mutt_pattern_func (M_DELETE, _("Delete messages matching: "));
@@ -974,10 +973,7 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_DELETE);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_DELETE);
 
        if (mutt_pattern_func (M_UNDELETE, _("Undelete messages matching: ")) == 0)
          menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
@@ -1235,6 +1231,7 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
+       CHECK_IMAP_ACL(IMAP_ACL_DELETE);
 
         if ((Sort & SORT_MASK) != SORT_THREADS)
          mutt_error _("Threading is not enabled.");
@@ -1502,6 +1499,7 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
+       CHECK_IMAP_ACL(IMAP_ACL_WRITE);
 
 #ifdef USE_POP
        if (Context->magic == M_POP)
@@ -1512,10 +1510,6 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        }
 #endif
 
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_WRITE);
-#endif
-
         if (tag)
         {
          for (j = 0; j < Context->vcount; j++)
@@ -1551,10 +1545,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_SEEN);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_SEEN);
 
        if (tag)
        {
@@ -1668,10 +1659,7 @@ CHECK_IMAP_ACL(IMAP_ACL_SEEN);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-       
-/* #ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_WRITE);
-#endif */
+       /* CHECK_IMAP_ACL(IMAP_ACL_WRITE); */
 
        if (mutt_change_flag (tag ? NULL : CURHDR, (op == OP_MAIN_SET_FLAG)) == 0)
        {
@@ -1811,10 +1799,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-       
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_DELETE);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_DELETE);
 
        if (tag)
        {
@@ -1855,10 +1840,7 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_DELETE);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_DELETE);
 
        rc = mutt_thread_set_flag (CURHDR, M_DELETE, 1,
                                   op == OP_DELETE_THREAD ? 0 : 1);
@@ -1899,6 +1881,7 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
         CHECK_VISIBLE;
        CHECK_READONLY;
        CHECK_ATTACH;
+       CHECK_IMAP_ACL(IMAP_ACL_INSERT);
 
 #ifdef USE_POP
        if (Context->magic == M_POP)
@@ -1909,10 +1892,6 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        }
 #endif
 
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_INSERT);
-#endif
-
        if (option (OPTPGPAUTODEC) && (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED))) 
          mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw);
         mutt_edit_message (Context, tag ? NULL : CURHDR);
@@ -2042,10 +2021,7 @@ CHECK_IMAP_ACL(IMAP_ACL_INSERT);
        CHECK_MSGCOUNT;
        CHECK_VISIBLE;
        CHECK_READONLY;
-
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_SEEN);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_SEEN);
 
        rc = mutt_thread_set_flag (CURHDR, M_READ, 1,
                                   op == OP_MAIN_READ_THREAD ? 0 : 1);
@@ -2132,10 +2108,7 @@ CHECK_IMAP_ACL(IMAP_ACL_SEEN);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_DELETE);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        
        if (tag)
        {
@@ -2162,10 +2135,7 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        CHECK_READONLY;
-
-#ifdef USE_IMAP
-CHECK_IMAP_ACL(IMAP_ACL_DELETE);
-#endif
+       CHECK_IMAP_ACL(IMAP_ACL_DELETE);
 
        rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0,
                                   op == OP_UNDELETE_THREAD ? 0 : 1);