/************************************************************************/ /* ctdlCnfg.sys */ /* */ /* configuration file for Citadel bulletin board system. */ /* This is >>>NOT<<< a C file! It is read in by confg.exe */ /* which sets up a "CTDLTABL.SYS" binary file recording the local */ /* configuration parameters. (CTDLTABL.SYS is read by the other */ /* Citadel programs.) */ /* */ /* WARNING WARNING WARNING WARNING WARNING WARNING WARNING!!!! */ /* This version of CONFIGUR uses decimal numbers throughout; if */ /* you leave the existing hexidecimal numbers in, ugly things */ /* will happen to your system. */ /* */ /************************************************************************/ /************************************************************************/ /* History */ /* */ /* 87Apr28 orc More things are changed around, for added confusion. */ /* 87Apr05 orc STadel version 2; gone to decimal numbers. */ /* 87Feb16 orc STadel version 1 */ /* 86Jul09 HAW Added muchos. The history gets worse. */ /* 85Nov10 HAW Reviewed. Note: This file's history is, uh, execrable. */ /* 85Aug26 HAW NETDISK, MIRRORMSG, MSG2DISK. */ /* 85Mar03 HAW Customize for Sperry PC. */ /* 85Feb20 HAW Kill off MDATA. */ /* 85Feb17 HAW Install 300/1200 access code. */ /* 85Jan22 HAW Modified to read MSDOS clock. */ /* 84Sep03 HAW Now fer MS-DOS! */ /* 84Jun10 HAW ALLMAIL... */ /* 83Feb26 CrT LOGINOK, ENTEROK & READOK... */ /* 83Feb06 CrT Mods to debug ICS files on ODD-DATA machine... */ /* 82Nov24 CrT This file now handles H89 with SmartModem @ port D8 */ /* 82Nov21 CrT Created. */ /************************************************************************/ /************************************************************************/ /* This file must be edited to be appropriate to the local environ- */ /* ment. It specifies the name of the installation, et cetera. */ /* This file is then processed by CONFGUR.TOS, which produces the */ /* ctdlTabl.sys file which is read the other Citadel programs -- */ /* currently CITADEL.TOS and some utilities. */ /* Lines not beginning with "#" are ignored by CONFG and may be */ /* deleted once the file is successfully configured -- they are purely */ /* documentary. */ /************************************************************************/ /************************************************************************/ /* GENERAL STRING FORMATTING CONTROLS: */ /* Strings in CTDLCNFG.SYS can be forcefully formatted by embedding */ /* certain strings of characters in them. All of these strings of */ /* characters are started by the use of the '\' character. When Citadel*/ /* sees '\', it will replace the '\' and the following character(s) */ /* with the value specified in the following table. */ /* "\n": CR-LF */ /* "\t": Tab character */ /* "\b": Non-destructive Backspace */ /* "\r": CR */ /* "\f": Formfeed */ /* "\\": Backslash */ /* "\": The octal* ASCII value is output */ /* Strings that are output via the formatter must conform with normal */ /* formatting conventions in order for the desired effect to be */ /* achieved. For example, if you wish to force a CR-LF at a certain, */ /* your string at that point would look like */ /* "...\n ..." */ /* NOTE THE SPACE following the "\n"! */ /* The following strings are output via the formatter: */ /* #nodeTitle */ /* #baseRoom */ /* The following strings are not output via the formatter: */ /* #modemSetup */ /* #callOutPrefix */ /* #callOutSuffix */ /* #nodeId */ /* #nodeName */ /* #sysPassword */ /* Explanations of what these strings do follows in this file */ /* */ /************************************************************************/ /* nodeTitle will be printed whenever CITADEL.TOS is run, and should */ /* identify your local installation, i.e. "Welcome to .." */ #nodeTitle "Inner Sanctum One" /* nodeName is purely for networking purposes. Messages which */ /* originated on your system will have headers looking like */ /* 82Nov23 From Cynbe ru Taren @ODD-DATA /* This should be a short (for the sake of the reader!) mnemonic */ /* identifying your node for humans. */ #nodeName "Inner Sanctum One" /* nodeId is also purely for networking purposes. Messages which */ /* originate on your system will be marked with the nodeId, but it will */ /* not normally be printed out. It is primarily for the use of the */ /* networking support software, and forms a globally unique name and */ /* address of your system. It consists of a country abbreviation */ /* followed by area code and phone number. (The "country codes" listed */ /* in the phone book are >not< fixed, but depend on the country the */ /* call is originating from. They are basically routing codes rather */ /* than addresses.) Country abbreviation for the US is "US", for */ /* Canada is "CA". (For others, see COUNTRY.DOC.) */ #nodeId "US 206 363 8592" /* We'll use the following for IS networking */ #COUNTRY "USA" /* USA, CAN, MEX, EUR, JAP, AUS, etc. */ #AREACODE "206" #PHONENUM "363-8592" /************************************************************************/ /* #sysPassword specifies the file that contains a string that will */ /* act as the password to the remote sysop abilties. If this */ /* parameter is not specified, or if the file is not found, or is */ /* unreadable, then remote sysop abilities are disabled. Only Aides */ /* can access remote sysop abilities, and they must* know the exact */ /* password, up to and including the case of the individual letters. */ /* Since a hacker could badly damage a system by gaining access to the */ /* remote Sysop capabilities, use of this feature is not */ /* recommended. To access sysop abilities from remote, type CTRL-L */ /* at any room prompt. A password will be requested if you are an */ /* aide. If the correct password is given, then you have access to */ /* sysop capabilities, plus some of the room editing capabilities */ /* normally restricted to sysConsole aides. */ #sysPassword "citpass.sys" /* No remote sysop capabilities */ /* baseRoom is the homeroom of the Citadel in operation, the place you */ /* go when there are no more rooms with unread messages left. This is */ /* usually known as the Lobby> on most systems. It's simply a nice, */ /* easy way to customize and give character to your system.. */ #baseRoom "Lobby" /* LOGSIZE is the number of entries that you want in your log. Once */ /* you've selected a log size and have configured, you may NOT shrink */ /* the log except by destroying the log totally. There is a utility */ /* available for expanding the log, called LEXPAND. Each log entry */ /* needs ??? bytes on disk (I know that a 180 entry log requires app. */ /* 88K), so plan accordingly. */ #define LOGSIZE 512 /* CRYPTSEED is a number used in encrypting the password file. Change */ /* it once when you install the system, but not thereafter -- or you */ /* won't be able to read the existing files any more. */ #define CRYPTSEED 9428 /* MESSAGEK sizes "ctdlmsg.sys", the file message text is stored in. */ /* The size of this parameter together with the rate message text is */ /* entered at determines message lifetime. ICS ran for a few months */ /* with 87K, and message lifetime sometimes dropped below 3 days, */ /* upsetting the weekly callers. A one-week minimum seems the target */ /* to try for. ICS is currently (82Nov26) running a 250K message file. */ #define MESSAGEK 1024 /* number of Kbyte to use in ctdlmsg.sys*/ /* The following 3 parameters specify on what directories STadel should */ /* look for its personal data files. These parameters take the form of */ /* drive:pathname. (a:\help, c:\system, etc) */ /* */ /* helpDir: Location of all .HLP, .BLB, and .MNU files (i.e., all of */ /* the help files), which is generated by CONFIGUR.TOS and kept up */ /* to date by CITADEL.TOS. */ /* msgDir: Location of CTDLMSG.SYS, the message file. (This is the */ /* primary message file; see the parameter MIRRORMSG later in this */ /* file.) */ /* sysDir: Location of CTDLLOG.SYS and CTDLROOM.SYS. */ #helpDir "e:\help\" #sysDir "d:\sys\" #msgDir "d:\msg\" #WXYPATH "d:\wxytr.prg" /* Where we go for file transfers */ #KERMIT "d:\kermit.prg" /* Where we go for kermit file transfers */ #ZMODEMSEND "d:\sz.ttp" /* Where we go for zmodem file sends */ #ZMODEMRCV "d:\rz.tos" /* Where we go for zmodem file receives */ /* The following two configuration parameters are designed to help */ /* us stay in synch as far as time goes. The following values are */ /* recognized as timezones at this point: ATLANTIC, EASTERN, CENTRAL, */ /* MOUNTAIN, PACIFIC, ALASKA, HAWAII, and BERING. */ #TIMEZONE "PACIFIC" /* What timezone are we in? */ #define DSTFLAG 0 /* Are we using daylight savings time ? */ /* Yes = 1, No = 0 */ /* the trailing \ is not necessary -- configur strips them off the path */ /* and Citadel puts a \ between the pathname and the appropriate file. */ /* MIRRORMSG: This parameter should be used when you have a RAM disk */ /* that contains the message file, and want to have the message file */ /* continuously backed up. Setting MIRRORMSG to 1 tells Citadel-86 to */ /* expect the file to be both read from and written to be on */ /* directory msgDir (and this should specify the RAM disk), and the */ /* file to only be written on to be on mirrorDir (described below). */ /* This should save wear 'n tear on your message drive while (almost) */ /* ensuring no loss of message data due to crash/power loss. */ #define MIRRORMSG 0 /* Change it to 1 if you want the above */ /* mirrorDir is the location of the file that should only be written to.*/ /* This SHOULD be a normal disk rather than a RAM drive. This parameter */ /* is only used if MIRRORMSG is 1. Drive specification is as the same */ /* as msgDir, sysDir, etc.... */ #mirrorDir "" /* netDir specifies the location of all net files: scratch files, */ /* any and all *.ML files, and CTDLNET.SYS. PLEASE do not* specify */ /* a RAM disk; crashes may leave you with using *.ML files that */ /* shouldn't exist any longer (a lesson learned at Dog House). Also, */ /* don't let this disk fill up if you ARE in networking mode; loss of */ /* data can occur if you do. */ #netDir "d:\net\" /* tmpDir specifies the location for temporary work files to hang out */ /* these files will come and go. This directory will be used primarily */ /* by network drivers and doors applications. */ #tmpDir "c:\tmp\" /* Where we keep our bulletins */ #bullDir "e:\bull\" /* NOW USED!!!! */ /* Do we allow graphics at the console? (VT52) */ #define CONSOLEGRAPH 1 /* 1 = yes, 0 = no */ /* Shall we generate profile messages for new users? */ #define USEINTROS 1 /* 1 = yes, 0 = no */ #INTRODUCTIONS "Introductions" /* What room do we use? */ /* Are we booting up from the GEM desktop? And do we want to register */ /* with GEM as an official application? (Useful for GEM doors!) */ #define USEGEM 1 /* 1 = yes, 0 = no */ /* Do we want to suppress console I/O? */ #define QUIETMODE 0 /* 1 = yes, 0 = no */ /* Do we allow display of graphics messages? (ANSI and VT52) */ #define MSGGRAPH 1 /* 1 = yes, 0 = no */ /* The CALL-LOG parameter allows the optional generation of the */ /* CALLLOG.SYS file. If nonzero, the parameter #auditDir is where */ /* the calllog is placed, and if zero, no calllog is generated. */ #define CALL-LOG 1 /* Feature disabled */ /* if CALL-LOG is nonzero, the audit file is found in the directory */ /* specified in auditDir. */ #auditDir "d:\audit" /* shell defines the command-line interpreter that Citadel runs when */ /* you try to do an [O]utside command. It must be the full pathname */ /* to the shell program. */ #shell "e:\bin\msh.prg" /* Doors work better for this */ /* LOGINOK, ENTEROK and READOK are configuration switches used to set */ /* the privileges of new callers. */ /* If LOGINOK is TRUE (nonzero), callers can establish a name and */ /* password for themselves without sysop intervention. If it is */ /* FALSE (zero), new accounts can only be established from the system */ /* console. */ /* If ENTEROK is TRUE callers can enter messages without logging */ /* in. Such messages will have nameless headers but the date will be */ /* intact. Setting ENTEROK to FALSE can reduce vandalism, or keep */ /* nonpaying folks off commercial systems. */ /* If READOK is TRUE, callers can read messages without logging */ /* in. This provides a friendly first contact. Setting READOK to */ /* FALSE may again be appropriate in commercial installations. */ #define LOGINOK 1 /* user-established accounts */ #define READOK 0 /* no anonymous message-reading */ #define ENTEROK 0 /* no anonymous message-entry */ /* ROOMOK is a configuration switch setting the room-creation privileges*/ /* of established callers. If ROOMOK is TRUE (nonzero) then regular */ /* folks can create new rooms, else only those with aide privileges */ /* can do so. */ #define ROOMOK 0 /* general room-creation privileges */ /* ALLMAIL is a configuration switch which lets the sysop decide whether*/ /* all people should be allowed to send private mail to each other, or */ /* if only aides should have access to private mail and the ordinary */ /* folk can only send mail to the Sysop. If ALLMAIL is TRUE, all get */ /* privileges; FALSE and only aides have the privilege. */ #define ALLMAIL 1 /* Everybody can send mail */ /* SEARCHBAUD tells Citadel whether the user wants to do 300/1200/2400 */ /* access via a flip flop search between the bauds while the user */ /* types Carriage Returns or not. */ /* If SEARCHBAUD is set to 1, the system will quickly flip through the */ /* baud rates for about 60 seconds, spending half a second at each baud */ /* looking for a . */ /* If SEARCHBAUD is set to 0, SYSBAUD is the /only/ baud rate the */ /* system uses. */ #define SEARCHBAUD 1 /* 1 == autosearch, 0 == don't */ /* SYSBAUD is the baud setting of this system. 300 only is 0, 300/1200 */ /* is 1, 3/12/24 is 2. (unless SEARCHBAUD is 0, then 0 == 300 baud, */ /* 1 == 1200 baud, and 2 == 2400 baud.) */ */ #define SYSBAUD 2 /* A 3/12/24 system. */ /* CONNECTPROMPT tells Citadel whether you want the system to prompt */ /* callers to 'type return' after they connect. */ #define CONNECTPROMPT 0 /* silly prompting. */ /* Some modems/dialing areas will hang up if you send characters to */ /* your modem too soon after establishing a connection. This will kill */ /* any system using AUTOBAUD, because a bug in the ST's hardware flushes*/ /* a imaginary character whenever you change the baudrate. */ /* So, Citadel will delay CONNECTDELAY seconds after somebody calls in */ /* before it starts to check for your baud rate. */ #define CONNECTDELAY 0 /* don't delay */ /* Here is how we control the message-pause default when a user logs in */ #define MSGPAUSE 2 /* 0 means pause-between-msgs is disabled */ /* 1 means pause-between-msgs is OFF */ /* 2 means pause-between-msgs is ON */ /* This option has been de-activated for the time being. But you */ /* should still have it in here set to '0'. */ #define INTERFACE 0 /* 0 means Citadel only */ /* Here we can decide to use Hayes modem result values for */ /* automatically determining baud rate. (If we have 'em available!) */ /* If you use this feature, make sure your modem is set up to return */ /* the appropriate result stuff via the modem init string! */ #define HAYESCODES 1 /* 0 means we will use normal citadel style */ /* 1 means we will use numeric result codes */ /* 2 means we will use "CONNECT n" strings */ /* Here we can set a time limit on a particular call for non-aides */ /* If defined as 0, the feature is disabled. Otherwise the number is */ /* the number of minutes allowed for the caller. */ #define CALLLIMIT 90 /* 90 minutes max per call */ /* Here we can set a time limit on a particular call for twits */ /* If defined as 0, the feature is disabled. Otherwise the number is */ /* the number of minutes allowed for the twit. */ #define TWITLIMIT 5 /* 5 minutes max per call */ /* Here we can set a time limit on a particular call for new callers */ /* If defined as 0, the feature is disabled. Otherwise the number is */ /* the number of minutes allowed for the new user. */ #define NEWLIMIT 30 /* 30 minutes max per call */ #define MAXNEW 5 /* maximum msg entries for new folks */ #define MAXTWIT 1 /* maximum msg entries for twits */ #define MAXREG 18 /* maximum msg entries for regular users */ #define TWITZAP 3 /* shall we be obnoxious to twits? Yes! */ #define TWITDELAY 300 /* number secs offline after zap */ /* Here we can decide to use a trailing '>' on room names to signal */ /* the user that he/she has access to additional halls from said room */ /* or by setting it to '0' we can leave them in the dark :) */ #define HALLPROMPT 1 /* Use auto hall prompts at room names */ /************************************************************************/ /* #callOutPrefix determines what is output to the modem prior to */ /* the phone number to be dialed. It must send all commands necessary */ /* to put the modem into dial out mode. Additionally, it must contain */ /* what is neceessary in the way of special commands dealing with PBX's,*/ /* etc. */ /* For instance, a simple setup of a Hayes/compatible in a simple home*/ /* setting which has Touch Tone would require: */ /* #callOutPrefix "ATDT" */ /* A more complicated example of a Hayes/compatible in an office */ /* that requires a 9 and then a pause before gaining an outside line */ /* would require */ /* #callOutPrefix "ATDT9," */ /* */ /* #callOutSuffix determines what is output to the modem after */ /* #callOutPrefix and the phone number has been output. Graphically, */ /* <#callOutPrefix><#callOutSuffix> */ /* is the sequence in which data is out when the networker tries */ /* to dial out. Since nothing is automatically appended to the */ /* number when it is being output to the modem during networking, */ /* the typical value for an installation using a Hayes/compatible is */ /* #callOutSuffix "\r" */ /* since Hayes/compatibles require a C/R to end a command string. */ /* This may not hold true for other brands of modems. */ /************************************************************************/ #callOutPrefix "ATDT" /* Normal Hayes installation w/o TT. */ #callOutSuffix "\r" /* Typical Hayes suffix */ /************************************************************************/ /* the modemSetup string is sent to your modem every time you start */ /* citadel.prg and every time you do a ^LR from the console. */ /* This string must typically be adjusted for your modem. The string */ /* here works with a Smarteam 2400 baud modem. */ /************************************************************************/ #modemSetup "ATM0X1V0Q0F1E0B1S0=1S2=255S9=4\r"