* Store the body of any large (>1K) message in a separate database. This
[citadel.git] / citadel / sysconfig.h
1 /*
2  * $Id$
3  *
4  */
5
6 /****************************************************************************/
7 /*                  YOUR SYSTEM CONFIGURATION                               */
8 /* Set all the values in this file appropriately BEFORE compiling any of the*/
9 /* C programs. If you are upgrading from an older version of Citadel/UX, it */
10 /* is vitally important that the #defines which are labelled "structure size*/
11 /* variables" are EXACTLY the same as they were in your old system,         */
12 /* otherwise your files will be munged beyond repair.                       */
13 /****************************************************************************/
14
15 /* $Id$ */
16
17 /*
18  * NOTE: this file is for client software tuning, not customization.  For
19  * making changes to the behavior of the client, you want to edit citadel.rc,
20  * not this file.
21  */
22
23 /*
24  * If you want to keep a transcript of all multiuser chats that go across
25  * your system, define CHATLOG to the filename to be saved to.  Otherwise,
26  * set CHATLOG to "/dev/null".
27  */
28 #define CHATLOG         "/dev/null"
29
30 /* 
31  * S_KEEPALIVE is a watchdog timer.  It is used to send "keep
32  * alive" messages to the server to prevent the server from assuming the
33  * client is dead and terminating the session.  30 seconds is the recommended
34  * value; I can't think of any good reason to change it.
35  */
36 #define S_KEEPALIVE     30
37
38 /*
39  * Logging level to use if none is specified on the command line.
40  * Note that this will suppress messages before they even get to syslog().
41  */
42 #define DEFAULT_VERBOSITY       7
43
44
45
46 /*
47  * NLI is the string that shows up in a <W>ho's online listing for sessions
48  * that are active, but for which no user has yet authenticated.
49  */
50 #define NLI     "(not logged in)"
51
52 /*
53  * Maximum number of floors on the system.
54  * WARNING!  *Never* change this value once your system is up; THINGS WILL DIE!
55  * Also, do not set it higher than 127.
56  */
57 #define MAXFLOORS       16
58
59 /*
60  * Standard buffer size for string datatypes.  DO NOT CHANGE!  Not only does
61  * there exist a minimum buffer size for certain protocols (such as IMAP), but
62  * fixed-length buffers are now stored in some of the data structures on disk,
63  * so if you change the buffer size you'll fux0r your database.
64  */
65 #define SIZ             4096
66
67 /*
68  * If the body of a message is beyond this size, it will be stored in
69  * a separate table.
70  */
71 #define BIGMSG          1024
72
73 /*
74  * SMTP delivery retry rules (all values are in seconds)
75  *
76  * If delivery of a message via SMTP is unsuccessful, Citadel will try again
77  * after SMTP_RETRY_INTERVAL seconds.  This interval will double after each
78  * unsuccessful delivery, up to a maximum of SMTP_RETRY_MAX seconds.  If no
79  * successful delivery has been accomplished after SMTP_GIVE_UP seconds, the
80  * message will be returned to its sender.
81  */
82 #define SMTP_RETRY_INTERVAL     900     /* 15 minutes */
83 #define SMTP_RETRY_MAX          43200   /* 12 hours */
84 #define SMTP_GIVE_UP            432000  /* 5 days */
85
86 /*
87  * Who bounced messages appear to be from
88  */
89 #define BOUNCESOURCE            "Citadel Mail Delivery Subsystem"
90
91 /*
92  * This variable defines the amount of network spool data that may be carried
93  * in one server transfer command.  For some reason, some networks get hung
94  * up on larger packet sizes.  We don't know why.  In any case, never set the
95  * packet size higher than 4096 or your server sessions will crash.
96  */
97 #define IGNET_PACKET_SIZE       4000
98
99 /*
100  * The names of rooms which are automatically created by the system
101  */
102 #define BASEROOM                "Lobby"
103 #define MAILROOM                "Mail"
104 #define SENTITEMS               "Sent Items"
105 #define AIDEROOM                "Aide"
106 #define USERCONFIGROOM          "My Citadel Config"
107 #define USERCALENDARROOM        "Calendar"
108 #define USERTASKSROOM           "Tasks"
109 #define USERCONTACTSROOM        "Contacts"
110 #define USERNOTESROOM           "Notes"
111 #define PAGELOGROOM             "Sent/Received Pages"
112 #define SYSCONFIGROOM           "Local System Configuration"
113 #define SMTP_SPOOLOUT_ROOM      "__CitadelSMTPspoolout__"
114
115 /*
116  * How long (in seconds) to retain message entries in the use table
117  */
118 #define USETABLE_RETAIN         604800L         /* 7 days */
119
120 /*
121  * Pathnames for cryptographic goodness
122  */
123 #define CTDL_CRYPTO_DIR         BBSDIR "/keys"
124 #define CTDL_KEY_PATH           CTDL_CRYPTO_DIR "/citadel.key"
125 #define CTDL_CSR_PATH           CTDL_CRYPTO_DIR "/citadel.csr"
126 #define CTDL_CER_PATH           CTDL_CRYPTO_DIR "/citadel.cer"