citadel
About: Citadel is an advanced messaging and collaboration system for groupware and BBS applications (preferred OS: Linux).
![]() ![]() |
Go to the source code of this file.
Data Structures | |
struct | ma_info |
struct | repl |
struct | addresses_to_be_filed |
Macros | |
#define | HEADERS_ALL 0 /* Headers and body */ |
#define | HEADERS_ONLY 1 /* Headers only */ |
#define | HEADERS_NONE 2 /* Body only */ |
#define | HEADERS_FAST 3 /* Headers only with no MIME info */ |
#define | CM_KEY(Message, Which) Message->cm_fields[Which], Message->cm_lengths[Which] |
#define | CM_RANGE(Message, Which) |
#define | QP_EADDR (1<<0) /* quoted-printable encode email addresses */ |
#define | CRLF (1<<1) |
#define | ESC_DOT (1<<2) /* output a line containing only "." as ".." instead */ |
#define | SUPPRESS_ENV_TO (1<<3) /* suppress Envelope-to: header (warning: destructive!) */ |
Typedefs | |
typedef void(* | ForEachMsgCallback) (long MsgNumber, void *UserData) |
Enumerations | |
enum | { MSGS_ALL , MSGS_OLD , MSGS_NEW , MSGS_FIRST , MSGS_LAST , MSGS_GT , MSGS_EQ , MSGS_SEARCH , MSGS_LT } |
enum | { MSG_HDRS_BRIEF = 0 , MSG_HDRS_ALL = 1 , MSG_HDRS_EUID = 4 , MSG_HDRS_BRIEFFILTER = 8 , MSG_HDRS_THREADS = 9 } |
enum | { om_ok , om_not_logged_in , om_no_such_msg , om_mime_error , om_access_denied } |
enum | { ctdlsetseen_seen , ctdlsetseen_answered } |
Functions | |
int | GetFieldFromMnemonic (eMsgField *f, const char *c) |
void | memfmout (char *mptr, const char *nl) |
void | output_mime_parts (char *) |
long | send_message (struct CtdlMessage *) |
void | loadtroom (void) |
long | CtdlSubmitMsg (struct CtdlMessage *, struct recptypes *, const char *) |
long | quickie_message (char *from, char *fromaddr, char *to, char *room, char *text, int format_type, char *subject) |
void | GetMetaData (struct MetaData *, long) |
void | PutMetaData (struct MetaData *) |
void | AdjRefCount (long, int) |
void | TDAP_AdjRefCount (long, int) |
int | TDAP_ProcessAdjRefCountQueue (void) |
void | simple_listing (long, void *) |
int | CtdlMsgCmp (struct CtdlMessage *msg, struct CtdlMessage *template) |
int | CtdlForEachMessage (int mode, long ref, char *searchstring, char *content_type, struct CtdlMessage *compare, ForEachMsgCallback CallBack, void *userdata) |
int | CtdlDeleteMessages (const char *, long *, int, char *) |
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) |
struct CtdlMessage * | CtdlFetchMessage (long msgnum, int with_body) |
struct CtdlMessage * | CM_Duplicate (struct CtdlMessage *OrgMsg) |
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_CopyField (struct CtdlMessage *Msg, eMsgField WhichToPutTo, eMsgField WhichtToCopy) |
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_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) |
void | CM_PrependToField (struct CtdlMessage *Msg, eMsgField which, const char *buf, long length) |
void | CM_Free (struct CtdlMessage *msg) |
void | CM_FreeContents (struct CtdlMessage *msg) |
int | CM_IsValidMsg (struct CtdlMessage *msg) |
void | CtdlSerializeMessage (struct ser_ret *, struct CtdlMessage *) |
struct CtdlMessage * | CtdlDeserializeMessage (long msgnum, int with_body, const char *Buffer, long Length) |
void | ReplicationChecks (struct CtdlMessage *) |
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 *msg) |
long | CtdlSaveThisMessage (struct CtdlMessage *msg, long msgid, int Reply) |
char * | CtdlReadMessageBody (char *terminator, long tlen, size_t maxlen, StrBuf *exist, int crlf) |
StrBuf * | CtdlReadMessageBodyBuf (char *terminator, long tlen, size_t maxlen, StrBuf *exist, int crlf) |
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) |
int | CtdlOutputPreLoadedMsg (struct CtdlMessage *, int mode, int headers_only, int do_proto, int crlf, int flags) |
void | CtdlSetSeen (long *target_msgnums, int num_target_msgnums, int target_setting, int which_set, struct ctdluser *which_user, struct ctdlroom *which_room) |
void | CtdlGetSeen (char *buf, int which_set) |
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) |
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) |
void | AdjRefCountList (long *msgnum, long nmsg, int incr) |
Variables | |
struct addresses_to_be_filed * | atbf |
#define CM_KEY | ( | Message, | |
Which | |||
) | Message->cm_fields[Which], Message->cm_lengths[Which] |
#define CM_RANGE | ( | Message, | |
Which | |||
) |
#define ESC_DOT (1<<2) /* output a line containing only "." as ".." instead */ |
#define HEADERS_FAST 3 /* Headers only with no MIME info */ |
#define QP_EADDR (1<<0) /* quoted-printable encode email addresses */ |
#define SUPPRESS_ENV_TO (1<<3) /* suppress Envelope-to: header (warning: destructive!) */ |
typedef void(* ForEachMsgCallback) (long MsgNumber, void *UserData) |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
void AdjRefCount | ( | long | msgnum, |
int | incr | ||
) |
Definition at line 3428 of file msgbase.c.
References begin_critical_section(), CDB_BIGMSGS, cdb_delete(), CDB_MSGMAIN, end_critical_section(), GetMetaData(), MetaData::meta_refcount, PerformDeleteHooks(), PutMetaData(), S_SUPPMSGMAIN, and smi.
Referenced by AdjRefCountList(), ProcessOldStyleAdjRefCountQueue(), and RemoveMessagesFromRooms().
void AdjRefCountList | ( | long * | msgnum, |
long | nmsg, | ||
int | incr | ||
) |
Definition at line 3415 of file msgbase.c.
References AdjRefCount().
Referenced by CtdlDeleteMessages(), and CtdlSaveMsgPointersInRoom().
void CM_CopyField | ( | struct CtdlMessage * | Msg, |
eMsgField | WhichToPutTo, | ||
eMsgField | WhichtToCopy | ||
) |
Definition at line 192 of file msgbase.c.
References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, free(), and malloc().
Referenced by CtdlSubmitMsg(), serv_notes_beforesave(), vcard_upload_beforesave(), and wiki_upload_beforesave().
void CM_CutFieldAt | ( | struct CtdlMessage * | Msg, |
eMsgField | WhichToCut, | ||
long | maxlen | ||
) |
Definition at line 159 of file msgbase.c.
References CtdlMessage::cm_fields, and CtdlMessage::cm_lengths.
Referenced by blog_upload_beforesave(), quickie_message(), and serv_notes_beforesave().
struct CtdlMessage * CM_Duplicate | ( | struct CtdlMessage * | OrgMsg | ) |
Definition at line 329 of file msgbase.c.
References CM_DupField(), CtdlMessage::cm_fields, CM_Free(), CM_IsValidMsg(), and malloc().
void CM_Flush | ( | struct CtdlMessage * | Msg | ) |
Definition at line 179 of file msgbase.c.
References CM_FlushField(), and CM_IsValidMsg().
void CM_FlushField | ( | struct CtdlMessage * | Msg, |
eMsgField | which | ||
) |
Definition at line 171 of file msgbase.c.
References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, and free().
Referenced by CM_Flush(), CtdlSubmitMsg(), vcard_upload_beforesave(), and wiki_upload_beforesave().
void CM_Free | ( | struct CtdlMessage * | msg | ) |
Definition at line 305 of file msgbase.c.
References CM_FreeContents(), CM_IsValidMsg(), and free().
Referenced by CM_Duplicate(), cmd_dlri(), cmd_dlui(), cmd_ent0(), cmd_gibr(), cmd_msgs(), cmd_rbio(), cmd_rinf(), CtdlForEachMessage(), CtdlGetSysConfig(), CtdlOutputMsg(), CtdlSaveMsgPointersInRoom(), CtdlWriteObject(), do_inbox_processing_for_user(), dvca_callback(), flush_individual_conversation(), ft_index_message(), GatherPurgeMessages(), headers_euid(), headers_listing(), hunt_for_autocomplete(), ical_conflicts(), ical_freebusy_backend(), ical_getics_backend(), ical_handle_rsvp(), ical_hunt_for_conflicts_backend(), ical_respond(), ical_send_a_reply(), ical_send_out_invitations(), ical_update_my_calendar_with_reply(), ical_write_to_cal(), imap_append(), imap_do_fetch_msg(), imap_do_search_msg(), imap_fetch_body(), inbox_do_msg(), inbox_do_redirect(), inetcfg_init_backend(), JournalRunQueueMsg(), listdeliver_do_msg(), migr_export_message(), migr_restore_message_metadata(), migr_xml_end(), nntp_xover_backend(), pop3client_one_mailbox(), PurgeEuidIndexTable(), quickie_message(), rebuild_euid_index_for_msg(), rss_end_element(), rss_start_element(), smtp_aftersave(), smtp_data(), smtp_do_bounce(), smtp_process_one_msg(), smtp_webcit_preferences_hack_backend(), store_this_ha(), strip_addresses_already_have(), vcard_get_user(), wiki_history(), wiki_rev(), wiki_upload_beforesave(), and xmpp_fetch_mortuary_backend().
void CM_FreeContents | ( | struct CtdlMessage * | msg | ) |
Definition at line 291 of file msgbase.c.
References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, CtdlMessage::cm_magic, and free().
Referenced by CM_Free().
void CM_GetAsField | ( | struct CtdlMessage * | Msg, |
eMsgField | which, | ||
char ** | ret, | ||
long * | retlen | ||
) |
Definition at line 263 of file msgbase.c.
References CtdlMessage::cm_fields, and CtdlMessage::cm_lengths.
Referenced by CtdlOutputMsg(), and wiki_upload_beforesave().
int CM_IsEmpty | ( | struct CtdlMessage * | Msg, |
eMsgField | which | ||
) |
Definition at line 132 of file msgbase.c.
References CtdlMessage::cm_fields.
Referenced by blog_upload_beforesave(), cmd_ent0(), cmd_gibr(), convert_field(), convert_internet_message_buf(), CtdlFetchMessage(), CtdlOutputPreLoadedMsg(), CtdlSaveMsgPointersInRoom(), CtdlSaveThisMessage(), CtdlSubmitMsg(), ft_index_message(), harvest_collected_addresses(), headers_brief_filter(), headers_euid(), headers_listing(), ical_obj_aftersave(), ical_obj_beforesave(), imap_do_search_msg(), imap_fetch_envelope(), imap_fetch_internaldate(), imap_output_envelope_from(), inetcfg_setTo(), JournalBackgroundSubmit(), JournalRunQueueMsg(), OutputCtdlMsgHeaders(), rebuild_euid_index_for_msg(), ReplicationChecks(), rss_end_element(), send_message(), smtp_data(), smtp_webcit_preferences_hack_backend(), vcard_upload_aftersave(), vcard_upload_beforesave(), wiki_history(), wiki_rev(), and wiki_upload_beforesave().
int CM_IsValidMsg | ( | struct CtdlMessage * | msg | ) |
Definition at line 279 of file msgbase.c.
References CtdlMessage::cm_magic, and CTDLMESSAGE_MAGIC.
Referenced by CM_Duplicate(), CM_Flush(), CM_Free(), CtdlOutputPreLoadedMsg(), CtdlSerializeMessage(), and CtdlSubmitMsg().
void CM_PrependToField | ( | struct CtdlMessage * | Msg, |
eMsgField | which, | ||
const char * | buf, | ||
long | length | ||
) |
Definition at line 212 of file msgbase.c.
References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, free(), and malloc().
Referenced by spam_assassin().
void CM_SetAsField | ( | struct CtdlMessage * | Msg, |
eMsgField | which, | ||
char ** | buf, | ||
long | length | ||
) |
Definition at line 237 of file msgbase.c.
References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, and free().
Referenced by CtdlFetchMessage(), CtdlMakeMessageLen(), ical_obj_beforesave_backend(), wiki_rev(), and wiki_upload_beforesave().
void CM_SetAsFieldSB | ( | struct CtdlMessage * | Msg, |
eMsgField | which, | ||
StrBuf ** | buf | ||
) |
Definition at line 253 of file msgbase.c.
References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, and free().
Referenced by convert_internet_message_buf(), CtdlMakeMessageLen(), CtdlWriteObject(), flush_individual_conversation(), ical_write_to_cal(), JournalRunQueueMsg(), rss_end_element(), smtp_aftersave(), smtp_do_bounce(), store_this_ha(), vcard_upload_beforesave(), and wiki_upload_beforesave().
void CM_SetField | ( | struct CtdlMessage * | Msg, |
eMsgField | which, | ||
const char * | buf, | ||
long | length | ||
) |
Definition at line 137 of file msgbase.c.
References CtdlMessage::cm_fields, CtdlMessage::cm_lengths, free(), and malloc().
Referenced by blog_upload_beforesave(), clamd(), CM_SetFieldLONG(), cmd_ent0(), cmd_msgs(), convert_field(), CtdlDeserializeMessage(), CtdlFetchMessage(), CtdlMakeMessageLen(), CtdlSubmitMsg(), CtdlWriteObject(), flush_individual_conversation(), ical_obj_beforesave_backend(), ical_write_to_cal(), imap_append(), JournalRunQueueMsg(), listdeliver_do_msg(), quickie_message(), rss_end_element(), send_message(), serv_notes_beforesave(), smtp_aftersave(), smtp_data(), smtp_do_bounce(), spam_assassin(), store_this_ha(), vcard_upload_beforesave(), wiki_rev(), and wiki_upload_beforesave().
void CM_SetFieldLONG | ( | struct CtdlMessage * | Msg, |
eMsgField | which, | ||
long | lvalue | ||
) |
Definition at line 151 of file msgbase.c.
References CM_SetField().
Referenced by convert_field(), convert_internet_message_buf(), CtdlSubmitMsg(), ical_obj_beforesave_backend(), rss_end_element(), wiki_rev(), and wiki_upload_beforesave().
int CtdlDeleteMessages | ( | const char * | room_name, |
long * | dmsgnums, | ||
int | num_dmsgnums, | ||
char * | content_type | ||
) |
Definition at line 3227 of file msgbase.c.
References AdjRefCountList(), cdb_fetch(), cdb_free(), CDB_MSGLISTS, cdb_store(), CtdlGetRoomLock(), CtdlPutRoomLock(), free(), GetMetaData(), cdbdata::len, malloc(), MetaData::meta_content_type, PerformDeleteHooks(), cdbdata::ptr, qrbuf, ctdlroom::QRhighest, ctdlroom::QRname, ctdlroom::QRnumber, smi, and sort_msglist().
Referenced by cmd_dele(), cmd_ebio(), cmd_einf(), cmd_move(), cmd_ulri(), cmd_ului(), CtdlDeleteRoom(), CtdlPutSysConfig(), DoPurgeMessages(), ical_putics(), imap_do_expunge(), import_one_bio_file(), import_one_userpic_file(), inbox_do_msg(), pop3_update(), RemoveMessagesFromRooms(), ReplicationChecks(), rewrite_rules_to_disk(), smtp_process_one_msg(), vcard_upload_beforesave(), and xmpp_store_mortuary().
struct CtdlMessage * CtdlDeserializeMessage | ( | long | msgnum, |
int | with_body, | ||
const char * | Buffer, | ||
long | Length | ||
) |
Definition at line 1062 of file msgbase.c.
References CtdlMessage::cm_anon_type, CtdlMessage::cm_format_type, CtdlMessage::cm_magic, CM_SetField(), CTDLMESSAGE_MAGIC, and malloc().
Referenced by CtdlFetchMessage(), and migr_xml_end().
struct CtdlMessage * CtdlFetchMessage | ( | long | msgnum, |
int | with_body | ||
) |
Definition at line 1128 of file msgbase.c.
References CDB_BIGMSGS, cdb_fetch(), cdb_free(), CDB_MSGMAIN, CM_IsEmpty(), CM_SetAsField(), CM_SetField(), CtdlDeserializeMessage(), eMesageText, cdbdata::len, and cdbdata::ptr.
Referenced by cmd_dlri(), cmd_dlui(), cmd_gibr(), cmd_rbio(), cmd_rinf(), CtdlForEachMessage(), CtdlGetSysConfig(), CtdlOutputMsg(), CtdlSaveMsgPointersInRoom(), do_inbox_processing_for_user(), dvca_callback(), ft_index_message(), GatherPurgeMessages(), headers_brief_filter(), headers_euid(), headers_listing(), hunt_for_autocomplete(), ical_conflicts(), ical_freebusy_backend(), ical_getics_backend(), ical_handle_rsvp(), ical_hunt_for_conflicts_backend(), ical_respond(), ical_update_my_calendar_with_reply(), imap_do_fetch_msg(), imap_do_search_msg(), imap_fetch_body(), inbox_do_msg(), inbox_do_redirect(), inetcfg_init_backend(), listdeliver_do_msg(), migr_export_message(), migr_restore_message_metadata(), nntp_xover_backend(), PurgeEuidIndexTable(), rebuild_euid_index_for_msg(), smtp_process_one_msg(), smtp_webcit_preferences_hack_backend(), strip_addresses_already_have(), vcard_get_user(), wiki_history(), wiki_rev(), wiki_upload_beforesave(), and xmpp_fetch_mortuary_backend().
int CtdlForEachMessage | ( | int | mode, |
long | ref, | ||
char * | searchstring, | ||
char * | content_type, | ||
struct CtdlMessage * | compare, | ||
ForEachMsgCallback | CallBack, | ||
void * | userdata | ||
) |
Definition at line 621 of file msgbase.c.
References CC, cdb_fetch(), cdb_free(), CDB_MSGLISTS, CM_Free(), CtdlFetchMessage(), CtdlGetRelationship(), CtdlGetUser(), CtdlModuleDoSearch(), CtdlMsgCmp(), free(), GetMetaData(), cdbdata::len, MetaData::meta_content_type, MSGS_ALL, MSGS_EQ, MSGS_FIRST, MSGS_GT, MSGS_LAST, MSGS_LT, MSGS_NEW, MSGS_OLD, MSGS_SEARCH, cdbdata::ptr, server_shutting_down, smi, sort_msglist(), US_LASTOLD, __visit::v_seen, and vbuf.
Referenced by cmd_dvca(), cmd_msgs(), CtdlGetSysConfig(), CtdlOutputMsg(), do_inbox_processing_for_user(), ft_index_room(), ical_freebusy(), ical_getics(), ical_hunt_for_conflicts(), inetcfg_init(), listdeliver_sweep_room(), mifm_backend(), migr_check_rooms_backend(), migr_export_rooms_backend(), nntp_group(), nntp_xover(), pop3_grab_mailbox(), rebuild_euid_index_for_room(), smtp_do_queue(), smtp_webcit_preferences_hack(), store_this_ha(), vcard_get_user(), and xmpp_fetch_mortuary().
void CtdlGetSeen | ( | char * | buf, |
int | which_set | ||
) |
Definition at line 388 of file msgbase.c.
References CC, CtdlGetRelationship(), ctdlsetseen_answered, ctdlsetseen_seen, SIZ, __visit::v_answered, __visit::v_seen, and vbuf.
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 | ||
) |
Definition at line 3047 of file msgbase.c.
References CtdlMakeMessageLen().
Referenced by cmd_ent0(), ical_send_a_reply(), ical_send_out_invitations(), and ical_update_my_calendar_with_reply().
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 | ||
) |
Definition at line 3094 of file msgbase.c.
References CC, CtdlMessage::cm_anon_type, CtdlMessage::cm_fields, CtdlMessage::cm_format_type, CtdlMessage::cm_magic, CM_SetAsField(), CM_SetAsFieldSB(), CM_SetField(), CtdlGetConfigLong(), CTDLMESSAGE_MAGIC, CtdlReadMessageBodyBuf(), eAuthor, eCarbonCopY, eExclusiveID, eMesageText, eMessagePath, eMsgSubject, eOriginalRoom, eRecipient, erFc822Addr, eTimestamp, eWeferences, ctdluser::fullname, malloc(), and QR_MAILBOX.
Referenced by CtdlMakeMessage().
int CtdlMsgCmp | ( | struct CtdlMessage * | msg, |
struct CtdlMessage * | template | ||
) |
Definition at line 360 of file msgbase.c.
References CtdlMessage::cm_fields, and CtdlMessage::cm_lengths.
Referenced by CtdlForEachMessage().
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 | ||
) |
Definition at line 1470 of file msgbase.c.
References CC, check_cached_msglist(), CIT_OK, CM_Free(), CM_GetAsField(), CM_RANGE, convert_internet_message(), cprintf(), CtdlDoIHavePermissionToReadMessagesInThisRoom(), CtdlFetchMessage(), CtdlForEachMessage(), CtdlOutputPreLoadedMsg(), encapmsg::desired_section, eAuthor, eMesageText, emessageId, erFc822Addr, ERROR, extract_encapsulated_message(), HEADERS_FAST, HIGHER_ACCESS_REQUIRED, MESSAGE_NOT_FOUND, MSGS_ALL, NOT_LOGGED_IN, om_access_denied, om_no_such_msg, om_not_logged_in, and om_ok.
Referenced by cmd_dlat(), cmd_msg0(), cmd_msg2(), cmd_msg4(), cmd_opna(), imap_fetch_rfc822(), message_id_from_msgnum(), pop3_add_message(), pop3_retr(), pop3_top(), smtp_attempt_delivery(), and smtp_do_bounce().
int CtdlOutputPreLoadedMsg | ( | struct CtdlMessage * | TheMessage, |
int | mode, | ||
int | headers_only, | ||
int | do_proto, | ||
int | crlf, | ||
int | flags | ||
) |
Definition at line 1958 of file msgbase.c.
References CC, choose_preferred(), ma_info::chosen_part, ma_info::chosen_pref, CtdlMessage::cm_anon_type, CtdlMessage::cm_fields, CtdlMessage::cm_format_type, CM_IsEmpty(), CM_IsValidMsg(), CtdlMessage::cm_lengths, CM_RANGE, cprintf(), ma_info::dont_decode, Dump_RFC822HeadersBody(), DumpFormatFixed(), eenVelopeTo, eMesageText, ERROR, FILE_NOT_FOUND, fixed_output(), fixed_output_post(), fixed_output_pre(), FMT_CITADEL, FMT_FIXED, FMT_RFC822, HEADERS_FAST, HEADERS_NONE, HEADERS_ONLY, ILLEGAL_VALUE, is_room_aide(), list_this_part(), list_this_pref(), list_this_suff(), LISTING_FOLLOWS, memfmout(), MES_ANONONLY, MES_ANONOPT, mime_download(), mime_spew_section(), MT_CITADEL, MT_DOWNLOAD, MT_MIME, MT_RFC822, MT_SPEW_SECTION, om_mime_error, om_no_such_msg, om_ok, output_preferred(), OutputCtdlMsgHeaders(), OutputRFC822MsgHeaders(), RESOURCE_BUSY, SUPPRESS_ENV_TO, and ma_info::use_fo_hooks.
Referenced by clamd(), cmd_dlri(), cmd_dlui(), cmd_rbio(), cmd_rinf(), CtdlOutputMsg(), CtdlSubmitMsg(), ft_index_message(), imap_do_search_msg(), imap_fetch_body(), imap_fetch_bodystructure(), migr_restore_message_metadata(), and spam_assassin().
char * CtdlReadMessageBody | ( | char * | terminator, |
long | tlen, | ||
size_t | maxlen, | ||
StrBuf * | exist, | ||
int | crlf | ||
) |
Definition at line 3024 of file msgbase.c.
References CtdlReadMessageBodyBuf().
Referenced by cmd_conf(), cmd_pibr(), and ical_putics().
StrBuf * CtdlReadMessageBodyBuf | ( | char * | terminator, |
long | tlen, | ||
size_t | maxlen, | ||
StrBuf * | exist, | ||
int | crlf | ||
) |
Definition at line 2959 of file msgbase.c.
References CtdlClientGetLine(), and SIZ.
Referenced by CtdlMakeMessageLen(), CtdlReadMessageBody(), and smtp_data().
int CtdlSaveMsgPointerInRoom | ( | char * | roomname, |
long | msgid, | ||
int | do_repl_check, | ||
struct CtdlMessage * | msg | ||
) |
Definition at line 2384 of file msgbase.c.
References CtdlSaveMsgPointersInRoom().
Referenced by CtdlSubmitMsg(), flush_individual_conversation(), rss_end_element(), and vcard_upload_aftersave().
int CtdlSaveMsgPointersInRoom | ( | char * | roomname, |
long | newmsgidlist[], | ||
int | num_newmsgs, | ||
int | do_repl_check, | ||
struct CtdlMessage * | supplied_msg, | ||
int | suppress_refcount_adj | ||
) |
Definition at line 2221 of file msgbase.c.
References AdjRefCountList(), CC, cdb_fetch(), cdb_free(), CDB_MSGLISTS, cdb_store(), CtdlMessage::cm_fields, CM_Free(), CM_IsEmpty(), CtdlFetchMessage(), CtdlGetRoom(), CtdlGetRoomLock(), CtdlPutRoomLock(), DoesThisRoomNeedEuidIndexing(), eExclusiveID, ERROR, free(), index_message_by_euid(), INTERNAL_ERROR, cdbdata::len, malloc(), PerformRoomHooks(), cdbdata::ptr, ReplicationChecks(), ROOM_NOT_FOUND, ROOMNAMELEN, and sort_msglist().
Referenced by cmd_move(), CopyNewUserGreetings(), CtdlSaveMsgPointerInRoom(), imap_do_copy(), inbox_do_fileinto(), and migr_xml_end().
long CtdlSaveThisMessage | ( | struct CtdlMessage * | msg, |
long | msgid, | ||
int | Reply | ||
) |
Definition at line 2399 of file msgbase.c.
References BIGMSG, CDB_BIGMSGS, CDB_MSGMAIN, cdb_store(), CtdlMessage::cm_fields, CM_IsEmpty(), CtdlMessage::cm_lengths, cprintf(), CtdlSerializeMessage(), eMesageText, ERROR, free(), INTERNAL_ERROR, ser_ret::len, and ser_ret::ser.
Referenced by migr_xml_end(), and send_message().
void CtdlSerializeMessage | ( | struct ser_ret * | ret, |
struct CtdlMessage * | msg | ||
) |
Definition at line 2505 of file msgbase.c.
References CtdlMessage::cm_anon_type, CtdlMessage::cm_fields, CtdlMessage::cm_format_type, CM_IsValidMsg(), CtdlMessage::cm_lengths, FieldOrder, ser_ret::len, malloc(), NDiskFields, and ser_ret::ser.
Referenced by CtdlSaveThisMessage(), and migr_export_message().
void CtdlSetSeen | ( | long * | target_msgnums, |
int | num_target_msgnums, | ||
int | target_setting, | ||
int | which_set, | ||
struct ctdluser * | which_user, | ||
struct ctdlroom * | which_room | ||
) |
Definition at line 404 of file msgbase.c.
References CC, cdb_fetch(), cdb_free(), CDB_MSGLISTS, CtdlGetRelationship(), CtdlSetRelationship(), ctdlsetseen_answered, ctdlsetseen_seen, free(), cdbdata::len, LONG_MAX, malloc(), cdbdata::ptr, ctdlroom::QRname, ctdlroom::QRnumber, SIZ, __visit::v_answered, __visit::v_seen, and vbuf.
Referenced by cmd_seen(), imap_do_append_flags(), imap_do_copy(), imap_do_store(), and imap_fetch_body().
long CtdlSubmitMsg | ( | struct CtdlMessage * | msg, |
struct recptypes * | recps, | ||
const char * | force | ||
) |
Definition at line 2588 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_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().
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 | ||
) |
Definition at line 3469 of file msgbase.c.
References CC, CtdlMessage::cm_anon_type, CtdlMessage::cm_flags, CtdlMessage::cm_format_type, CM_Free(), CtdlMessage::cm_magic, CM_SetAsFieldSB(), CM_SetField(), CtdlCreateRoom(), CtdlGetRoom(), CtdlMailboxName(), CTDLMESSAGE_MAGIC, CtdlSubmitMsg(), eAuthor, eMesageText, eOriginalRoom, malloc(), MES_NORMAL, qrbuf, and ROOMNAMELEN.
Referenced by CtdlPutSysConfig(), ical_write_to_cal(), and vcard_write_user().
int GetFieldFromMnemonic | ( | eMsgField * | f, |
const char * | c | ||
) |
void GetMetaData | ( | struct MetaData * | smibuf, |
long | msgnum | ||
) |
Definition at line 3370 of file msgbase.c.
References cdb_fetch(), cdb_free(), CDB_MSGMAIN, cdbdata::len, MetaData::meta_msgnum, MetaData::meta_refcount, and cdbdata::ptr.
Referenced by AdjRefCount(), CtdlDeleteMessages(), CtdlForEachMessage(), imap_fetch_rfc822(), inbox_do_msg(), migr_export_message(), migr_restore_message_metadata(), pop3_add_message(), and RemoveMessagesFromRooms().
void loadtroom | ( | void | ) |
void memfmout | ( | char * | mptr, |
const char * | nl | ||
) |
Definition at line 855 of file msgbase.c.
References client_write().
Referenced by cmd_gexp(), and CtdlOutputPreLoadedMsg().
void output_mime_parts | ( | char * | ) |
void PutMetaData | ( | struct MetaData * | smibuf | ) |
Definition at line 3398 of file msgbase.c.
References CDB_MSGMAIN, cdb_store(), and MetaData::meta_msgnum.
Referenced by AdjRefCount(), CtdlSubmitMsg(), imap_fetch_rfc822(), migr_restore_message_metadata(), migr_xml_end(), and pop3_add_message().
long quickie_message | ( | char * | from, |
char * | fromaddr, | ||
char * | to, | ||
char * | room, | ||
char * | text, | ||
int | format_type, | ||
char * | subject | ||
) |
Definition at line 2904 of file msgbase.c.
References CtdlMessage::cm_anon_type, CM_CutFieldAt(), CtdlMessage::cm_fields, CtdlMessage::cm_format_type, CM_Free(), CtdlMessage::cm_magic, CM_SetField(), CTDLMESSAGE_MAGIC, CtdlSubmitMsg(), eAuthor, eMesageText, eMsgSubject, eOriginalRoom, eRecipient, erFc822Addr, free_recipients(), malloc(), MES_NORMAL, and validate_recipients().
Referenced by cmd_ebio(), cmd_einf(), cmd_ucls(), cmd_ulri(), cmd_ului(), import_one_bio_file(), import_one_userpic_file(), inbox_do_reject(), inbox_do_vacation(), iorarf_oneroom(), LogPrintMessages(), rewrite_rules_to_disk(), send_subscribe_confirmation_email(), send_unsubscribe_confirmation_email(), and xmpp_store_mortuary().
void ReplicationChecks | ( | struct CtdlMessage * | msg | ) |
Definition at line 2563 of file msgbase.c.
References CC, CtdlMessage::cm_fields, CM_IsEmpty(), CtdlDeleteMessages(), CtdlLocateMessageByEuid(), DoesThisRoomNeedEuidIndexing(), and eExclusiveID.
Referenced by CtdlSaveMsgPointersInRoom(), and CtdlSubmitMsg().
long send_message | ( | struct CtdlMessage * | msg | ) |
Definition at line 2465 of file msgbase.c.
References CM_IsEmpty(), CM_SetField(), CtdlGetConfigStr(), CtdlSaveThisMessage(), emessageId, and get_new_message_number().
Referenced by CtdlSubmitMsg().
void simple_listing | ( | long | msgnum, |
void * | userdata | ||
) |
void TDAP_AdjRefCount | ( | long | , |
int | |||
) |
int TDAP_ProcessAdjRefCountQueue | ( | void | ) |
|
extern |
Definition at line 28 of file msgbase.c.
Referenced by CtdlSubmitMsg(), and store_harvested_addresses().