MESSAGES: store 1 & 2 field to db - it has to be permanent.
[citadel.git] / citadel / server.h
index b0a1d8655a9439c30c89483fdd146990c8c9f0dd..cd8034d1918530299a11c34906595be076f68826 100644 (file)
@@ -46,6 +46,33 @@ struct CtdlMessage {
 #define CTDLEXIT_LIBCITADEL    106     /* Incorrect version of libcitadel */
 #define CTDL_EXIT_UNSUP_AUTH   107     /* Unsupported auth mode configured */
 
+/*
+ * Reasons why a session would be terminated (set CC->kill_me to these values)
+ */
+enum {
+       KILLME_NOT,
+       KILLME_UNKNOWN,
+       KILLME_CLIENT_LOGGED_OUT,
+       KILLME_IDLE,
+       KILLME_CLIENT_DISCONNECTED,
+       KILLME_AUTHFAILED,
+       KILLME_SERVER_SHUTTING_DOWN,
+       KILLME_MAX_SESSIONS_EXCEEDED,
+       KILLME_ADMIN_TERMINATE,
+       KILLME_SELECT_INTERRUPTED,
+       KILLME_SELECT_FAILED,
+       KILLME_WRITE_FAILED,
+       KILLME_SIMULATION_WORKER,
+       KILLME_NOLOGIN,
+       KILLME_NO_CRYPTO,
+       KILLME_READSTRING_FAILED,
+       KILLME_MALLOC_FAILED,
+       KILLME_QUOTA,
+       KILLME_READ_FAILED,
+       KILLME_ILLEGAL_MANAGESIEVE_COMMAND,
+       KILLME_SPAMMER,
+       KILLME_XML_PARSER
+};
 
 
 #define CS_STEALTH     1       /* stealth mode */
@@ -102,7 +129,6 @@ enum {
        S_NETCONFIGS,
        S_PUBLIC_CLIENTS,
        S_FLOORCACHE,
-       S_DEBUGMEMLEAKS,
        S_ATBF,
        S_JOURNAL_QUEUE,
        S_RPLIST,
@@ -110,7 +136,6 @@ enum {
        S_CHKPWD,
        S_LOG,
        S_NETSPOOL,
-       S_THREAD_LIST,
        S_XMPP_QUEUE,
        S_SCHEDULE_LIST,
        S_SINGLE_USER,
@@ -268,19 +293,12 @@ struct UseTable {
 };
 
 
-/* "seenit" is a simple binary tree storing the message pointers we've seen */
-struct seenit {
-       struct seenit *l;
-       struct seenit *r;
-       long msgnum;
-};
-
-
 
 /* Preferred field order                                                       */
 /*               **********                    Important fields                */
 /*                         ***************     Semi-important fields           */
-/*                                        *    Message text (MUST be last)     */
-#define FORDER "IPTAFONHRDBCEWJGKLQSVXZYUM"
+/*                                        **    internal only                   */
+/*                                          *  Message text (MUST be last)     */
+#define FORDER "IPTAFONHRDBCEWJGKLQSVXZYU12M"
 
 #endif /* SERVER_H */