X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fjournaling.c;h=375589750db5e8a83e20ce94f1591409bf4e64a6;hb=0387f48886a9395d89eaca01cd40ab751610426f;hp=5707faaf0ed1c4d5e71979a2e1015a5f7c468090;hpb=f86a2278221b47cef60c27bc9bfba6cb8689056c;p=citadel.git diff --git a/citadel/journaling.c b/citadel/journaling.c index 5707faaf0..375589750 100644 --- a/citadel/journaling.c +++ b/citadel/journaling.c @@ -1,7 +1,7 @@ /* * Message journaling functions. * - * 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 version 3. @@ -47,7 +47,6 @@ void JournalBackgroundSubmit(struct CtdlMessage *msg, memset(jptr, 0, sizeof(struct jnlq)); if (recps != NULL) memcpy(&jptr->recps, recps, sizeof(recptypes)); if (!CM_IsEmpty(msg, eAuthor)) jptr->from = strdup(msg->cm_fields[eAuthor]); - if (!CM_IsEmpty(msg, eNodeName)) jptr->node = strdup(msg->cm_fields[eNodeName]); if (!CM_IsEmpty(msg, erFc822Addr)) jptr->rfca = strdup(msg->cm_fields[erFc822Addr]); if (!CM_IsEmpty(msg, eMsgSubject)) jptr->subj = strdup(msg->cm_fields[eMsgSubject]); if (!CM_IsEmpty(msg, emessageId)) jptr->msgn = strdup(msg->cm_fields[emessageId]); @@ -63,14 +62,7 @@ void JournalBackgroundSubmit(struct CtdlMessage *msg, /* * Convert a local user name to an internet email address for the journal - */ - -/* - * TODODRW: change this into a CtdlModuleDo type function that returns alternative address info - * for this local user. Something like CtdlModuleGoGetAddr(char *localuser, int type, char *alt_addr, size_t alt_addr_len) - * where type can be ADDR_EMAIL, ADDR_FIDO, ADDR_UUCP, ADDR_WEB, ADDR_POSTAL etc etc. - * This then begs the question of what should be returned. Is it wise to return a single char* using a comma as a - * delimiter? Or would it be better to return a linked list of some kind? + * FIXME - grab the user's Internet email address from the user record, not from vCard !!!! */ void local_to_inetemail(char *inetemail, char *localuser, size_t inetemail_len) { struct ctdluser us; @@ -129,19 +121,15 @@ void JournalRunQueueMsg(struct jnlq *jmsg) { CM_SetField(journal_msg, eJournal, HKEY("is journal")); if (!IsEmptyStr(jmsg->from)) { - CM_SetField(journal_msg, eAuthor, jmsg->from, strlen(jmsg->from)); - } - - if (!IsEmptyStr(jmsg->node)) { - CM_SetField(journal_msg, eNodeName, jmsg->node, strlen(jmsg->node)); + CM_SetField(journal_msg, eAuthor, jmsg->from, -1); } if (!IsEmptyStr(jmsg->rfca)) { - CM_SetField(journal_msg, erFc822Addr, jmsg->rfca, strlen(jmsg->rfca)); + CM_SetField(journal_msg, erFc822Addr, jmsg->rfca, -1); } if (!IsEmptyStr(jmsg->subj)) { - CM_SetField(journal_msg, eMsgSubject, jmsg->subj, strlen(jmsg->subj)); + CM_SetField(journal_msg, eMsgSubject, jmsg->subj, -1); } mblen = snprintf(mime_boundary, sizeof(mime_boundary), @@ -158,23 +146,25 @@ void JournalRunQueueMsg(struct jnlq *jmsg) { /* * Here is where we begin to compose the journalized message. - * NOTE: the superfluous "Content-Identifer: ExJournalReport" header was - * requested by a paying customer, and yes, it is intentionally - * spelled wrong. Do NOT remove or change it. + * (The "ExJournalReport" header is consumed by some email retention services which assume the journaling agent is Exchange.) */ StrBufAppendBufPlain( message_text, - HKEY("Content-type: multipart/mixed; boundary=\""), 0); + HKEY("Content-type: multipart/mixed; boundary=\""), + 0 + ); StrBufAppendBufPlain(message_text, mime_boundary, mblen, 0); StrBufAppendBufPlain( message_text, HKEY("\"\r\n" - "Content-Identifer: ExJournalReport\r\n" + "Content-Identifier: ExJournalReport\r\n" "MIME-Version: 1.0\r\n" "\n" - "--"), 0); + "--"), + 0 + ); StrBufAppendBufPlain(message_text, mime_boundary, mblen, 0); @@ -198,17 +188,10 @@ void JournalRunQueueMsg(struct jnlq *jmsg) { StrBufAppendPrintf(message_text, " <%s>", journal_msg->cm_fields[erFc822Addr]); } - else if (!CM_IsEmpty(journal_msg, eNodeName)) { - StrBufAppendPrintf(message_text, " @ %s", journal_msg->cm_fields[eNodeName]); - } - else { - StrBufAppendBufPlain( message_text, HKEY(" "), 0); - } StrBufAppendBufPlain(message_text, HKEY("\r\nMessage-ID: <"), 0); - StrBufAppendBufPlain(message_text, jmsg->msgn, -1, 0); - StrBufAppendBufPlain( message_text, HKEY(">\r\nRecipients:\r\n"), 0); + StrBufAppendBufPlain(message_text, HKEY(">\r\nRecipients:\r\n"), 0); if (jmsg->recps.num_local > 0) { for (i=0; irecps.num_local; ++i) { @@ -240,7 +223,7 @@ void JournalRunQueueMsg(struct jnlq *jmsg) { jmsg->msgn = NULL; /* Submit journal message */ - CtdlSubmitMsg(journal_msg, journal_recps, "", 0); + CtdlSubmitMsg(journal_msg, journal_recps, ""); CM_Free(journal_msg); }