2 * Copyright (c) 1987-2015 by the citadel.org team
4 * This program is open source software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 3.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
13 #include "serv_extensions.h"
14 #include "citadel_dirs.h"
19 * This is the format of the legacy config file. Do not attempt to do anything with it other
20 * than migrate it into the new format.
22 struct legacy_config {
23 char c_nodename[16]; /* short name of this node on a Citadel network */
24 char c_fqdn[64]; /* this site's fully qualified domain name */
25 char c_humannode[21]; /* human-readable site name */
28 char c_creataide; /* 1 = creating a room auto-grants room aide privileges */
29 int c_sleeping; /* watchdog timer (seconds) */
30 char c_initax; /* initial access level for new users */
31 char c_regiscall; /* after c_regiscall logins user will be asked to register */
32 char c_twitdetect; /* automatically move messages from problem users to trashcan */
33 char c_twitroom[ROOMNAMELEN]; /* name of trashcan */
34 char c_moreprompt[80]; /* paginator prompt */
35 char c_restrict; /* require per-user permission to send Internet mail */
37 char c_site_location[32]; /* geographic location of this Citadel site */
38 char c_sysadm[26]; /* name of system administrator */
41 int c_maxsessions; /* maximum number of concurrent sessions allowed */
42 char c_ip_addr[20]; /* bind address for listening sockets */
43 int c_port_number; /* port number for Citadel protocol (usually 504) */
45 struct ExpirePolicy c_ep; /* default expire policy for the entire site */
46 int c_userpurge; /* user purge time (in days) */
47 int c_roompurge; /* room purge time (in days) */
48 char c_logpages[ROOMNAMELEN];
55 int c_rfc822_strict_from;
60 char c_enable_fulltext;
61 char c_baseroom[ROOMNAMELEN];
62 char c_aideroom[ROOMNAMELEN];
64 struct ExpirePolicy c_mbxep;
65 char c_ldap_host[128];
67 char c_ldap_base_dn[256];
68 char c_ldap_bind_dn[256];
69 char c_ldap_bind_pw[256];
76 char c_allow_spoofing;
78 char c_journal_pubmsgs;
79 char c_journal_dest[128];
80 char c_default_cal_zone[128];
82 int c_managesieve_port;
84 char c_funambol_host[256];
86 char c_funambol_source[256];
87 char c_funambol_auth[256];
88 char c_rbl_at_greeting;
89 char c_master_user[32];
90 char c_master_pass[32];
91 char c_pager_program[256];
92 char c_imap_keep_from;
96 time_t c_pop3_fastest;
106 void initialize_config_system(void);
107 void shutdown_config_system(void);
108 void put_config(void);
109 void CtdlSetConfigStr(char *, char *);
110 char *CtdlGetConfigStr(char *);
111 int CtdlGetConfigInt(char *);
112 long CtdlGetConfigLong(char *);
113 void CtdlSetConfigInt(char *key, int value);
114 void CtdlSetConfigLong(char *key, long value);
116 char *CtdlGetSysConfig(char *sysconfname);
117 void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
118 void validate_config(void);