"Fossies" - the Fresh Open Source Software Archive

Member "citadel/config.h" (5 Jun 2021, 3745 Bytes) of package /linux/www/citadel.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "config.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 9.01_vs_902.

    1 /*
    2  * Copyright (c) 1987-2016 by the citadel.org team
    3  *
    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.
    6  *
    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.
   11  */
   12 
   13 #include "serv_extensions.h"
   14 #include "citadel_dirs.h"
   15 
   16 
   17 
   18 /*
   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.    DO NOT EDIT -- EVER.
   21  */
   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 */
   26     char c_niu_7[16];
   27     uid_t c_niu_6;
   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 */
   36     long c_niu_1;
   37     char c_site_location[32];   /* geographic location of this Citadel site */
   38     char c_sysadm[26];      /* name of system administrator */
   39     char c_niu_2[15];
   40     int c_niu_3;
   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) */
   44     int c_niu_4;
   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];
   49     char c_createax;
   50     long c_maxmsglen;
   51     int c_min_workers;
   52     int c_max_workers;
   53     int c_pop3_port;
   54     int c_smtp_port;
   55     int c_rfc822_strict_from;
   56     int c_aide_zap;
   57     int c_imap_port;
   58     time_t c_net_freq;
   59     char c_disable_newu;
   60     char c_enable_fulltext;
   61     char c_baseroom[ROOMNAMELEN];
   62     char c_aideroom[ROOMNAMELEN];
   63     int c_purge_hour;
   64     struct ExpirePolicy c_mbxep;
   65     char c_ldap_host[128];
   66     int c_ldap_port;
   67     char c_ldap_base_dn[256];
   68     char c_ldap_bind_dn[256];
   69     char c_ldap_bind_pw[256];
   70     int c_msa_port;
   71     int c_imaps_port;
   72     int c_pop3s_port;
   73     int c_smtps_port;
   74     char c_auto_cull;
   75     char c_niu_5;
   76     char c_allow_spoofing;
   77     char c_journal_email;
   78     char c_journal_pubmsgs;
   79     char c_journal_dest[128];
   80     char c_default_cal_zone[128];
   81     int c_pftcpdict_port;
   82     int c_niu_9;
   83     int c_auth_mode;
   84     char c_niu_8[256];
   85     int c_niu_10;
   86     char c_niu_11[256];
   87     char c_niu_12[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;
   93     int c_xmpp_c2s_port;
   94     int c_xmpp_s2s_port;
   95     time_t c_pop3_fetch;
   96     time_t c_pop3_fastest;
   97     int c_spam_flag_only;
   98     int c_guest_logins;
   99     int c_nntp_port;
  100     int c_nntps_port;
  101 };
  102 
  103 
  104 
  105 
  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);
  115 void CtdlDelConfig(char *key);
  116 
  117 char *CtdlGetSysConfig(char *sysconfname);
  118 void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
  119 void validate_config(void);
  120 void netcfg_keyname(char *, long);