* Reference count adjustments are now deferred by queuing
[citadel.git] / citadel / sysconfig.h
index d582ed1d5fd51e050c60c4ac0eef88254f4c80a7..2db5f367c170a219c07ace50873c0f4b95912ded 100644 (file)
@@ -6,7 +6,7 @@
 /****************************************************************************/
 /*                  YOUR SYSTEM CONFIGURATION                               */
 /* Set all the values in this file appropriately BEFORE compiling any of the*/
-/* C programs. If you are upgrading from an older version of Citadel/UX, it */
+/* C programs. If you are upgrading from an older version of Citadel, it */
 /* is vitally important that the #defines which are labelled "structure size*/
 /* variables" are EXACTLY the same as they were in your old system,         */
 /* otherwise your files will be munged beyond repair.                       */
 
 /* $Id$ */
 
-/* NOTE THAT THIS FILE IS MUCH, MUCH SMALLER THAN IT USED TO BE.
- * That's because the setup program now creates a citadel.config file with
- * all of the settings that don't really need to be in a header file.
- * You can now run setup whenever you want, and change lots of parameters
- * without having to recompile the whole system!
+/*
+ * NOTE: this file is for client software tuning, not customization.  For
+ * making changes to the behavior of the client, you want to edit citadel.rc,
+ * not this file.
  */
 
 /*
  * your system, define CHATLOG to the filename to be saved to.  Otherwise,
  * set CHATLOG to "/dev/null".
  */
-#define CHATLOG                "chat.log"
-
-/*
- * SLEEPING refers to the watchdog timer.  If a user sits idle without typing
- * anything for this number of seconds, the session will automatically be
- * logged out.  Set it to zero to disable this feature.
- * Note: the watchdog timer only functions when the parent is 1 (init) - in
- * other words, only if Citadel is the login shell. 
- */
-#define SLEEPING       180
+#define CHATLOG                "/dev/null"
 
 /* 
- * S_KEEPALIVE is also a watchdog timer, except it is used to send "keep
+ * S_KEEPALIVE is a watchdog timer.  It is used to send "keep
  * alive" messages to the server to prevent the server from assuming the
  * client is dead and terminating the session.  30 seconds is the recommended
  * value; I can't think of any good reason to change it.
  */
 #define S_KEEPALIVE    30
 
-/*
- * This is the command that gets executed when a user hits <E>nter message:
- * presses the <E>nter message key.  The possible values are:
- *   46 - .<E>nter message with <E>ditor
- *   4  - .<E>nter <M>essage
- *   36 - .<E>nter message with <A>scii
- * Normally, this value will be set to 4, to cause the <E>nter message
- * command to run Citadel's built-in editor.  However, if you have an external
- * editor installed, and you want to make it the default, set this to 46
- * to make it use your editor by default.
- */
-#define DEFAULT_ENTRY          4
-
-
 /*
  * Logging level to use if none is specified on the command line.
+ * Note that this will suppress messages before they even get to syslog().
  */
-#define DEFAULT_VERBOSITY      9
-
+#define DEFAULT_VERBOSITY      7
 
-/*
- * HOUSEKEEPING_WAKEUP is the number of seconds which pass between each pass
- * of the housekeeping thread.  This normally happens once per minute and there
- * isn't any good reason to change it.
- */
-#define HOUSEKEEPING_WAKEUP    60
 
 
 /*
  */
 #define MAXFLOORS      16
 
+/*
+ * Standard buffer size for string datatypes.  DO NOT CHANGE!  Not only does
+ * there exist a minimum buffer size for certain protocols (such as IMAP), but
+ * fixed-length buffers are now stored in some of the data structures on disk,
+ * so if you change the buffer size you'll fux0r your database.
+ */
+#define SIZ            4096
+
+/*
+ * If the body of a message is beyond this size, it will be stored in
+ * a separate table.
+ */
+#define BIGMSG         1024
+
+/*
+ * SMTP delivery retry rules (all values are in seconds)
+ *
+ * If delivery of a message via SMTP is unsuccessful, Citadel will try again
+ * after SMTP_RETRY_INTERVAL seconds.  This interval will double after each
+ * unsuccessful delivery, up to a maximum of SMTP_RETRY_MAX seconds.  If no
+ * successful delivery has been accomplished after SMTP_GIVE_UP seconds, the
+ * message will be returned to its sender.
+ */
+#define        SMTP_RETRY_INTERVAL     900     /* 15 minutes */
+#define SMTP_RETRY_MAX         43200   /* 12 hours */
+#define SMTP_GIVE_UP           432000  /* 5 days */
 
 /*
- * SMTP delivery retry and give-up times
+ * Who bounced messages appear to be from
  */
-#define        SMTP_RETRY_INTERVAL     900     /* retry sends every 15 minutes */
-#define SMTP_GIVE_UP           432000  /* give up after 5 days */
+#define BOUNCESOURCE           "Citadel Mail Delivery Subsystem"
 
+/*
+ * This variable defines the amount of network spool data that may be carried
+ * in one server transfer command.  For some reason, some networks get hung
+ * up on larger packet sizes.  We don't know why.  In any case, never set the
+ * packet size higher than 4096 or your server sessions will crash.
+ */
+#define IGNET_PACKET_SIZE      4000
 
 /*
  * The names of rooms which are automatically created by the system
  */
 #define BASEROOM               "Lobby"
 #define MAILROOM               "Mail"
+#define SENTITEMS              "Sent Items"
 #define AIDEROOM               "Aide"
 #define USERCONFIGROOM         "My Citadel Config"
+#define USERCALENDARROOM       "Calendar"
+#define USERTASKSROOM          "Tasks"
+#define USERCONTACTSROOM       "Contacts"
+#define USERNOTESROOM          "Notes"
+#define USERTRASHROOM          "Trash"
 #define PAGELOGROOM            "Sent/Received Pages"
 #define SYSCONFIGROOM          "Local System Configuration"
 #define SMTP_SPOOLOUT_ROOM     "__CitadelSMTPspoolout__"
+
+/*
+ * Where we keep messages containing the vCards that source our directory.  It
+ * makes no sense to change this, because you'd have to change it on every
+ * system on the network.  That would be stupid.
+ */
+#define ADDRESS_BOOK_ROOM      "Global Address Book"
+
+
+/*
+ * How long (in seconds) to retain message entries in the use table
+ */
+#define USETABLE_RETAIN                604800L         /* 7 days */
+
+/*
+ * Pathnames for cryptographic goodness
+ */
+#define        CTDL_CRYPTO_DIR         "./keys"
+#define CTDL_KEY_PATH          CTDL_CRYPTO_DIR "/citadel.key"
+#define CTDL_CSR_PATH          CTDL_CRYPTO_DIR "/citadel.csr"
+#define CTDL_CER_PATH          CTDL_CRYPTO_DIR "/citadel.cer"
+
+#define THREADSTACKSIZE                1048576
+
+/*
+ * How many messages may the full text indexer scan before flushing its
+ * tables to disk?
+ */
+#define FT_MAX_CACHE           2500
+#