+
+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);
+ }
+}
+
+mx_t const nntp_mx = {
+ M_NNTP,
+ 0,
+ nntp_is_magic,
+ NULL,
+ NULL,
+ nntp_open_mailbox,
+ NULL,
+ acl_check_nntp,
+ nntp_check_mailbox,
+ nntp_fastclose_mailbox,
+ nntp_sync_mailbox,
+ NULL,
+};