X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=nntp%2Fmx_nntp.c;h=cd309ea8dc1051e5bfe577fec67904f51f061e48;hp=f9091553decd4b31ac7cc49c0cf8add34aadab36;hb=3e8bb0a04f87021439ed4601a12ed8485eba27d3;hpb=25bf57d598476b329536fa3f748cc0c529fef6bd diff --git a/nntp/mx_nntp.c b/nntp/mx_nntp.c index f909155..cd309ea 100644 --- a/nntp/mx_nntp.c +++ b/nntp/mx_nntp.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 "nntp.h" @@ -15,18 +20,35 @@ #include "url.h" -static int nntp_is_magic (const char* path) { +static int nntp_is_magic (const char* path, struct stat* st) { url_scheme_t s = url_check_scheme (NONULL (path)); return ((s == U_NNTP || s == U_NNTPS) ? M_NNTP : -1); } +static int acl_check_nntp (CONTEXT* ctx, int bit) { + switch (bit) { + case ACL_INSERT: /* editing messages */ + case ACL_WRITE: /* change importance */ + return (0); + case ACL_DELETE: /* (un)deletion */ + case ACL_SEEN: /* mark as read */ + return (1); + default: + return (0); + } +} + /* called by nntp_init(); don't call elsewhere */ mx_t* nntp_reg_mx (void) { - mx_t* fmt = safe_calloc (1, sizeof (mx_t)); + mx_t* fmt = mem_calloc (1, sizeof (mx_t)); /* make up mx_t record... */ fmt->type = M_NNTP; fmt->mx_is_magic = nntp_is_magic; fmt->mx_open_mailbox = nntp_open_mailbox; + fmt->mx_acl_check = acl_check_nntp; + fmt->mx_fastclose_mailbox = nntp_fastclose_mailbox; + fmt->mx_sync_mailbox = nntp_sync_mailbox; + fmt->mx_check_mailbox = nntp_check_mailbox; return (fmt); }