X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmsgbase.h;h=039a8a1bbd5da01ccb49050889a81a03eaa1c4c8;hb=ec3a0d835a49bd6813d86245c5ff5257df89ae8f;hp=999f46138c9a7cc2d16dffbbb09387987ec55614;hpb=981c64649e8886f81cb64e31ac80d8bc56b0923d;p=citadel.git diff --git a/citadel/msgbase.h b/citadel/msgbase.h index 999f46138..039a8a1bb 100644 --- a/citadel/msgbase.h +++ b/citadel/msgbase.h @@ -1,4 +1,3 @@ -/* $Id$ */ #ifndef MSGBASE_H #define MSGBASE_H @@ -12,7 +11,8 @@ enum { MSGS_LAST, MSGS_GT, MSGS_EQ, - MSGS_SEARCH + MSGS_SEARCH, + MSGS_LT }; enum { @@ -95,7 +95,7 @@ void cmd_msgs (char *cmdbuf); void cmd_isme (char *cmdbuf); void help_subst (char *strbuf, char *source, char *dest); void do_help_subst (char *buffer); -void memfmout (char *mptr, char subst, char *nl); +void memfmout (char *mptr, const char *nl); void output_mime_parts(char *); void cmd_msg0 (char *cmdbuf); void cmd_msg2 (char *cmdbuf); @@ -143,11 +143,18 @@ void dump_message(struct CtdlMessage *msg, long Siz); int is_valid_message(struct CtdlMessage *); void ReplicationChecks(struct CtdlMessage *); int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newmsgs, - int do_repl_check, struct CtdlMessage *supplied_msg); + 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); -char *CtdlReadMessageBody(char *terminator, size_t maxlen, char *exist, int crlf, int sock); -char *CtdlGetSysConfig(char *sysconfname); -void CtdlPutSysConfig(char *sysconfname, char *sysconfdata); +char *CtdlReadMessageBody(char *terminator, long tlen, size_t maxlen, char *exist, int crlf, int *sock); +StrBuf *CtdlReadMessageBodyBuf(char *terminator, /* token signalling EOT */ + long tlen, + size_t maxlen, /* maximum message length */ + char *exist, /* if non-null, append to it; + exist is ALWAYS freed */ + int crlf, /* CRLF newlines instead of LF */ + int *sock /* socket handle or 0 for this session's client socket */ + ); + int CtdlOutputMsg(long msg_num, /* message number (local) to fetch */ int mode, /* how would you like that message? */ int headers_only, /* eschew the message body? */ @@ -179,10 +186,13 @@ enum { CHECK_EXISTANCE, POST_LMTP }; + int CtdlDoIHavePermissionToPostInThisRoom(char *errmsgbuf, - size_t n, - const char* RemoteIdentifier, - int PostPublic); + size_t n, + const char* RemoteIdentifier, + int PostPublic, + int is_reply +); /* values for which_set */ @@ -195,7 +205,7 @@ void CtdlSetSeen(long *target_msgnums, int num_target_msgnums, struct ctdluser *which_user, struct ctdlroom *which_room); void CtdlGetSeen(char *buf, int which_set); -struct recptypes *validate_recipients(char *recipients, +struct recptypes *validate_recipients(const char *recipients, const char *RemoteIdentifier, int Flags);