X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fserver%2Fmsgbase.c;h=8582fba301bed1b1f50209c45b5384ec34a04187;hp=b3a8f7071c66a9a3ee651dcc2e9feba089886e68;hb=HEAD;hpb=e8e6d8ec8decd3c161a1a78273b1538fe8bdb88b diff --git a/citadel/server/msgbase.c b/citadel/server/msgbase.c index b3a8f7071..aaf4446c6 100644 --- a/citadel/server/msgbase.c +++ b/citadel/server/msgbase.c @@ -1488,16 +1488,13 @@ int CtdlOutputMsg(long msg_num, // message number (local) to fetch ); if ((Author != NULL) && (*Author == NULL)) { - long len; - CM_GetAsField(TheMessage, eAuthor, Author, &len); + *Author = strdup(TheMessage->cm_fields[eAuthor]); } if ((Address != NULL) && (*Address == NULL)) { - long len; - CM_GetAsField(TheMessage, erFc822Addr, Address, &len); + *Address = strdup(TheMessage->cm_fields[erFc822Addr]); } if ((MessageID != NULL) && (*MessageID == NULL)) { - long len; - CM_GetAsField(TheMessage, emessageId, MessageID, &len); + *MessageID = strdup(TheMessage->cm_fields[emessageId]); } CM_Free(TheMessage); TheMessage = NULL; @@ -2011,12 +2008,13 @@ int CtdlOutputPreLoadedMsg( } if (mode == MT_RFC822) { - // Construct a fun message id - cprintf("Message-ID: <%s", mid); - if (strchr(mid, '@')==NULL) { - cprintf("@%s", snode); - } - cprintf(">%s", nl); + // Make the message ID RFC2822 compliant + cprintf("Message-ID: <%s%s%s>%s", // put it in angle brackets + mid, + (strchr(mid, '@') ? "" : "@"), // if there is no domain part, + (strchr(mid, '@') ? "" : snode), // tack on ours. + nl + ); if (!is_room_aide() && (TheMessage->cm_anon_type == MES_ANONONLY)) { cprintf("From: \"----\" %s", nl); @@ -2320,7 +2318,7 @@ long CtdlSaveThisMessage(struct CtdlMessage *msg, long msgid) { } if (error_count > 0) { - syslog(LOG_ERR, "msgbase: encountered %d errors storing message %ld", error_count, msgid); + syslog(LOG_ERR, "msgbase: encountered %ld errors storing message %ld", error_count, msgid); } // Free the memory we used for the serialized message