X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=nntp%2Fmx_nntp.c;h=675a7aa485665c054fd0c0d110eff40a20f9f9c5;hb=9f66d0f5a23ad4fe8359006fa82abdc20737ddf1;hp=f9091553decd4b31ac7cc49c0cf8add34aadab36;hpb=25bf57d598476b329536fa3f748cc0c529fef6bd;p=apps%2Fmadmutt.git diff --git a/nntp/mx_nntp.c b/nntp/mx_nntp.c index f909155..675a7aa 100644 --- a/nntp/mx_nntp.c +++ b/nntp/mx_nntp.c @@ -1,32 +1,55 @@ - - +/* + * 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 +#include + #include "mutt.h" #include "nntp.h" #include "mx.h" #include "mx_nntp.h" -#include "lib/mem.h" -#include "lib/str.h" #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 = p_new(mx_t, 1); /* 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); }