/*
* This module handles states which are global to the entire server.
*
- * Copyright (c) 1987-2012 by the citadel.org team
+ * Copyright (c) 1987-2014 by the citadel.org team
*
* This program is open source software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3.
* GNU General Public License for more details.
*/
-#include "sysdep.h"
-#include <stdlib.h>
-#include <unistd.h>
#include <stdio.h>
-#include <fcntl.h>
-#include <signal.h>
-
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-
-#include <ctype.h>
-#include <string.h>
-#include <errno.h>
-#include <limits.h>
-#include <sys/types.h>
#include <sys/file.h>
-#include <sys/stat.h>
#include <libcitadel.h>
-#include "citadel.h"
-#include "server.h"
-#include "control.h"
-#include "sysdep_decls.h"
-#include "support.h"
+
+#include "ctdl_module.h"
#include "config.h"
-#include "msgbase.h"
#include "citserver.h"
-#include "room_ops.h"
#include "user_ops.h"
-#include "database.h"
-#include "threads.h"
-#include "ctdl_module.h"
struct CitControl CitControl;
extern struct config config;
cprintf("%d\n", config.c_guest_logins);
cprintf("%d\n", config.c_port_number);
cprintf("%d\n", config.c_ctdluid);
+ cprintf("%d\n", config.c_nntp_port);
+ cprintf("%d\n", config.c_nntps_port);
cprintf("000\n");
}
while (client_getln(buf, sizeof buf) >= 0 && strcmp(buf, "000")) {
switch (a) {
case 0:
- safestrncpy(config.c_nodename, buf,
- sizeof config.c_nodename);
+ configlen.c_nodename = safestrncpy(config.c_nodename, buf,
+ sizeof config.c_nodename);
break;
case 1:
- safestrncpy(config.c_fqdn, buf,
- sizeof config.c_fqdn);
+ configlen.c_fqdn = safestrncpy(config.c_fqdn, buf,
+ sizeof config.c_fqdn);
break;
case 2:
- safestrncpy(config.c_humannode, buf,
- sizeof config.c_humannode);
+ configlen.c_humannode = safestrncpy(config.c_humannode, buf,
+ sizeof config.c_humannode);
break;
case 3:
- safestrncpy(config.c_phonenum, buf,
- sizeof config.c_phonenum);
+ configlen.c_phonenum = safestrncpy(config.c_phonenum, buf,
+ sizeof config.c_phonenum);
break;
case 4:
config.c_creataide = atoi(buf);
config.c_twitdetect = 1;
break;
case 9:
- safestrncpy(config.c_twitroom, buf,
- sizeof config.c_twitroom);
+ configlen.c_twitroom = safestrncpy(config.c_twitroom, buf,
+ sizeof config.c_twitroom);
break;
case 10:
- safestrncpy(config.c_moreprompt, buf,
- sizeof config.c_moreprompt);
+ configlen.c_moreprompt = safestrncpy(config.c_moreprompt, buf,
+ sizeof config.c_moreprompt);
break;
case 11:
config.c_restrict = atoi(buf);
config.c_restrict = 1;
break;
case 12:
- safestrncpy(config.c_site_location, buf,
- sizeof config.c_site_location);
+ configlen.c_site_location = safestrncpy(
+ config.c_site_location, buf,
+ sizeof config.c_site_location);
break;
case 13:
- safestrncpy(config.c_sysadm, buf,
- sizeof config.c_sysadm);
+ configlen.c_sysadm = safestrncpy(config.c_sysadm, buf,
+ sizeof config.c_sysadm);
break;
case 14:
config.c_maxsessions = atoi(buf);
config.c_roompurge = atoi(buf);
break;
case 18:
- safestrncpy(config.c_logpages, buf,
- sizeof config.c_logpages);
+ configlen.c_logpages = safestrncpy(config.c_logpages, buf,
+ sizeof config.c_logpages);
break;
case 19:
config.c_createax = atoi(buf);
break;
case 31:
if ((config.c_purge_hour >= 0)
- && (config.c_purge_hour <= 23)) {
+ && (config.c_purge_hour <= 23)) {
config.c_purge_hour = atoi(buf);
}
break;
#ifdef HAVE_LDAP
case 32:
- safestrncpy(config.c_ldap_host, buf,
- sizeof config.c_ldap_host);
+ configlen.c_ldap_host = safestrncpy(config.c_ldap_host, buf,
+ sizeof config.c_ldap_host);
break;
case 33:
config.c_ldap_port = atoi(buf);
break;
case 34:
- safestrncpy(config.c_ldap_base_dn, buf,
- sizeof config.c_ldap_base_dn);
+ configlen.c_ldap_base_dn = safestrncpy(config.c_ldap_base_dn, buf,
+ sizeof config.c_ldap_base_dn);
break;
case 35:
- safestrncpy(config.c_ldap_bind_dn, buf,
- sizeof config.c_ldap_bind_dn);
+ configlen.c_ldap_bind_dn = safestrncpy(config.c_ldap_bind_dn, buf,
+ sizeof config.c_ldap_bind_dn);
break;
case 36:
- safestrncpy(config.c_ldap_bind_pw, buf,
- sizeof config.c_ldap_bind_pw);
+ configlen.c_ldap_bind_pw = safestrncpy(config.c_ldap_bind_pw, buf,
+ sizeof config.c_ldap_bind_pw);
break;
#endif
case 37:
- safestrncpy(config.c_ip_addr, buf,
- sizeof config.c_ip_addr);
+ configlen.c_ip_addr = safestrncpy(config.c_ip_addr, buf,
+ sizeof config.c_ip_addr);
case 38:
config.c_msa_port = atoi(buf);
break;
config.c_journal_pubmsgs = atoi(buf);
break;
case 48:
- safestrncpy(config.c_journal_dest, buf,
- sizeof config.c_journal_dest);
+ configlen.c_journal_dest = safestrncpy(config.c_journal_dest, buf,
+ sizeof config.c_journal_dest);
case 49:
- safestrncpy(config.c_default_cal_zone, buf,
- sizeof config.c_default_cal_zone);
+ configlen.c_default_cal_zone = safestrncpy(
+ config.c_default_cal_zone, buf,
+ sizeof config.c_default_cal_zone);
break;
case 50:
config.c_pftcpdict_port = atoi(buf);
case 52:
config.c_auth_mode = atoi(buf);
case 53:
- safestrncpy(config.c_funambol_host, buf,
+ configlen.c_funambol_host = safestrncpy(
+ config.c_funambol_host, buf,
sizeof config.c_funambol_host);
break;
case 54:
config.c_funambol_port = atoi(buf);
break;
case 55:
- safestrncpy(config.c_funambol_source,
- buf,
+ configlen.c_funambol_source = safestrncpy(
+ config.c_funambol_source, buf,
sizeof config.c_funambol_source);
break;
case 56:
- safestrncpy(config.c_funambol_auth,
- buf,
+ configlen.c_funambol_auth = safestrncpy(
+ config.c_funambol_auth, buf,
sizeof config.c_funambol_auth);
break;
case 57:
config.c_rbl_at_greeting = atoi(buf);
break;
case 58:
- safestrncpy(config.c_master_user, buf, sizeof config.c_master_user);
+ configlen.c_master_user = safestrncpy(
+ config.c_master_user,
+ buf, sizeof config.c_master_user);
break;
case 59:
- safestrncpy(config.c_master_pass, buf, sizeof config.c_master_pass);
+ configlen.c_master_pass = safestrncpy(
+ config.c_master_pass, buf, sizeof config.c_master_pass);
break;
case 60:
- safestrncpy(config.c_pager_program,
- buf,
- sizeof config.c_pager_program);
+ configlen.c_pager_program = safestrncpy(
+ config.c_pager_program, buf, sizeof config.c_pager_program);
break;
case 61:
config.c_imap_keep_from = atoi(buf);
case 69:
config.c_ctdluid = atoi(buf);
break;
+ case 70:
+ config.c_nntp_port = atoi(buf);
+ break;
+ case 71:
+ config.c_nntps_port = atoi(buf);
+ break;
}
++a;
}