citadel
About: Citadel is an advanced messaging and collaboration system for groupware and BBS applications (preferred OS: Linux).
  Fossies Dox: citadel.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

msgbase.c File Reference
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <regex.h>
#include <sys/stat.h>
#include <libcitadel.h>
#include "ctdl_module.h"
#include "citserver.h"
#include "control.h"
#include "config.h"
#include "clientsocket.h"
#include "genstamp.h"
#include "room_ops.h"
#include "user_ops.h"
#include "internet_addressing.h"
#include "euidindex.h"
#include "msgbase.h"
#include "journaling.h"
Include dependency graph for msgbase.c:

Go to the source code of this file.

Data Structures

struct  encapmsg
 

Functions

int GetFieldFromMnemonic (eMsgField *f, const char *c)
 
void FillMsgKeyLookupTable (void)
 
int CM_IsEmpty (struct CtdlMessage *Msg, eMsgField which)
 
void CM_SetField (struct CtdlMessage *Msg, eMsgField which, const char *buf, long length)
 
void CM_SetFieldLONG (struct CtdlMessage *Msg, eMsgField which, long lvalue)
 
void CM_CutFieldAt (struct CtdlMessage *Msg, eMsgField WhichToCut, long maxlen)
 
void CM_FlushField (struct CtdlMessage *Msg, eMsgField which)
 
void CM_Flush (struct CtdlMessage *Msg)
 
void CM_CopyField (struct CtdlMessage *Msg, eMsgField WhichToPutTo, eMsgField WhichtToCopy)
 
void CM_PrependToField (struct CtdlMessage *Msg, eMsgField which, const char *buf, long length)
 
void CM_SetAsField (struct CtdlMessage *Msg, eMsgField which, char **buf, long length)
 
void CM_SetAsFieldSB (struct CtdlMessage *Msg, eMsgField which, StrBuf **buf)
 
void CM_GetAsField (struct CtdlMessage *Msg, eMsgField which, char **ret, long *retlen)
 
int CM_IsValidMsg (struct CtdlMessage *msg)
 
void CM_FreeContents (struct CtdlMessage *msg)
 
void CM_Free (struct CtdlMessage *msg)
 
int CM_DupField (eMsgField i, struct CtdlMessage *OrgMsg, struct CtdlMessage *NewMsg)
 
struct CtdlMessageCM_Duplicate (struct CtdlMessage *OrgMsg)
 
int CtdlMsgCmp (struct CtdlMessage *msg, struct CtdlMessage *template)
 
void CtdlGetSeen (char *buf, int which_set)
 
void CtdlSetSeen (long *target_msgnums, int num_target_msgnums, int target_setting, int which_set, struct ctdluser *which_user, struct ctdlroom *which_room)
 
int CtdlForEachMessage (int mode, long ref, char *search_string, char *content_type, struct CtdlMessage *compare, ForEachMsgCallback CallBack, void *userdata)
 
void memfmout (char *mptr, const char *nl)
 
void list_this_part (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void list_this_pref (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void list_this_suff (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void OpenCmdResult (char *filename, const char *mime_type)
 
void mime_download (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void mime_spew_section (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
struct CtdlMessageCtdlDeserializeMessage (long msgnum, int with_body, const char *Buffer, long Length)
 
struct CtdlMessageCtdlFetchMessage (long msgnum, int with_body)
 
void fixed_output_pre (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void fixed_output_post (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void fixed_output (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void choose_preferred (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void output_preferred (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
void extract_encapsulated_message (char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *cbuserdata)
 
int check_cached_msglist (long msgnum)
 
int CtdlOutputMsg (long msg_num, int mode, int headers_only, int do_proto, int crlf, char *section, int flags, char **Author, char **Address, char **MessageID)
 
void OutputCtdlMsgHeaders (struct CtdlMessage *TheMessage, int do_proto)
 
void OutputRFC822MsgHeaders (struct CtdlMessage *TheMessage, int flags, const char *nl, int nlen, char *mid, long sizeof_mid, char *suser, long sizeof_suser, char *luser, long sizeof_luser, char *fuser, long sizeof_fuser, char *snode, long sizeof_snode)
 
void Dump_RFC822HeadersBody (struct CtdlMessage *TheMessage, int headers_only, int flags, const char *nl, int nlen)
 
void DumpFormatFixed (struct CtdlMessage *TheMessage, int mode, const char *nl, int nllen)
 
int CtdlOutputPreLoadedMsg (struct CtdlMessage *TheMessage, int mode, int headers_only, int do_proto, int crlf, int flags)
 
int CtdlSaveMsgPointersInRoom (char *roomname, long newmsgidlist[], int num_newmsgs, int do_repl_check, struct CtdlMessage *supplied_msg, int suppress_refcount_adj)
 
int CtdlSaveMsgPointerInRoom (char *roomname, long msgid, int do_repl_check, struct CtdlMessage *supplied_msg)
 
long CtdlSaveThisMessage (struct CtdlMessage *msg, long msgid, int Reply)
 
long send_message (struct CtdlMessage *msg)
 
void CtdlSerializeMessage (struct ser_ret *ret, struct CtdlMessage *msg)
 
void ReplicationChecks (struct CtdlMessage *msg)
 
long CtdlSubmitMsg (struct CtdlMessage *msg, struct recptypes *recps, const char *force)
 
long quickie_message (const char *from, const char *fromaddr, const char *to, char *room, const char *text, int format_type, const char *subject)
 
StrBuf * CtdlReadMessageBodyBuf (char *terminator, long tlen, size_t maxlen, StrBuf *exist, int crlf)
 
char * CtdlReadMessageBody (char *terminator, long tlen, size_t maxlen, StrBuf *exist, int crlf)
 
struct CtdlMessageCtdlMakeMessage (struct ctdluser *author, char *recipient, char *recp_cc, char *room, int type, int format_type, char *fake_name, char *my_email, char *subject, char *supplied_euid, char *preformatted_text, char *references)
 
struct CtdlMessageCtdlMakeMessageLen (struct ctdluser *author, char *recipient, long rcplen, char *recp_cc, long cclen, char *room, long roomlen, int type, int format_type, char *fake_name, long fnlen, char *my_email, long myelen, char *subject, long subjlen, char *supplied_euid, long euidlen, char *preformatted_text, long textlen, char *references, long reflen)
 
int CtdlDeleteMessages (const char *room_name, long *dmsgnums, int num_dmsgnums, char *content_type)
 
void GetMetaData (struct MetaData *smibuf, long msgnum)
 
void PutMetaData (struct MetaData *smibuf)
 
void AdjRefCountList (long *msgnum, long nmsg, int incr)
 
void AdjRefCount (long msgnum, int incr)
 
long CtdlWriteObject (char *req_room, char *content_type, char *raw_message, off_t raw_length, struct ctdluser *is_mailbox, int is_binary, unsigned int flags)
 
char * ctdl_module_msgbase_init (int threading)
 

Variables

struct addresses_to_be_filedatbf = NULL
 
char * msgkeys []
 
HashList * msgKeyLookup = NULL
 
eMsgField FieldOrder []
 
static const long NDiskFields = sizeof(FieldOrder) / sizeof(eMsgField)
 

Function Documentation

◆ AdjRefCount()

◆ AdjRefCountList()

void AdjRefCountList ( long *  msgnum,
long  nmsg,
int  incr 
)

Definition at line 3428 of file msgbase.c.

References AdjRefCount().

Referenced by CtdlDeleteMessages(), and CtdlSaveMsgPointersInRoom().

◆ check_cached_msglist()

int check_cached_msglist ( long  msgnum)

Definition at line 1451 of file msgbase.c.

References CC, om_access_denied, and om_ok.

Referenced by CtdlOutputMsg().

◆ choose_preferred()

void choose_preferred ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 1300 of file msgbase.c.

References CC, ma_info::chosen_part, ma_info::chosen_pref, and ma_info::freeze.

Referenced by CtdlOutputPreLoadedMsg().

◆ CM_CopyField()

void CM_CopyField ( struct CtdlMessage Msg,
eMsgField  WhichToPutTo,
eMsgField  WhichtToCopy 
)

◆ CM_CutFieldAt()

void CM_CutFieldAt ( struct CtdlMessage Msg,
eMsgField  WhichToCut,
long  maxlen 
)

◆ CM_DupField()

int CM_DupField ( eMsgField  i,
struct CtdlMessage OrgMsg,
struct CtdlMessage NewMsg 
)

Definition at line 320 of file msgbase.c.

References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, and malloc().

Referenced by CM_Duplicate().

◆ CM_Duplicate()

struct CtdlMessage * CM_Duplicate ( struct CtdlMessage OrgMsg)

Definition at line 334 of file msgbase.c.

References CM_DupField(), CtdlMessage::cm_fields, CM_Free(), CM_IsValidMsg(), and malloc().

◆ CM_Flush()

void CM_Flush ( struct CtdlMessage Msg)

Definition at line 184 of file msgbase.c.

References CM_FlushField(), and CM_IsValidMsg().

◆ CM_FlushField()

void CM_FlushField ( struct CtdlMessage Msg,
eMsgField  which 
)

◆ CM_Free()

◆ CM_FreeContents()

void CM_FreeContents ( struct CtdlMessage msg)

Definition at line 296 of file msgbase.c.

References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, CtdlMessage::cm_magic, and free().

Referenced by CM_Free().

◆ CM_GetAsField()

void CM_GetAsField ( struct CtdlMessage Msg,
eMsgField  which,
char **  ret,
long *  retlen 
)

Definition at line 268 of file msgbase.c.

References CtdlMessage::cm_fields, and CtdlMessage::cm_lengths.

Referenced by CtdlOutputMsg(), and wiki_upload_beforesave().

◆ CM_IsEmpty()

◆ CM_IsValidMsg()

int CM_IsValidMsg ( struct CtdlMessage msg)

◆ CM_PrependToField()

void CM_PrependToField ( struct CtdlMessage Msg,
eMsgField  which,
const char *  buf,
long  length 
)

Definition at line 217 of file msgbase.c.

References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, free(), and malloc().

Referenced by spam_assassin().

◆ CM_SetAsField()

void CM_SetAsField ( struct CtdlMessage Msg,
eMsgField  which,
char **  buf,
long  length 
)

◆ CM_SetAsFieldSB()

◆ CM_SetField()

◆ CM_SetFieldLONG()

void CM_SetFieldLONG ( struct CtdlMessage Msg,
eMsgField  which,
long  lvalue 
)

◆ ctdl_module_msgbase_init()

char * ctdl_module_msgbase_init ( int  threading)

Definition at line 3557 of file msgbase.c.

References FillMsgKeyLookupTable().

◆ CtdlDeleteMessages()

◆ CtdlDeserializeMessage()

struct CtdlMessage * CtdlDeserializeMessage ( long  msgnum,
int  with_body,
const char *  Buffer,
long  Length 
)

◆ CtdlFetchMessage()

◆ CtdlForEachMessage()

◆ CtdlGetSeen()

void CtdlGetSeen ( char *  buf,
int  which_set 
)

◆ CtdlMakeMessage()

struct CtdlMessage * CtdlMakeMessage ( struct ctdluser author,
char *  recipient,
char *  recp_cc,
char *  room,
int  type,
int  format_type,
char *  fake_name,
char *  my_email,
char *  subject,
char *  supplied_euid,
char *  preformatted_text,
char *  references 
)

◆ CtdlMakeMessageLen()

struct CtdlMessage * CtdlMakeMessageLen ( struct ctdluser author,
char *  recipient,
long  rcplen,
char *  recp_cc,
long  cclen,
char *  room,
long  roomlen,
int  type,
int  format_type,
char *  fake_name,
long  fnlen,
char *  my_email,
long  myelen,
char *  subject,
long  subjlen,
char *  supplied_euid,
long  euidlen,
char *  preformatted_text,
long  textlen,
char *  references,
long  reflen 
)

◆ CtdlMsgCmp()

int CtdlMsgCmp ( struct CtdlMessage msg,
struct CtdlMessage template 
)

Definition at line 365 of file msgbase.c.

References CtdlMessage::cm_fields, and CtdlMessage::cm_lengths.

Referenced by CtdlForEachMessage().

◆ CtdlOutputMsg()

◆ CtdlOutputPreLoadedMsg()

◆ CtdlReadMessageBody()

char * CtdlReadMessageBody ( char *  terminator,
long  tlen,
size_t  maxlen,
StrBuf *  exist,
int  crlf 
)

Definition at line 3037 of file msgbase.c.

References CtdlReadMessageBodyBuf().

Referenced by cmd_conf(), cmd_pibr(), and ical_putics().

◆ CtdlReadMessageBodyBuf()

StrBuf * CtdlReadMessageBodyBuf ( char *  terminator,
long  tlen,
size_t  maxlen,
StrBuf *  exist,
int  crlf 
)

Definition at line 2976 of file msgbase.c.

References CtdlClientGetLine(), and SIZ.

Referenced by CtdlMakeMessageLen(), CtdlReadMessageBody(), and smtp_data().

◆ CtdlSaveMsgPointerInRoom()

int CtdlSaveMsgPointerInRoom ( char *  roomname,
long  msgid,
int  do_repl_check,
struct CtdlMessage supplied_msg 
)

◆ CtdlSaveMsgPointersInRoom()

◆ CtdlSaveThisMessage()

long CtdlSaveThisMessage ( struct CtdlMessage msg,
long  msgid,
int  Reply 
)

◆ CtdlSerializeMessage()

◆ CtdlSetSeen()

void CtdlSetSeen ( long *  target_msgnums,
int  num_target_msgnums,
int  target_setting,
int  which_set,
struct ctdluser which_user,
struct ctdlroom which_room 
)

◆ CtdlSubmitMsg()

long CtdlSubmitMsg ( struct CtdlMessage msg,
struct recptypes recps,
const char *  force 
)

Definition at line 2603 of file msgbase.c.

References atbf, begin_critical_section(), recptypes::bounce_to, CC, CM_CopyField(), CtdlMessage::cm_fields, CM_FlushField(), CtdlMessage::cm_format_type, CM_IsEmpty(), CM_IsValidMsg(), CM_SetField(), CM_SetFieldLONG(), addresses_to_be_filed::collected_addresses, CtdlBumpNewMailCounter(), CtdlGetConfigInt(), CtdlGetConfigStr(), CtdlGetUser(), CtdlLockGetCurrentUser(), CtdlMailboxName(), CtdlOutputPreLoadedMsg(), CtdlPutCurrentUserLock(), CtdlSaveMsgPointerInRoom(), CtdlUserGoto(), DoesThisRoomNeedEuidIndexing(), eAuthor, eJournal, eMesageText, eMessagePath, end_critical_section(), eOriginalRoom, eTimestamp, eVltMsgNum, EVT_AFTERSAVE, EVT_AFTERUSRMBOXSAVE, EVT_BEFORESAVE, harvest_collected_addresses(), HEADERS_ALL, JournalBackgroundSubmit(), MAILROOM, malloc(), MetaData::meta_content_type, MetaData::meta_msgnum, MetaData::meta_refcount, MetaData::meta_rfc822_length, MT_RFC822, addresses_to_be_filed::next, recptypes::num_ignet, recptypes::num_internet, recptypes::num_local, recptypes::num_room, PerformMessageHooks(), PutMetaData(), QP_EADDR, recptypes::recp_local, recptypes::recp_room, ReplicationChecks(), addresses_to_be_filed::roomname, ROOMNAMELEN, S_ATBF, send_message(), SENTITEMS, SIZ, smi, SMTP_SPOOLOUT_ROOM, TWITDETECT, USERCONTACTSROOM, and ctdluser::usernum.

Referenced by cmd_ent0(), CtdlWriteObject(), flush_individual_conversation(), ical_send_a_reply(), ical_send_out_invitations(), ical_update_my_calendar_with_reply(), ical_write_to_cal(), imap_append(), inbox_do_redirect(), JournalRunQueueMsg(), listdeliver_do_msg(), pop3client_one_mailbox(), quickie_message(), rss_end_element(), smtp_aftersave(), smtp_data(), smtp_do_bounce(), smtp_process_one_msg(), store_this_ha(), wiki_rev(), and wiki_upload_beforesave().

◆ CtdlWriteObject()

long CtdlWriteObject ( char *  req_room,
char *  content_type,
char *  raw_message,
off_t  raw_length,
struct ctdluser is_mailbox,
int  is_binary,
unsigned int  flags 
)

◆ Dump_RFC822HeadersBody()

void Dump_RFC822HeadersBody ( struct CtdlMessage TheMessage,
int  headers_only,
int  flags,
const char *  nl,
int  nlen 
)

◆ DumpFormatFixed()

void DumpFormatFixed ( struct CtdlMessage TheMessage,
int  mode,
const char *  nl,
int  nllen 
)

Definition at line 1898 of file msgbase.c.

References client_write(), CtdlMessage::cm_fields, cprintf(), eMesageText, MT_MIME, and SIZ.

Referenced by CtdlOutputPreLoadedMsg().

◆ extract_encapsulated_message()

void extract_encapsulated_message ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 1431 of file msgbase.c.

References encapmsg::desired_section, malloc(), encapmsg::msg, and encapmsg::msglen.

Referenced by CtdlOutputMsg().

◆ FillMsgKeyLookupTable()

void FillMsgKeyLookupTable ( void  )

Definition at line 87 of file msgbase.c.

References msgKeyLookup, and msgkeys.

Referenced by ctdl_module_msgbase_init().

◆ fixed_output()

void fixed_output ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

◆ fixed_output_post()

void fixed_output_post ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 1208 of file msgbase.c.

References ma_info::did_print, ma_info::freeze, and ma_info::is_ma.

Referenced by CtdlOutputPreLoadedMsg().

◆ fixed_output_pre()

void fixed_output_pre ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 1187 of file msgbase.c.

References ma_info::did_print, ma_info::freeze, and ma_info::is_ma.

Referenced by CtdlOutputPreLoadedMsg().

◆ GetFieldFromMnemonic()

int GetFieldFromMnemonic ( eMsgField f,
const char *  c 
)

Definition at line 78 of file msgbase.c.

References msgKeyLookup.

Referenced by cmd_msgs().

◆ GetMetaData()

◆ list_this_part()

void list_this_part ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 939 of file msgbase.c.

References cprintf(), and ma_info::is_ma.

Referenced by CtdlOutputPreLoadedMsg().

◆ list_this_pref()

void list_this_pref ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 963 of file msgbase.c.

References cprintf(), and ma_info::is_ma.

Referenced by CtdlOutputPreLoadedMsg().

◆ list_this_suff()

void list_this_suff ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 983 of file msgbase.c.

References cprintf(), and ma_info::is_ma.

Referenced by CtdlOutputPreLoadedMsg().

◆ memfmout()

void memfmout ( char *  mptr,
const char *  nl 
)

Definition at line 861 of file msgbase.c.

References client_write().

Referenced by cmd_gexp(), and CtdlOutputPreLoadedMsg().

◆ mime_download()

void mime_download ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 1004 of file msgbase.c.

References CC, cprintf(), ERROR, INTERNAL_ERROR, OpenCmdResult(), and TOO_BIG.

Referenced by CtdlOutputPreLoadedMsg().

◆ mime_spew_section()

void mime_spew_section ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

Definition at line 1045 of file msgbase.c.

References BINARY_FOLLOWS, CC, client_write(), and cprintf().

Referenced by CtdlOutputPreLoadedMsg().

◆ OpenCmdResult()

void OpenCmdResult ( char *  filename,
const char *  mime_type 
)

Definition at line 138 of file serv_file.c.

Referenced by cmd_oimg(), cmd_open(), and mime_download().

◆ output_preferred()

void output_preferred ( char *  name,
char *  filename,
char *  partnum,
char *  disp,
void *  content,
char *  cbtype,
char *  cbcharset,
size_t  length,
char *  encoding,
char *  cbid,
void *  cbuserdata 
)

◆ OutputCtdlMsgHeaders()

◆ OutputRFC822MsgHeaders()

void OutputRFC822MsgHeaders ( struct CtdlMessage TheMessage,
int  flags,
const char *  nl,
int  nlen,
char *  mid,
long  sizeof_mid,
char *  suser,
long  sizeof_suser,
char *  luser,
long  sizeof_luser,
char *  fuser,
long  sizeof_fuser,
char *  snode,
long  sizeof_snode 
)

◆ PutMetaData()

void PutMetaData ( struct MetaData smibuf)

◆ quickie_message()

◆ ReplicationChecks()

◆ send_message()

long send_message ( struct CtdlMessage msg)

Variable Documentation

◆ atbf

struct addresses_to_be_filed* atbf = NULL

Definition at line 33 of file msgbase.c.

Referenced by CtdlSubmitMsg(), and store_harvested_addresses().

◆ FieldOrder

eMsgField FieldOrder[]

Definition at line 100 of file msgbase.c.

Referenced by CtdlSerializeMessage(), OutputCtdlMsgHeaders(), and OutputRFC822MsgHeaders().

◆ msgKeyLookup

HashList* msgKeyLookup = NULL

Definition at line 76 of file msgbase.c.

Referenced by FillMsgKeyLookupTable(), and GetFieldFromMnemonic().

◆ msgkeys

char* msgkeys[]

Definition at line 37 of file msgbase.c.

Referenced by FillMsgKeyLookupTable(), and OutputCtdlMsgHeaders().

◆ NDiskFields

const long NDiskFields = sizeof(FieldOrder) / sizeof(eMsgField)
static

Definition at line 134 of file msgbase.c.

Referenced by CtdlSerializeMessage(), OutputCtdlMsgHeaders(), and OutputRFC822MsgHeaders().