X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=imap%2Fmx_imap.c;h=f0aee599d99453eaabe43c5210b14ccf729212c4;hb=d9ae612d6dba4f68f46a1a81eb77a326849f9184;hp=98bed0201ad79b4a0eaffe4106cff4ba3bdec698;hpb=25bf57d598476b329536fa3f748cc0c529fef6bd;p=apps%2Fmadmutt.git diff --git a/imap/mx_imap.c b/imap/mx_imap.c index 98bed02..f0aee59 100644 --- a/imap/mx_imap.c +++ b/imap/mx_imap.c @@ -1,9 +1,14 @@ - - +/* + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. + */ #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include + #include "mutt.h" #include "imap_private.h" @@ -15,7 +20,7 @@ #include "url.h" -static int imap_is_magic (const char* path) { +int imap_is_magic (const char* path, struct stat* st) { url_scheme_t s; if (!path || !*path) return (-1); @@ -25,6 +30,11 @@ static int imap_is_magic (const char* path) { return ((s == U_IMAP || s == U_IMAPS) ? M_IMAP : -1); } +static int acl_check_imap (CONTEXT* ctx, int bit) { + return (!mutt_bit_isset (((IMAP_DATA*) ctx->data)->capabilities, ACL) || + mutt_bit_isset (((IMAP_DATA*) ctx->data)->rights, bit)); +} + mx_t* imap_reg_mx (void) { mx_t* fmt = safe_calloc (1, sizeof (mx_t)); @@ -33,5 +43,6 @@ mx_t* imap_reg_mx (void) { fmt->mx_is_magic = imap_is_magic; fmt->mx_access = imap_access; fmt->mx_open_mailbox = imap_open_mailbox; + fmt->mx_acl_check = acl_check_imap; return (fmt); }