diff --git a/src/sbbs3/ini_opts.h b/src/sbbs3/ini_opts.h new file mode 100644 index 0000000000000000000000000000000000000000..9429710e4dbdb39d9d042e34f399f8e65c40bdf7 --- /dev/null +++ b/src/sbbs3/ini_opts.h @@ -0,0 +1,152 @@ +/* ini_opts.h */ + +/* Synchronet initialization file (.ini) bit-field descriptions */ + +/* $Id$ */ + +/**************************************************************************** + * @format.tab-size 4 (Plain Text/Source Code File Header) * + * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * + * * + * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html * + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public License * + * as published by the Free Software Foundation; either version 2 * + * of the License, or (at your option) any later version. * + * See the GNU General Public License for more details: gpl.txt or * + * http://www.fsf.org/copyleft/gpl.html * + * * + * Anonymous FTP access to the most recent released source is available at * + * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * + * * + * Anonymous CVS access to the development source and modification history * + * is available at cvs.synchro.net:/cvsroot/sbbs, example: * + * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login * + * (just hit return, no password is necessary) * + * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src * + * * + * For Synchronet coding style and modification guidelines, see * + * http://www.synchro.net/source.html * + * * + * You are encouraged to submit any modifications (preferably in Unix diff * + * format) via e-mail to mods@synchro.net * + * * + * Note: If this box doesn't appear square, then you need to fix your tabs. * + ****************************************************************************/ + +#include "sbbsdefs.h" + +static ini_bitdesc_t bbs_options[] = { + + { BBS_OPT_KEEP_ALIVE ,"KEEP_ALIVE" }, + { BBS_OPT_XTRN_MINIMIZED ,"XTRN_MINIMIZED" }, + { BBS_OPT_AUTO_LOGON ,"AUTO_LOGON" }, + { BBS_OPT_DEBUG_TELNET ,"DEBUG_TELNET" }, + { BBS_OPT_SYSOP_AVAILABLE ,"SYSOP_AVAILABLE" }, + { BBS_OPT_ALLOW_RLOGIN ,"ALLOW_RLOGIN" }, + { BBS_OPT_USE_2ND_RLOGIN ,"USE_2ND_RLOGIN" }, + { BBS_OPT_NO_QWK_EVENTS ,"NO_QWK_EVENTS" }, + { BBS_OPT_NO_TELNET_GA ,"NO_TELNET_GA" }, + { BBS_OPT_NO_EVENTS ,"NO_EVENTS" }, + { BBS_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, + { BBS_OPT_NO_RECYCLE ,"NO_RECYCLE" }, + { BBS_OPT_GET_IDENT ,"GET_IDENT" }, + { BBS_OPT_NO_JAVASCRIPT ,"NO_JAVASCRIPT" }, + { BBS_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, + { BBS_OPT_MUTE ,"MUTE" }, + /* terminator */ + { -1 ,NULL } +}; + +static ini_bitdesc_t ftp_options[] = { + + { FTP_OPT_DEBUG_RX ,"DEBUG_RX" }, + { FTP_OPT_DEBUG_DATA ,"DEBUG_DATA" }, + { FTP_OPT_INDEX_FILE ,"INDEX_FILE" }, + { FTP_OPT_DEBUG_TX ,"DEBUG_TX" }, + { FTP_OPT_ALLOW_QWK ,"ALLOW_QWK" }, + { FTP_OPT_NO_LOCAL_FSYS ,"NO_LOCAL_FSYS" }, + { FTP_OPT_DIR_FILES ,"DIR_FILES" }, + { FTP_OPT_KEEP_TEMP_FILES ,"KEEP_TEMP_FILES" }, + { FTP_OPT_HTML_INDEX_FILE ,"HTML_INDEX_FILE" }, + { FTP_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, + { FTP_OPT_NO_RECYCLE ,"NO_RECYCLE" }, + { FTP_OPT_NO_JAVASCRIPT ,"NO_JAVASCRIPT" }, + { FTP_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, + { FTP_OPT_MUTE ,"MUTE" }, + /* terminator */ + { -1 ,NULL } +}; + +static ini_bitdesc_t web_options[] = { + + { WEB_OPT_DEBUG_RX ,"DEBUG_RX" }, + { WEB_OPT_DEBUG_TX ,"DEBUG_TX" }, + { WEB_OPT_VIRTUAL_HOSTS ,"VIRTUAL_HOSTS" }, + { WEB_OPT_NO_CGI ,"NO_CGI" }, + + /* shared bits */ + { BBS_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, + { BBS_OPT_NO_RECYCLE ,"NO_RECYCLE" }, + { BBS_OPT_GET_IDENT ,"GET_IDENT" }, + { BBS_OPT_NO_JAVASCRIPT ,"NO_JAVASCRIPT" }, + { BBS_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, + { BBS_OPT_MUTE ,"MUTE" }, + + /* terminator */ + { -1 ,NULL } +}; + +static ini_bitdesc_t mail_options[] = { + + { MAIL_OPT_DEBUG_RX_HEADER ,"DEBUG_RX_HEADER" }, + { MAIL_OPT_DEBUG_RX_BODY ,"DEBUG_RX_BODY" }, + { MAIL_OPT_ALLOW_POP3 ,"ALLOW_POP3" }, + { MAIL_OPT_DEBUG_TX ,"DEBUG_TX" }, + { MAIL_OPT_DEBUG_RX_RSP ,"DEBUG_RX_RSP" }, + { MAIL_OPT_RELAY_TX ,"RELAY_TX" }, + { MAIL_OPT_DEBUG_POP3 ,"DEBUG_POP3" }, + { MAIL_OPT_ALLOW_RX_BY_NUMBER ,"ALLOW_RX_BY_NUMBER" }, + { MAIL_OPT_NO_NOTIFY ,"NO_NOTIFY" }, + { MAIL_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, + { MAIL_OPT_USE_TCP_DNS ,"USE_TCP_DNS" }, + { MAIL_OPT_NO_SENDMAIL ,"NO_SENDMAIL" }, + { MAIL_OPT_ALLOW_RELAY ,"ALLOW_RELAY" }, + { MAIL_OPT_SMTP_AUTH_VIA_IP ,"SMTP_AUTH_VIA_IP" }, + { MAIL_OPT_DNSBL_REFUSE ,"DNSBL_REFUSE" }, + { MAIL_OPT_DNSBL_IGNORE ,"DNSBL_IGNORE" }, + { MAIL_OPT_DNSBL_BADUSER ,"DNSBL_BADUSER" }, + { MAIL_OPT_DNSBL_CHKRECVHDRS ,"DNSBL_CHKRECVHDRS" }, + { MAIL_OPT_DNSBL_THROTTLE ,"DNSBL_THROTTLE" }, + { MAIL_OPT_DNSBL_DEBUG ,"DNSBL_DEBUG" }, + { MAIL_OPT_SEND_INTRANSIT ,"SEND_INTRANSIT" }, + { MAIL_OPT_NO_RECYCLE ,"NO_RECYCLE" }, + { MAIL_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, + { MAIL_OPT_MUTE ,"MUTE" }, + /* terminator */ + { -1 ,NULL } +}; + +static ini_bitdesc_t service_options[] = { + + { BBS_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, + { BBS_OPT_GET_IDENT ,"GET_IDENT" }, + { BBS_OPT_NO_RECYCLE ,"NO_RECYCLE" }, + { BBS_OPT_MUTE ,"MUTE" }, + /* terminator */ + { -1 ,NULL } +}; + +static ini_bitdesc_t log_mask_bits[] = { + { (1<<LOG_EMERG) ,"EMERG" }, + { (1<<LOG_ALERT) ,"ALERT" }, + { (1<<LOG_CRIT) ,"CRIT" }, + { (1<<LOG_ERR) ,"ERR" }, + { (1<<LOG_WARNING) ,"WARNING" }, + { (1<<LOG_NOTICE) ,"NOTICE" }, + { (1<<LOG_INFO) ,"INFO" }, + { (1<<LOG_DEBUG) ,"DEBUG" }, + /* the Gubinator */ + { -1 ,NULL } +}; diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c index 5b3b1343816cb291966daa2341fe93740cd02520..55956d4e6a8c25999d18814a473ffd1a5cc58718 100644 --- a/src/sbbs3/sbbs_ini.c +++ b/src/sbbs3/sbbs_ini.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2003 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -37,124 +37,11 @@ #include "sbbs_ini.h" #include "sbbsdefs.h" /* JAVASCRIPT_* macros */ +#include "ini_opts.h" /* bbs_options, ftp_options, etc. */ #include "dirwrap.h" /* backslash */ static const char* nulstr=""; -static ini_bitdesc_t bbs_options[] = { - - { BBS_OPT_KEEP_ALIVE ,"KEEP_ALIVE" }, - { BBS_OPT_XTRN_MINIMIZED ,"XTRN_MINIMIZED" }, - { BBS_OPT_AUTO_LOGON ,"AUTO_LOGON" }, - { BBS_OPT_DEBUG_TELNET ,"DEBUG_TELNET" }, - { BBS_OPT_SYSOP_AVAILABLE ,"SYSOP_AVAILABLE" }, - { BBS_OPT_ALLOW_RLOGIN ,"ALLOW_RLOGIN" }, - { BBS_OPT_USE_2ND_RLOGIN ,"USE_2ND_RLOGIN" }, - { BBS_OPT_NO_QWK_EVENTS ,"NO_QWK_EVENTS" }, - { BBS_OPT_NO_TELNET_GA ,"NO_TELNET_GA" }, - { BBS_OPT_NO_EVENTS ,"NO_EVENTS" }, - { BBS_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, - { BBS_OPT_NO_RECYCLE ,"NO_RECYCLE" }, - { BBS_OPT_GET_IDENT ,"GET_IDENT" }, - { BBS_OPT_NO_JAVASCRIPT ,"NO_JAVASCRIPT" }, - { BBS_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, - { BBS_OPT_MUTE ,"MUTE" }, - /* terminator */ - { -1 ,NULL } -}; - -static ini_bitdesc_t ftp_options[] = { - - { FTP_OPT_DEBUG_RX ,"DEBUG_RX" }, - { FTP_OPT_DEBUG_DATA ,"DEBUG_DATA" }, - { FTP_OPT_INDEX_FILE ,"INDEX_FILE" }, - { FTP_OPT_DEBUG_TX ,"DEBUG_TX" }, - { FTP_OPT_ALLOW_QWK ,"ALLOW_QWK" }, - { FTP_OPT_NO_LOCAL_FSYS ,"NO_LOCAL_FSYS" }, - { FTP_OPT_DIR_FILES ,"DIR_FILES" }, - { FTP_OPT_KEEP_TEMP_FILES ,"KEEP_TEMP_FILES" }, - { FTP_OPT_HTML_INDEX_FILE ,"HTML_INDEX_FILE" }, - { FTP_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, - { FTP_OPT_NO_RECYCLE ,"NO_RECYCLE" }, - { FTP_OPT_NO_JAVASCRIPT ,"NO_JAVASCRIPT" }, - { FTP_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, - { FTP_OPT_MUTE ,"MUTE" }, - /* terminator */ - { -1 ,NULL } -}; - -static ini_bitdesc_t web_options[] = { - - { WEB_OPT_DEBUG_RX ,"DEBUG_RX" }, - { WEB_OPT_DEBUG_TX ,"DEBUG_TX" }, - { WEB_OPT_VIRTUAL_HOSTS ,"VIRTUAL_HOSTS" }, - { WEB_OPT_NO_CGI ,"NO_CGI" }, - - /* shared bits */ - { BBS_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, - { BBS_OPT_NO_RECYCLE ,"NO_RECYCLE" }, - { BBS_OPT_GET_IDENT ,"GET_IDENT" }, - { BBS_OPT_NO_JAVASCRIPT ,"NO_JAVASCRIPT" }, - { BBS_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, - { BBS_OPT_MUTE ,"MUTE" }, - - /* terminator */ - { -1 ,NULL } -}; - -static ini_bitdesc_t mail_options[] = { - - { MAIL_OPT_DEBUG_RX_HEADER ,"DEBUG_RX_HEADER" }, - { MAIL_OPT_DEBUG_RX_BODY ,"DEBUG_RX_BODY" }, - { MAIL_OPT_ALLOW_POP3 ,"ALLOW_POP3" }, - { MAIL_OPT_DEBUG_TX ,"DEBUG_TX" }, - { MAIL_OPT_DEBUG_RX_RSP ,"DEBUG_RX_RSP" }, - { MAIL_OPT_RELAY_TX ,"RELAY_TX" }, - { MAIL_OPT_DEBUG_POP3 ,"DEBUG_POP3" }, - { MAIL_OPT_ALLOW_RX_BY_NUMBER ,"ALLOW_RX_BY_NUMBER" }, - { MAIL_OPT_NO_NOTIFY ,"NO_NOTIFY" }, - { MAIL_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, - { MAIL_OPT_USE_TCP_DNS ,"USE_TCP_DNS" }, - { MAIL_OPT_NO_SENDMAIL ,"NO_SENDMAIL" }, - { MAIL_OPT_ALLOW_RELAY ,"ALLOW_RELAY" }, - { MAIL_OPT_SMTP_AUTH_VIA_IP ,"SMTP_AUTH_VIA_IP" }, - { MAIL_OPT_DNSBL_REFUSE ,"DNSBL_REFUSE" }, - { MAIL_OPT_DNSBL_IGNORE ,"DNSBL_IGNORE" }, - { MAIL_OPT_DNSBL_BADUSER ,"DNSBL_BADUSER" }, - { MAIL_OPT_DNSBL_CHKRECVHDRS ,"DNSBL_CHKRECVHDRS" }, - { MAIL_OPT_DNSBL_THROTTLE ,"DNSBL_THROTTLE" }, - { MAIL_OPT_DNSBL_DEBUG ,"DNSBL_DEBUG" }, - { MAIL_OPT_SEND_INTRANSIT ,"SEND_INTRANSIT" }, - { MAIL_OPT_NO_RECYCLE ,"NO_RECYCLE" }, - { MAIL_OPT_LOCAL_TIMEZONE ,"LOCAL_TIMEZONE" }, - { MAIL_OPT_MUTE ,"MUTE" }, - /* terminator */ - { -1 ,NULL } -}; - -static ini_bitdesc_t service_options[] = { - - { BBS_OPT_NO_HOST_LOOKUP ,"NO_HOST_LOOKUP" }, - { BBS_OPT_GET_IDENT ,"GET_IDENT" }, - { BBS_OPT_NO_RECYCLE ,"NO_RECYCLE" }, - { BBS_OPT_MUTE ,"MUTE" }, - /* terminator */ - { -1 ,NULL } -}; - -static ini_bitdesc_t log_mask_bits[] = { - { (1<<LOG_EMERG) ,"EMERG" }, - { (1<<LOG_ALERT) ,"ALERT" }, - { (1<<LOG_CRIT) ,"CRIT" }, - { (1<<LOG_ERR) ,"ERR" }, - { (1<<LOG_WARNING) ,"WARNING" }, - { (1<<LOG_NOTICE) ,"NOTICE" }, - { (1<<LOG_INFO) ,"INFO" }, - { (1<<LOG_DEBUG) ,"DEBUG" }, - /* the Gubinator */ - { -1 ,NULL } -}; - #define DEFAULT_LOG_MASK 0x1f /* EMERG|ALERT|CRIT|ERR|WARNING */ void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* host_name)