* added include files containing structural information from our database backend.
[citadel.git] / citadel / config.h
1 /*
2  * $Id$
3  *
4  */
5
6 #include "serv_extensions.h"
7 #include "citadel_dirs.h"
8 /* 
9  * Global system configuration.
10  * 
11  * Developers: please do NOT remove the fields labelled "not in use".  We
12  * can't simply remove them from the struct, because this gets written to
13  * disk, and if you change it then you'll break all existing systems.
14  * However, if you'd like to reclaim some of that space for another use, feel
15  * free to do so, as long as the sizes are kept identical.
16  */
17 struct config {
18 #include "datadefinitions.h"
19 #include "dtds/config-defs.h"
20 #include "undef_data.h"
21
22 ///     char c_nodename[16];            /* Unqualified "short" nodename     */
23 ///     char c_fqdn[64];                /* Fully Qualified Domain Name      */
24 ///     char c_humannode[21];           /* Long name of system              */
25 ///     char c_phonenum[16];            /* Dialup number of system          */
26 ///     uid_t c_ctdluid;                /* UID under which we run Citadel   */
27 ///     char c_creataide;               /* room creator = room aide  flag   */
28 ///     int c_sleeping;                 /* watchdog timer setting           */
29 ///     char c_initax;                  /* initial access level             */
30 ///     char c_regiscall;               /* call number to register on       */
31 ///     char c_twitdetect;              /* twit detect flag                 */
32 ///     char c_twitroom[ROOMNAMELEN];   /* twit detect msg move to room     */
33 ///     char c_moreprompt[80];          /* paginator prompt                 */
34 ///     char c_restrict;                /* restrict Internet mail flag      */
35 ///     long c_niu_1;                   /* (not in use)                     */
36 ///     char c_site_location[32];       /* physical location of server      */
37 ///     char c_sysadm[26];              /* name of system administrator     */
38 ///     char c_niu_2[15];               /* (not in use)                     */
39 ///     int c_setup_level;              /* what rev level we've setup to    */
40 ///     int c_maxsessions;              /* maximum concurrent sessions      */
41 ///     char c_ip_addr[20];             /* IP address to listen on          */
42 ///     int c_port_number;              /* Cit listener port (usually 504)  */
43 ///     int c_ipgm_secret;              /* Internal program authentication  */
44 ///     struct ExpirePolicy c_ep;       /* System default msg expire policy */
45 ///     int c_userpurge;                /* System default user purge (days) */
46 ///     int c_roompurge;                /* System default room purge (days) */
47 ///     char c_logpages[ROOMNAMELEN];   /* Room to log pages to (or not)    */
48 ///     char c_createax;                /* Axlevel required to create rooms */
49 ///     long c_maxmsglen;               /* Maximum message length           */
50 ///     int c_min_workers;              /* Lower limit on number of threads */
51 ///     int c_max_workers;              /* Upper limit on number of threads */
52 ///     int c_pop3_port;                /* POP3 listener port (usually 110) */
53 ///     int c_smtp_port;                /* SMTP listener port (usually 25)  */
54 ///     int c_rfc822_strict_from;       /* 1 = don't correct From: forgeries*/
55 ///     int c_aide_zap;                 /* Are Aides allowed to zap rooms?  */
56 ///     int c_imap_port;                /* IMAP listener port (usually 143) */
57 ///     time_t c_net_freq;              /* how often to run the networker   */
58 ///     char c_disable_newu;            /* disable NEWU command             */
59 ///     char c_enable_fulltext;         /* enable full text indexing        */
60 ///     char c_baseroom[ROOMNAMELEN];   /* Name of baseroom (Lobby)         */
61 ///     char c_aideroom[ROOMNAMELEN];   /* Name of aideroom (Aide)          */
62 ///     int c_purge_hour;               /* Hour during which db purges run  */
63 ///     struct ExpirePolicy c_mbxep;    /* Expire policy for mailbox rooms  */
64 ///     char c_ldap_host[128];          /* Host where LDAP service lives    */
65 ///     int c_ldap_port;                /* Port on host where LDAP lives    */
66 ///     char c_ldap_base_dn[256];       /* LDAP base DN                     */
67 ///     char c_ldap_bind_dn[256];       /* LDAP bind DN                     */
68 ///     char c_ldap_bind_pw[256];       /* LDAP bind password               */
69 ///     int c_msa_port;                 /* SMTP MSA listener port (usu 587) */
70 ///     int c_imaps_port;               /* IMAPS listener port (usually 993)*/
71 ///     int c_pop3s_port;               /* POP3S listener port (usually 995)*/
72 ///     int c_smtps_port;               /* SMTPS listener port (usually 465)*/
73 ///     char c_auto_cull;               /* Cull db logs automatically?      */
74 ///     char c_instant_expunge;         /* IMAP instant expunge deleted msgs*/
75 ///     char c_allow_spoofing;          /* SMTP allow spoofing of my domains*/
76 ///     char c_journal_email;           /* Perform journaling of email      */
77 ///     char c_journal_pubmsgs;         /* Perform journaling of non-email  */
78 ///     char c_journal_dest[128];       /* Where to send journalized msgs   */
79 ///     char c_default_cal_zone[128];   /* Default calendar time zone       */
80 ///     int c_pftcpdict_port;           /* postfix tcptable support, see http://www.postfix.org/tcp_table.5.html */
81 ///     int c_managesieve_port;         /* managesieve port. */
82 ///     int c_auth_mode;                /* 0 = built-in Citadel auth; 1 = underlying host system auth */
83 ///     char c_funambol_host[256];      /* Funambol host. Blank to disable */
84 ///     int c_funambol_port;            /* Funambol port */
85 ///     char c_funambol_source[256];    /* Funambol sync source */
86 ///     char c_funambol_auth[256];      /* Funambol auth details */
87 ///     char c_rbl_at_greeting;         /* Check RBL's at connect instead of after RCPT */
88 ///
89 };
90
91
92 void get_config(void);
93 void put_config(void);
94 extern struct config config;
95