]> code.citadel.org Git - citadel.git/blobdiff - citadel/citadel.h
* Client and server options to disable self-service user account creation
[citadel.git] / citadel / citadel.h
index df0c9363937d34dd383e66594ea76c3d3d0d8966..2880926b6dc4c68a5690ab9bec598c4eee6fa820 100644 (file)
 #define CITADEL_H
 
 #include "sysdep.h"
+#include <limits.h>
 #include "sysconfig.h"
 #include "ipcdef.h"
 
-#define CITADEL        "Citadel/UX 5.80"       /* Text description of this software */
+/*
+ * Text description of this software
+ */
+#define CITADEL        "Citadel/UX 5.90"
 
 /*
  * REV_LEVEL is the current version number (multiplied by 100 to avoid having
  * are older than REV_MIN, none of the programs will work until the setup
  * program is run again to bring things up to date.
  */
-#define REV_LEVEL      580             /* This version */
+#define REV_LEVEL      590             /* This version */
 #define REV_MIN                570             /* Oldest compatible version */
 
 #define SERVER_TYPE 0  /* zero for stock Citadel/UX; other developers please
                           obtain SERVER_TYPE codes for your implementations */
 
+/*
+ * This is a better implementation of tolower() than that found on some
+ * systems (there are operating systems out there on which tolower() will
+ * screw up if you give it a character that is already lower case).
+ */
+#ifdef  tolower
 #undef tolower
+#endif
 #define tolower(x)     ( ((x>='A')&&(x<='Z')) ? (x+'a'-'A') : x )
 #define NEW_CONFIG
 
@@ -44,7 +55,8 @@ typedef unsigned char CIT_UBYTE;
 
 /* Various length constants */
 
-#define ROOMNAMELEN    128             /* The size of the roomname structure */
+#define UGLISTLEN   100   /* you get a ungoto list of this size */
+#define ROOMNAMELEN    128             /* The size of a roomname string */
 #define NONCE_SIZE     128             /* Added by <bc> to allow for APOP auth 
                                         * it is BIG becuase there is a hostname
                                         * in the nonce, as per the APOP RFC.
@@ -83,13 +95,13 @@ struct config {
        char c_twitroom[ROOMNAMELEN];   /* twit detect msg move to room     */
        char c_moreprompt[80];          /* paginator prompt                 */
        char c_restrict;                /* restrict Internet mail flag      */
-       long c_msgbase;                 /* size of message base             */
+       long c_msgbase;                 /* size of message base (obsolete)  */
        char c_bbs_city[32];            /* physical location of server      */
        char c_sysadm[26];              /* name of system administrator     */
        char c_bucket_dir[15];          /* bit bucket for files...          */
        int c_setup_level;              /* what rev level we've setup to    */
        int c_maxsessions;              /* maximum concurrent sessions      */
-       char c_net_password[20];        /* system net password              */
+       char c_net_password[20];        /* system net password (obsolete)   */
        int c_port_number;              /* Cit listener port (usually 504)  */
        int c_ipgm_secret;              /* Internal program authentication  */
        struct ExpirePolicy c_ep;       /* System default msg expire policy */
@@ -105,6 +117,8 @@ struct config {
        int c_default_filter;           /* Default moderation filter level  */
        int c_aide_zap;                 /* Are Aides allowed to zap rooms?  */
        int c_imap_port;                /* IMAP listener port (usually 143) */
+       time_t c_net_freq;              /* how often to run the networker   */
+       char c_disable_newu;            /* disable NEWU command             */
 };
 
 #define NODENAME               config.c_nodename
@@ -172,6 +186,7 @@ struct quickroom {
        struct ExpirePolicy QRep;       /* Message expiration policy        */
        long QRnumber;                  /* Globally unique room number      */
        char QRorder;                   /* Sort key for room listing order  */
+       unsigned QRflags2;              /* Additional flags                 */
 };
 
 /* Private rooms are always flagged with QR_PRIVATE.  If neither QR_PASSWORDED
@@ -195,8 +210,8 @@ struct quickroom {
 /* Miscellaneous                                                            */
 
 #define MES_NORMAL     65              /* Normal message                   */
-#define MES_ANON       66              /* "****" header                    */
-#define MES_AN2                67              /* "Anonymous" header               */
+#define MES_ANONONLY   66              /* "****" header                    */
+#define MES_ANONOPT    67              /* "Anonymous" header               */
 
 #define MES_ERROR      (-1)    /* Can't send message due to bad address   */
 #define MES_LOCAL      0       /* Local message, do no network processing */
@@ -264,7 +279,7 @@ struct floor {
 #define        INTERNETCFG     "application/x-citadel-internet-config"
 #define IGNETCFG       "application/x-citadel-ignet-config"
 #define IGNETMAP       "application/x-citadel-ignet-map"
-#define USETABLE       "application/x-citadel-usetable"
+#define FILTERLIST     "application/x-citadel-filter-list"
 
 #define TRACE  lprintf(9, "Checkpoint: %s, %d\n", __FILE__, __LINE__)