Removed support for 'before read hooks' because there is no such thing.
authorArt Cancro <ajc@citadel.org>
Sun, 9 Aug 2020 20:48:18 +0000 (16:48 -0400)
committerArt Cancro <ajc@citadel.org>
Sun, 9 Aug 2020 20:48:18 +0000 (16:48 -0400)
26 files changed:
citadel/config.c
citadel/euidindex.c
citadel/modules/autocompletion/serv_autocompletion.c
citadel/modules/bio/serv_bio.c
citadel/modules/calendar/serv_calendar.c
citadel/modules/ctdlproto/serv_messages.c
citadel/modules/ctdlproto/serv_rooms.c
citadel/modules/expire/serv_expire.c
citadel/modules/fulltext/serv_fulltext.c
citadel/modules/image/serv_image.c
citadel/modules/imap/imap_fetch.c
citadel/modules/imap/imap_search.c
citadel/modules/inboxrules/serv_inboxrules.c
citadel/modules/inetcfg/serv_inetcfg.c
citadel/modules/migrate/serv_migrate.c
citadel/modules/network/serv_netmail.c
citadel/modules/network/serv_netspool.c
citadel/modules/nntp/serv_nntp.c
citadel/modules/smtp/serv_smtp.c
citadel/modules/smtp/serv_smtpclient.c
citadel/modules/vcard/serv_vcard.c
citadel/modules/wiki/serv_wiki.c
citadel/modules/xmpp/xmpp_presence.c
citadel/msgbase.c
citadel/msgbase.h
citadel/server.h

index d5dc85d98c15e90a774276555ef19397c023aee6..3e9ac8b07f68a59f18b3fda2bf9286a194a888b7 100644 (file)
@@ -485,7 +485,7 @@ char *CtdlGetSysConfig(char *sysconfname) {
                conf = NULL;
        }
        else {
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
                if (msg != NULL) {
                        conf = strdup(msg->cm_fields[eMesageText]);
                        CM_Free(msg);
index 8533caabf85a6099e7ed32463341265b27691b36..bfef39b4c900634967d0a45696625f6441662997 100644 (file)
@@ -1,7 +1,7 @@
 /* 
  * Index messages by EUID per room.
  *
- * Copyright (c) 1987-2019 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License, version 3.
@@ -131,7 +131,7 @@ void index_message_by_euid(char *euid, struct ctdlroom *qrbuf, long msgnum) {
 void rebuild_euid_index_for_msg(long msgnum, void *userdata) {
        struct CtdlMessage *msg = NULL;
 
-       msg = CtdlFetchMessage(msgnum, 0, 1);
+       msg = CtdlFetchMessage(msgnum, 0);
        if (msg == NULL) return;
        if (!CM_IsEmpty(msg, eExclusiveID)) {
                index_message_by_euid(msg->cm_fields[eExclusiveID], &CC->room, msgnum);
index ca7c0ae426f61c32f7a971e0c481718d575532cd..0e39b643507e71106d62734f29b6709d478a572a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Autocompletion of email recipients, etc.
  *
- * Copyright (c) 1987-2015 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
@@ -59,7 +59,7 @@ void hunt_for_autocomplete(long msgnum, char *search_string) {
        int i = 0;
        char *nnn = NULL;
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
 
        v = vcard_load(msg->cm_fields[eMesageText]);
index c9d94943f27c63daa50354583199d63148b49a40..4246f1a3e506f5b0474a9d1032adc8383e68adb4 100644 (file)
@@ -2,7 +2,7 @@
  * This module implementsserver commands related to the display and
  * manipulation of user "bio" files.
  *
- * Copyright (c) 1987-2017 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -82,7 +82,7 @@ void cmd_rbio(char *cmdbuf)
                ruser.fullname, ruser.usernum, ruser.axlevel,
                (long)ruser.lastcall, ruser.timescalled, ruser.posted);
 
-       struct CtdlMessage *msg = CtdlFetchMessage(ruser.msgnum_bio, 1, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(ruser.msgnum_bio, 1);
        if (msg != NULL) {
                CtdlOutputPreLoadedMsg(msg, MT_CITADEL, HEADERS_NONE, 0, 0, 0);
                CM_Free(msg);
index c38ffd250b5c1103cff240adebe9f03be68f8929..939bb95516a3d98d4865c6c6e0c61ef1a1e317f3 100644 (file)
@@ -360,7 +360,7 @@ void ical_respond(long msgnum, char *partnum, char *action) {
                return;
        }
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                cprintf("%d Message %ld not found.\n",
                        ERROR + ILLEGAL_VALUE,
@@ -619,7 +619,7 @@ int ical_update_my_calendar_with_reply(icalcomponent *cal) {
         * us the ability to load the event into memory so we can diddle the
         * attendees.
         */
-       msg = CtdlFetchMessage(msgnum_being_replaced, 1, 1);
+       msg = CtdlFetchMessage(msgnum_being_replaced, 1);
        if (msg == NULL) {
                return(2);                      /* internal error */
        }
@@ -699,7 +699,7 @@ void ical_handle_rsvp(long msgnum, char *partnum, char *action) {
                return;
        }
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                cprintf("%d Message %ld not found.\n",
                        ERROR + ILLEGAL_VALUE,
@@ -1134,7 +1134,7 @@ void ical_hunt_for_conflicts_backend(long msgnum, void *data) {
 
        proposed_event = (icalcomponent *)data;
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
        memset(&ird, 0, sizeof ird);
        strcpy(ird.desired_partnum, "_HUNT_");
@@ -1193,7 +1193,7 @@ void ical_conflicts(long msgnum, char *partnum) {
        struct CtdlMessage *msg = NULL;
        struct ical_respond_data ird;
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                cprintf("%d Message %ld not found\n",
                        ERROR + ILLEGAL_VALUE,
@@ -1377,7 +1377,7 @@ void ical_freebusy_backend(long msgnum, void *data) {
 
        fb = (icalcomponent *)data;             /* User-supplied data will be the VFREEBUSY component */
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
        memset(&ird, 0, sizeof ird);
        strcpy(ird.desired_partnum, "_HUNT_");
@@ -1574,7 +1574,7 @@ void ical_getics_backend(long msgnum, void *data) {
 
        /* Look for the calendar event... */
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
        memset(&ird, 0, sizeof ird);
        strcpy(ird.desired_partnum, "_HUNT_");
index 49a0cff91960da6fbdb671d836492af79d2be213..01fe2a893e55c56d51d410983e3cc7c452a1b395 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * represent messages to the citadel clients
  *
- * Copyright (c) 1987-2019 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
@@ -42,7 +42,7 @@ void headers_listing(long msgnum, void *userdata)
        struct CtdlMessage *msg;
        int output_mode =  *(int *)userdata;
 
-       msg = CtdlFetchMessage(msgnum, 0, 1);
+       msg = CtdlFetchMessage(msgnum, 0);
        if (msg == NULL) {
                cprintf("%ld|0|||||||\n", msgnum);
                return;
@@ -109,7 +109,7 @@ void headers_brief_filter(long msgnum, void *userdata)
        msg_filter *flt = (msg_filter*) userdata;
 
        l = GetCount(flt->Filter);
-       msg = CtdlFetchMessage(msgnum, 0, 1);
+       msg = CtdlFetchMessage(msgnum, 0);
        StrBufPrintf(flt->buffer, "%ld", msgnum);
        if (msg == NULL) {
                for (i = 0; i < l; i++) {
@@ -141,7 +141,7 @@ void headers_euid(long msgnum, void *userdata)
 {
        struct CtdlMessage *msg;
 
-       msg = CtdlFetchMessage(msgnum, 0, 1);
+       msg = CtdlFetchMessage(msgnum, 0);
        if (msg == NULL) {
                cprintf("%ld||\n", msgnum);
                return;
index d789372a3443834fee7859356a46a1ea0f6936db..ffd3037fb9dfd4018ecfa898f02a1ca9a9487bc2 100644 (file)
@@ -1,7 +1,7 @@
 /* 
  * Server functions which perform operations on room objects.
  *
- * Copyright (c) 1987-2017 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License, version 3.
@@ -716,7 +716,7 @@ void cmd_seta(char *new_ra)
  */
 void cmd_rinf(char *argbuf)
 {
-       struct CtdlMessage *msg = CtdlFetchMessage(CC->room.msgnum_info, 1, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(CC->room.msgnum_info, 1);
        if (msg != NULL) {
                cprintf("%d Info:\n", LISTING_FOLLOWS);
                CtdlOutputPreLoadedMsg(msg, MT_CITADEL, HEADERS_NONE, 0, 0, 0);
index 09e9eab1093fada7ae5418c40d64024448c755b8..89c730cdd24408b312afc0c29923fc4ecb20dc3d 100644 (file)
@@ -3,7 +3,7 @@
  *
  * You might also see this module affectionately referred to as TDAP (The Dreaded Auto-Purger).
  *
- * Copyright (c) 1988-2019 by citadel.org (Art Cancro, Wilifried Goesgens, and others)
+ * Copyright (c) 1988-2020 by citadel.org (Art Cancro, Wilifried Goesgens, and others)
  *
  * This program is open source software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as published
@@ -169,7 +169,7 @@ void GatherPurgeMessages(struct ctdlroom *qrbuf, void *data) {
                for (a=0; a<num_msgs; ++a) {
                        delnum = msglist[a];
 
-                       msg = CtdlFetchMessage(delnum, 0, 1); /* dont need body */
+                       msg = CtdlFetchMessage(delnum, 0);      /* don't need body */
                        if (msg != NULL) {
                                xtime = atol(msg->cm_fields[eTimestamp]);
                                CM_Free(msg);
@@ -712,7 +712,7 @@ int PurgeEuidIndexTable(void) {
 
                memcpy(&msgnum, cdbei->ptr, sizeof(long));
 
-               msg = CtdlFetchMessage(msgnum, 0, 1);
+               msg = CtdlFetchMessage(msgnum, 0);
                if (msg != NULL) {
                        CM_Free(msg);   /* it still exists, so do nothing */
                }
index 17c755da53308264df17b0defac5479007229e59..1d684111a73cb907420e7591af28b21865f160a9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * This module handles fulltext indexing of the message base.
- * Copyright (c) 2005-2018 by the citadel.org team
+ * Copyright (c) 2005-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as published
@@ -121,7 +121,7 @@ void ft_index_message(long msgnum, int op) {
        int tok;
        struct CtdlMessage *msg = NULL;
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                syslog(LOG_ERR, "fulltext: ft_index_message() could not load msg %ld", msgnum);
                return;
index cec7206779dd2a52238820f424ce76dae9eef0f3..0751010d5876edf5a3ffed7507fd50886e4887af 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1987-2018 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ void cmd_dlri(char *cmdbuf)
                return;
        }
 
-       struct CtdlMessage *msg = CtdlFetchMessage(CC->room.msgnum_pic, 1, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(CC->room.msgnum_pic, 1);
        if (msg != NULL) {
                // The call to CtdlOutputPreLoadedMsg() with MT_SPEW_SECTION will cause the DLRI command
                // to have the same output format as the DLAT command, because it calls the same code.
@@ -123,7 +123,7 @@ void cmd_dlui(char *cmdbuf)
                return;
        }
 
-       struct CtdlMessage *msg = CtdlFetchMessage(ruser.msgnum_pic, 1, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(ruser.msgnum_pic, 1);
        if (msg != NULL) {
                // The call to CtdlOutputPreLoadedMsg() with MT_SPEW_SECTION will cause the DLUI command
                // to have the same output format as the DLAT command, because it calls the same code.
index 293fecca019eec5c160b7c7531a63cfd4c32f818..c9d9c0d6bd23b7d9949bc6a56be0a7660970e391 100644 (file)
@@ -687,7 +687,7 @@ void imap_fetch_body(long msgnum, ConstStr item, int is_peek) {
        if (Imap->cached_body == NULL) {
                CCC->redirect_buffer = NewStrBufPlain(NULL, SIZ);
                loading_body_now = 1;
-               msg = CtdlFetchMessage(msgnum, (need_body ? 1 : 0), 1);
+               msg = CtdlFetchMessage(msgnum, (need_body ? 1 : 0));
        }
 
        /* Now figure out what the client wants, and get it */
@@ -1062,7 +1062,7 @@ void imap_do_fetch_msg(int seq, citimap_command *Cmd) {
                                msg = NULL;
                        }
                        if (msg == NULL) {
-                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                                body_loaded = 1;
                        }
                        imap_fetch_bodystructure(Imap->msgids[seq-1],
@@ -1070,14 +1070,14 @@ void imap_do_fetch_msg(int seq, citimap_command *Cmd) {
                }
                else if (!strcasecmp(Cmd->Params[i].Key, "ENVELOPE")) {
                        if (msg == NULL) {
-                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 0, 1);
+                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 0);
                                body_loaded = 0;
                        }
                        imap_fetch_envelope(msg);
                }
                else if (!strcasecmp(Cmd->Params[i].Key, "INTERNALDATE")) {
                        if (msg == NULL) {
-                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 0, 1);
+                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 0);
                                body_loaded = 0;
                        }
                        imap_fetch_internaldate(msg);
index f1b7f73e993ce26cc246a3f3effcd7c8070c48aa..5f4f1fee9782eb01ab715a34960d53777757ae2c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Implements IMAP's gratuitously complex SEARCH command.
  *
- * Copyright (c) 2001-2015 by the citadel.org team
+ * Copyright (c) 2001-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
@@ -115,7 +115,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "BCC")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -132,7 +132,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "BEFORE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -158,7 +158,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
                /* Otherwise, we have to do a slow search. */
                else {
                        if (msg == NULL) {
-                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                                need_to_free_msg = 1;
                        }
                        if (msg != NULL) {
@@ -173,7 +173,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "CC")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -219,7 +219,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "FROM")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -241,7 +241,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
                 * examining the message body.
                 */
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
 
@@ -271,7 +271,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "LARGER")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -298,7 +298,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "ON")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -328,7 +328,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SENTBEFORE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -344,7 +344,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SENTON")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -360,7 +360,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SENTSINCE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -376,7 +376,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SINCE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -392,7 +392,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SMALLER")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -405,7 +405,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SUBJECT")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -418,7 +418,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "TEXT")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -433,7 +433,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "TO")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
index ccc0cfe10aa57c37aad07d4ae2b9ea2adb23b076..fa9cca82acd06320d5d0c7aafafccc061b9b6e1c 100644 (file)
@@ -75,7 +75,7 @@ int ctdl_redirect(void)
                return SIEVE2_ERROR_BADARGS;
        }
 
-       msg = CtdlFetchMessage(cs->msgnum, 1, 1);
+       msg = CtdlFetchMessage(cs->msgnum, 1);
        if (msg == NULL) {
                syslog(LOG_WARNING, "REDIRECT failed: unable to fetch msg %ld", cs->msgnum);
                free_recipients(valid);
@@ -427,7 +427,7 @@ int ctdl_getheaders(sieve2_context_t *s, void *my) {
 /*
  * Perform sieve processing for one message (called by sieve_do_room() for each message)
  */
-void sieve_do_msg(long msgnum, void *userdata) {
+void inbox_do_msg(long msgnum, void *userdata) {
        struct sdm_userdata *u = (struct sdm_userdata *) userdata;
        sieve2_context_t *sieve2_context;
        struct ctdl_sieve my;
@@ -449,7 +449,7 @@ void sieve_do_msg(long msgnum, void *userdata) {
        /*
         * Make sure you include message body so you can get those second-level headers ;)
         */
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
 
        /*
@@ -996,14 +996,19 @@ struct inboxrules *deserialize_inbox_rules(char *serialized_rules) {
 
 
 /*
- * rename this
+ * Process a single message.  We know the room, the user, the rules, the message number, etc.
  */
-void sieve_do_msg(long msgnum, void *userdata) {
-       struct inboxrules *ii = (struct sdm_userdata *) userdata;
+void inbox_do_msg(long msgnum, void *userdata) {
+       struct inboxrules *ii = (struct inboxrules *) userdata;
+       struct CtdlMessage *msg;
        syslog(LOG_DEBUG, "inboxrules: processing message #%ld which is higher than %ld, we are in %s", msgnum, ii->lastproc, CC->room.QRname);
-}
+
+       // FIXME    you are here
 
 
+       //msg = CtdlFetchMessage(msgnum, 
+
+}
 
 
 /*
@@ -1020,7 +1025,7 @@ void do_inbox_processing_for_user(long usernum) {
                        return;                                         // this user has no inbox rules
                }
 
-               msg = CtdlFetchMessage(CC->user.msgnum_inboxrules, 1, 1);
+               msg = CtdlFetchMessage(CC->user.msgnum_inboxrules, 1);
                if (msg == NULL) {
                        return;                                         // config msgnum is set but that message does not exist
                }
@@ -1042,7 +1047,7 @@ void do_inbox_processing_for_user(long usernum) {
                        syslog(LOG_DEBUG, "GOT DA ROOM!  WE R000000000L!");
 
                                /* Do something useful */
-                               CtdlForEachMessage(MSGS_GT, ii->lastproc, NULL, NULL, NULL, sieve_do_msg, (void *) ii);
+                               CtdlForEachMessage(MSGS_GT, ii->lastproc, NULL, NULL, NULL, inbox_do_msg, (void *) ii);
 
                }
 
@@ -1054,7 +1059,7 @@ void do_inbox_processing_for_user(long usernum) {
 
 /*
  * Here is an array of users (by number) who have received messages in their inbox and may require processing.
-*/
+ */
 long *users_requiring_inbox_processing = NULL;
 int num_urip = 0;
 int num_urip_alloc = 0;
@@ -1133,7 +1138,7 @@ void cmd_gibr(char *argbuf) {
 
        cprintf("%d inbox rules for %s\n", LISTING_FOLLOWS, CC->user.fullname);
 
-       struct CtdlMessage *msg = CtdlFetchMessage(CC->user.msgnum_inboxrules, 1, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(CC->user.msgnum_inboxrules, 1);
        if (msg != NULL) {
                if (!CM_IsEmpty(msg, eMesageText)) {
                        char *token; 
@@ -1184,7 +1189,7 @@ void cmd_pibr(char *argbuf) {
 
        // Fetch the existing config so we can merge in anything that is NOT a rule 
        // (Does not start with "rule|" but has at least one vertical bar)
-       struct CtdlMessage *msg = CtdlFetchMessage(CC->user.msgnum_inboxrules, 1, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(CC->user.msgnum_inboxrules, 1);
        if (msg != NULL) {
                if (!CM_IsEmpty(msg, eMesageText)) {
                        rest = msg->cm_fields[eMesageText];
index 29e6f3cbbcc16b089c4cec79e8c4f5ba504ad8c9..971c672cf598fb381e60d52f7fbb7ed8e68b8bd1 100644 (file)
@@ -4,7 +4,7 @@
  * wrote it as a module merely to keep things as clean and loosely coupled
  * as possible.
  *
- * Copyright (c) 1987-2017 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
@@ -116,7 +116,7 @@ int inetcfg_aftersave(struct CtdlMessage *msg, recptypes *recp) {
 void inetcfg_init_backend(long msgnum, void *userdata) {
        struct CtdlMessage *msg;
 
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
                if (msg != NULL) {
                inetcfg_setTo(msg);
                        CM_Free(msg);
index f6d705568d691fc52d8f27f4dea8c610c44d0396..d982dd2d2d277013d9c7aed82842545ec669b9c8 100644 (file)
@@ -328,7 +328,7 @@ void migr_export_message(long msgnum) {
 
        /* Ok, here we go ... */
 
-       msg = CtdlFetchMessage(msgnum, 1, 0);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;        /* fail silently */
 
        client_write(HKEY("<message>\n"));
@@ -949,7 +949,7 @@ int migr_restore_message_metadata(long msgnum, int refcount)
 
        /* Ok, here we go ... */
 
-       msg = CtdlFetchMessage(msgnum, 1, 0);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                return 1;
        }
index b4c5f713b8f9f6da65d7694b247e27b37564fa29..60b779da444d1acbfe4ee6e9bb4d3cdf31f84353 100644 (file)
@@ -426,7 +426,7 @@ void network_spool_msg(long msgnum, void *userdata)
        SpoolControl *sc;
 
        sc = (SpoolControl *)userdata;
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
 
        if (msg == NULL)
        {
index aaabffa18cdc4e50556c502e7e8f549b3399c4ec..5055eabfa0bd9230a4bad7355dac7426c03b1b74 100644 (file)
@@ -2,7 +2,7 @@
  * This module handles shared rooms, inter-Citadel mail, and outbound
  * mailing list processing.
  *
- * Copyright (c) 2000-2018 by the citadel.org team
+ * Copyright (c) 2000-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License, version 3.
@@ -217,7 +217,7 @@ void CalcListID(SpoolControl *sc)
 #define MAX_LISTIDLENGTH 150
 
        // Load the room banner as the list description
-       struct CtdlMessage *msg = CtdlFetchMessage(sc->room.msgnum_info, 1, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(sc->room.msgnum_info, 1);
         if (msg != NULL) {
                CC->redirect_buffer = NewStrBufPlain(NULL, SIZ);
                 CtdlOutputPreLoadedMsg(msg, MT_CITADEL, HEADERS_NONE, 0, 0, 0);
index 14f75db6ce32328f38133dec8e5a044648707270..93f65da0a57a3d4582e7d36ed63adde968467669 100644 (file)
@@ -1,7 +1,7 @@
 //
 // NNTP server module (RFC 3977)
 //
-// Copyright (c) 2014-2018 by the citadel.org team
+// Copyright (c) 2014-2020 by the citadel.org team
 //
 // This program is open source software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License version 3.
@@ -977,7 +977,7 @@ void nntp_xover_backend(long msgnum, void *userdata) {
        if (msgnum < lr->lo) return;
        if ((lr->hi != 0) && (msgnum > lr->hi)) return;
 
-       struct CtdlMessage *msg = CtdlFetchMessage(msgnum, 0, 1);
+       struct CtdlMessage *msg = CtdlFetchMessage(msgnum, 0);
        if (msg == NULL) {
                return;
        }
index 5fbc5003c5592f46db2801b09a96c3fb9ab67622..eeace012e618b2837f1c0097548f87bf43bcfea0 100644 (file)
@@ -20,7 +20,7 @@
  * The VRFY and EXPN commands have been removed from this implementation
  * because nobody uses these commands anymore, except for spammers.
  *
- * Copyright (c) 1998-2018 by the citadel.org team
+ * Copyright (c) 1998-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
@@ -326,7 +326,7 @@ void smtp_webcit_preferences_hack_backend(long msgnum, void *userdata) {
                return; // already got it
        }
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                return;
        }
index 1b7595df0a7b9648db883e3df810af39cf700dcb..70db0a1161122f5cdbab638fefbe152b48a92352 100644 (file)
@@ -3,7 +3,7 @@
  *
  * This is the new, exciting, clever version that makes libcurl do all the work  :)
  *
- * Copyright (c) 1997-2018 by the citadel.org team
+ * Copyright (c) 1997-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as published
@@ -360,7 +360,7 @@ void smtp_process_one_msg(long qmsgnum)
        int delete_this_queue = 0;
        char server_response[SIZ];
 
-       msg = CtdlFetchMessage(qmsgnum, 1, 1);
+       msg = CtdlFetchMessage(qmsgnum, 1);
        if (msg == NULL) {
                syslog(LOG_WARNING, "smtpclient: %ld does not exist", qmsgnum);
                return;
index 1d0e2909dada8809f4a6de17149bcd32843bdd63..21a99b2d0aae3b99aad1674d320225cc56700600 100644 (file)
@@ -2,7 +2,7 @@
  * A server-side module for Citadel which supports address book information
  * using the standard vCard format.
  * 
- * Copyright (c) 1999-2018 by the citadel.org team
+ * Copyright (c) 1999-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
@@ -508,7 +508,7 @@ struct vCard *vcard_get_user(struct ctdluser *u) {
 
        if (VCmsgnum < 0L) return vcard_new();
 
-       msg = CtdlFetchMessage(VCmsgnum, 1, 1);
+       msg = CtdlFetchMessage(VCmsgnum, 1);
        if (msg == NULL) return vcard_new();
 
        v = vcard_load(msg->cm_fields[eMesageText]);
@@ -868,7 +868,7 @@ void dvca_mime_callback(char *name, char *filename, char *partnum, char *disp,
 void dvca_callback(long msgnum, void *userdata) {
        struct CtdlMessage *msg = NULL;
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
        mime_parser(CM_RANGE(msg, eMesageText),
                    *dvca_mime_callback,        /* callback function */
@@ -1087,7 +1087,7 @@ void strip_addresses_already_have(long msgnum, void *userdata) {
 
        collected_addresses = (char *)userdata;
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
        v = vcard_load(msg->cm_fields[eMesageText]);
        CM_Free(msg);
index 9851bf537eb769f7b457c08c91e482ea3f0fd092..ff7eec22d72ac1a7cfe0c498ad58fb4a0e59c5d4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Server-side module for Wiki rooms.  This handles things like version control. 
  * 
- * Copyright (c) 2009-2018 by the citadel.org team
+ * Copyright (c) 2009-2020 by the citadel.org team
  *
  * This program is open source software.  You can redistribute it and/or
  * modify it under the terms of the GNU General Public License, version 3.
@@ -140,7 +140,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
        /* See if we can retrieve the previous version. */
        old_msgnum = CtdlLocateMessageByEuid(msg->cm_fields[eExclusiveID], &CCC->room);
        if (old_msgnum > 0L) {
-               old_msg = CtdlFetchMessage(old_msgnum, 1, 1);
+               old_msg = CtdlFetchMessage(old_msgnum, 1);
        }
        else {
                old_msg = NULL;
@@ -221,7 +221,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) {
        history_msgnum = CtdlLocateMessageByEuid(history_page, &CCC->room);
        history_msg = NULL;
        if (history_msgnum > 0L) {
-               history_msg = CtdlFetchMessage(history_msgnum, 1, 1);
+               history_msg = CtdlFetchMessage(history_msgnum, 1);
        }
 
        /* Create a new history message if necessary */
@@ -405,7 +405,7 @@ void wiki_history(char *pagename) {
        snprintf(history_page_name, sizeof history_page_name, "%s_HISTORY_", pagename);
        msgnum = CtdlLocateMessageByEuid(history_page_name, &CC->room);
        if (msgnum > 0L) {
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
        }
        else {
                msg = NULL;
@@ -537,7 +537,7 @@ void wiki_rev(char *pagename, char *rev, char *operation)
         */
        msgnum = CtdlLocateMessageByEuid(pagename, &CCC->room);
        if (msgnum > 0L) {
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
        }
        else {
                msg = NULL;
@@ -571,7 +571,7 @@ void wiki_rev(char *pagename, char *rev, char *operation)
        snprintf(history_page_name, sizeof history_page_name, "%s_HISTORY_", pagename);
        msgnum = CtdlLocateMessageByEuid(history_page_name, &CCC->room);
        if (msgnum > 0L) {
-               msg = CtdlFetchMessage(msgnum, 1, 1);
+               msg = CtdlFetchMessage(msgnum, 1);
        }
        else {
                msg = NULL;
index 8fa6dea7fa6e7cddbf577828ff8db7ed0b47fbbb..ee7d56991c6c21d406e63ea71f2a2317d5e3d728 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Handle XMPP presence exchanges
  *
- * Copyright (c) 2007-2017 by Art Cancro and citadel.org
+ * Copyright (c) 2007-2020 by Art Cancro and citadel.org
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -224,7 +224,7 @@ void xmpp_fetch_mortuary_backend(long msgnum, void *userdata) {
        char *ptr = NULL;
        char *lasts = NULL;
 
-       msg = CtdlFetchMessage(msgnum, 1, 1);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                return;
        }
index 0b4ed5c593049f39d707f86733092cc144bdb69c..ae745958bc7c3b4a7106286d93fa2e3d27dff1e4 100644 (file)
@@ -756,7 +756,7 @@ int CtdlForEachMessage(int mode, long ref, char *search_string,
                                        free(msglist);
                                        return -1;
                                }
-                               msg = CtdlFetchMessage(msglist[a], 1, 1);
+                               msg = CtdlFetchMessage(msglist[a], 1);
                                if (msg != NULL) {
                                        if (CtdlMsgCmp(msg, compare)) {
                                                msglist[a] = 0L;
@@ -1163,7 +1163,7 @@ struct CtdlMessage *CtdlDeserializeMessage(long msgnum, int with_body, const cha
  * NOTE: Caller is responsible for freeing the returned CtdlMessage struct
  *       using the CM_Free(); function.
  */
-struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body, int run_msg_hooks)
+struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body)
 {
        struct cdbdata *dmsgtext;
        struct CtdlMessage *ret = NULL;
@@ -1204,12 +1204,6 @@ struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body, int run_msg_hoo
                CM_SetField(ret, eMesageText, HKEY("\r\n\r\n (no text)\r\n"));
        }
 
-       /* Perform "before read" hooks (aborting if any return nonzero) */
-       if (run_msg_hooks && (PerformMessageHooks(ret, NULL, EVT_BEFOREREAD) > 0)) {
-               CM_Free(ret);
-               return NULL;
-       }
-
        return (ret);
 }
 
@@ -1596,10 +1590,10 @@ int CtdlOutputMsg(long msg_num,         /* message number (local) to fetch */
         * request that we don't even bother loading the body into memory.
         */
        if (headers_only == HEADERS_FAST) {
-               TheMessage = CtdlFetchMessage(msg_num, 0, 1);
+               TheMessage = CtdlFetchMessage(msg_num, 0);
        }
        else {
-               TheMessage = CtdlFetchMessage(msg_num, 1, 1);
+               TheMessage = CtdlFetchMessage(msg_num, 1);
        }
 
        if (TheMessage == NULL) {
@@ -2394,7 +2388,7 @@ int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newms
                                msg = supplied_msg;
                        }
                        else {
-                               msg = CtdlFetchMessage(msgid, 0, 1);
+                               msg = CtdlFetchMessage(msgid, 0);
                        }
        
                        if (msg != NULL) {
index 308c3aa335b8b4949b86b66343afcdecfa613d7c..c990b23b2edd2f96a5e10491e2bc753c165c8b9d 100644 (file)
@@ -105,7 +105,7 @@ void CtdlWriteObject(char *req_room,                        /* Room to stuff it in */
                        int is_unique,                  /* Del others of this type? */
                        unsigned int flags              /* Internal save flags */
 );
-struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body, int run_msg_hooks);
+struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body);
 struct CtdlMessage * CM_Duplicate
                        (struct CtdlMessage *OrgMsg);
 int  CM_IsEmpty        (struct CtdlMessage *Msg, eMsgField which);
index 91b144f0df25a39f6f979fc953bbaf6a37c6026c..58b7f97706e91f076105d73189bff6e70fbf1ddc 100644 (file)
@@ -233,7 +233,6 @@ struct cdbdata {
 #define EVT_PURGEUSER  100     /* Deleting a user */
 #define EVT_NEWUSER    102     /* Creating a user */
 
-#define EVT_BEFOREREAD 200
 #define EVT_BEFORESAVE 201
 #define EVT_AFTERSAVE  202
 #define EVT_SMTPSCAN   203     /* called before submitting a msg from SMTP */