home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
scid201.zip
/
sentry.doc
< prev
next >
Wrap
Text File
|
1997-01-01
|
60KB
|
1,440 lines
▄█████▄ ▄██████ ▄█████▄ ███████ ██████▄ ██ ██ ▄█████▄ ▐██▌ ██████▄ ██
██▄▄▄▄ ██▄▄▄▄ ██ ██ ▐█▌ ██ ██ ██▄ ▄██ ▄▄▄ ██ ██ ██ ██ ██
▀▀▀▀██ ██▀▀▀▀ ██ ██ ▐█▌ ██████ ▀███▀ ▀▀▀ ██ ██ ██ ██ ▀▀
▀█████▀ ▀██████ ██ ██ ▐█▌ ██ ▀██ ▐█▌ ▀█████▀ ▐██▌ ██████▀ ██
B B S C A L L E R - I D I N T E R F A C E
VERSION 2.01
Copyright (c) 1996, 1997 by Jason Hendriks
ALL RIGHTS RESERVED
"Power Software for Lazy People"
S E N T R Y - C I D 1
_______________________________________________________________________
Sentry-CID (SCID) is a Caller-ID-to-BBS interface for DOS and OS/2.
Sentry-CID will read your mailer's logfile for Caller-ID information
(either American standard format or Canadian multi-page) and log the
caller's phone number, and, after much verification, automatically log
the user onto the bbs. SCID v2 now has a powerful new-user validation
mode which can be used to upgrade the access of callers ON-LINE,
eliminating the need for kludgy call-back verifiers. Sentry-CID is
even smart enough to set your system clock!
NOTE: Automatic logon and newuser validation is only available for the
Maximus BBS system. Users of other bbs systems can use Sentry to
simply keep track of your caller's phone numbers.
Skip ahead to section [3] to get set-up and running. Please refer to
README.TXT for information on other utilities (bbs and otherwise) that
I have produced. Please refer to REGISTER.TXT to find out how to
register SCID.
Sentry-CID was tested on the original Caller-ID BadBoy, the SupraFAX
14.4 modem (with "J" ROMs) and is compatible with standard CID from the
United States and multi-page Caller-ID (hex data) used up here in the
Great White North. SCID should work with all other Rockwell-based
Caller-ID capable modems, such as the Zoom, non-Rockwell modems such as
the ZyXel, and the new Caller-ID capable modems offered by USR
(Sportster and Courier).
┌═════════════┐
│ [1.1] INDEX │
└═════════════┘
1 Sentry-CID
1.1 Index
1.2 Features
1.3 Requirements
1.4 Contents of the Sentry-CID archive
1.5 Registration
2 Legal-Type Stuff
2.1 Disclaimer and Warranty
2.2 License
2.3 Copyrights
3 Setup and Operation
3.1 Configuring Your System
3.2 Running Sentry-CID
3.3 PhoneList
3.4 Running Sentry-CID Validator
3.5 Running Sentry-CID Updater
3.6 Configuring Sentry-CID
4 Maximus BBS
4.1 Auto-Login
4.2 OnLine Validation
4.3 After Validation
4.4 Ensuring the number is kept accurate
5 Miscellaneous Information
5.1 Frequently Asked Questions
5.2 Known Bugs
5.3 Future Plans
5.4 Software Updates and Support
5.5 Sentry's PGP Signature
5.6 Contacting the Author
┌════════════════┐
│ [1.2] FEATURES │
└════════════════┘
Here are the features of Sentry-CID:
GENERAL FEATURES
■ DOS and OS/2 executables
■ Can read American standard Caller-ID or Canadian
multi-page format (hex text)
■ Can barricade private callers
■ Can automatically synchronize the system clock with the
Caller-ID time (to the nearest minute)
■ Can log Caller-ID data to the BBS log for easy correlation
between user on-line and true calling number
PHONELIST
■ Alias "+" matching on phone numbers for the same user who
calls from different phone numbers
■ Drop carrier on twit users by matching "-" phone numbers
■ Can login users found ONLY in phonelist for a truly private
system
USER LOGON (MAXIMUS v3)
■ Matches caller phone number with user in the bbs userfile
and logs them on (data phone or voice phone)
■ Will prompt for password on user's request or if SCID is
unsure of the accuracy of the CID data
■ ALWAYS prompts for a password when asstsysop or sysops
login, when multiple users of the same number call or when
a user has not called in a long while
■ logs on the last caller when multiple users are flagged for
the same phone number
■ Can login users found ONLY in bbsfile for a truly private
system
NEW USER VALIDATION (MAXIMUS v3)
■ Sentry v2 includes a powerful on-line validator for new
users by directly modifying the bbs userfiles (the flaky
'flagfile' method is gone)
■ Validation can be allowed or denied based on whether the
number supplied by the user is the CID number, whether the
number already exists in the userbase, and whether the CID
data shows private, out-of-area, or error
■ Both users who pass and users who fail can be given
different access levels
■ The user's dataphone number will be automatically set to
the Caller-ID data and the both the data and voice numbers
will be written in a sysop-defined format
CID DATA VERIFICATION ENSURES NO LOGIN "MISTAKES"
■ Makes sure CID time and mailer time do not differ by more
than a certain amount in case of wonky CID data
■ Makes sure mailer time and current time do not differ by
more than a certain amount in case the mailer has
"forgotten" to resume writing to the logfile (ie. after a
system crash)
■ Makes sure CID time is within a certain distance from the
end of the logfile just for the hell of it
┌════════════════════┐
│ [1.3] REQUIREMENTS │
└════════════════════┘
To run Sentry-CID, you need to have:
■ a Caller-ID (or "Ident-a-Call" or "Call-View") service installed
on your phoneline by the local phone company. If yours is
anything like Ma Bell, there will probably be a set-up fee and
monthly service charge
■ a modem capable of producing Caller-ID data. To see if your
modem has this ability, type AT#CID=? in a terminal and the
modem should respond with: 0,1,2
■ a mailer such as BinkleyTerm, Intermail or Portal Of Power
capable of recording the Caller-ID data to a logfile
■ Maximus bbs to utilize the auto-login options. Users of other
bbs software should be able to use other features of SCID, such
as simply tracking the phone number in the logfile
■ Maximus bbs to use new-user validation and access upgrade
■ DOS or OS/2 v2.0+
┌══════════════════════════════════════════┐
│ [1.4] CONTENTS OF THE SENTRY-CID ARCHIVE │
└══════════════════════════════════════════┘
FILE_ID.DIZ
Description file for BBS file databases.
REGISTER.TXT
Registration form.
SENTRY.DOC
This file.
SENTRY.EXE
Sentry-CID DOS 16-bit executable.
SENTRYP.EXE
Sentry-CID/2 OS/2 v2.0 32-bit executable.
SENTRY.CFG
Sample Sentry-CID configuration file.
SENTRY.FON
Sample alias-matching phonelist.
WHATSNEW.xxx
A list of the changes in each release of Sentry-CID.
README.TXT
Other software by me!
┌════════════════════┐
│ [1.5] REGISTRATION │
└════════════════════┘
As a registration incentive, the useful [AUTOSETTIME], [NOSYSOPLOGIN]
and [LASTCALL_AGE] features are activated, and the "please register"
kludges also disappear.
Refer to the file REGISTER.TXT for more information on registering.
I'm a student at Queen's University at Kingston, and I wrote this
program in my spare time. Registration of SCID is only $10 which will
help pay for my taxi ride to the grocery store and back. Thank-you in
advance!
L E G A L - T Y P E S T U F F 2
_______________________________________________________________________
┌═══════════════════════════════┐
│ [2.1] DISCLAIMER AND WARRANTY │
└═══════════════════════════════┘
SCID is not programmed to format your harddrive, make your modem dial
long-distance to China while you are sleeping, or run amok in any other
mischievous manner. However, if you manage to reduce your your
harddrive to egg salad as a result of using Sentry-CID, I will not be
held responsible for any damages incurred to your system, business or
mental state.
SCID comes with no warranty. I'm fairly confident that SCID will not
fail when used correctly as outlined in this document, but as
experience has shown me, "there is always one more bug".
How come disclaimers always sound so grumpy? Things can always go the
OTHER way. Maybe you'll get lucky and SCID will be responsible for
increasing the accuracy of your Pentium CPU by 43%. Funky chicken!
┌═══════════════┐
│ [2.2] LICENSE │
└═══════════════┘
You are ENCOURAGED to register Sentry-CID after evaluating it for a
reasonable period of time. You may use a registered copy of SCID on
any number of machines operated BY YOURSELF. Any money you send will
help further my education as my rent and food budget seem to be getting
smaller and smaller everyday ;)
┌══════════════════┐
│ [2.3] COPYRIGHTS │
└══════════════════┘
■ MAXIMUS copyright(c) 1993, 1996 by Scott Dudley, Lanius Corp
[1:249/106]
■ REMOTE ACCESS copyright (c) 1996 Andrew Milner & Wantree
Development
■ WATCOM is a trademark of WATCOM International Corp.
■ MA BELL should be a trademark of Bell Canada
■ 386i, 486i and PENTIUM are trademarks of Intel
■ SUPRA copyright(c) 1996 by Supra Corp
■ COURIER and SPORTSTER copyright(c) 1996 by US Robotics
■ MAXCID copyright(c) 1994 by Louis LePage [1:246/66]
■ CIDLOG copyright(c) 1992 by Steven L. Davis
■ MAXID copyright(c) 1993 by Wayne Boyd [1:153/763]
■ Pretty Good Privacy(tm) PGP copyright(c) 1990-1994 by Philip
Zimmermann, Phil's Pretty Good Software.
S E T U P A N D O P E R A T I O N 3
_______________________________________________________________________
Sentry-CID will login, validate or barricade users after performing a
variety of checks on the CID data to determine it's accuracy. If you
are running Maximus BBS and BinkleyTerm, you are in luck because so do
I, and I have included easy examples to help you with the setup. For
users of other software, it should be a simple matter of changing
pathnames and filenames to obtain the desired result.
┌═══════════════════════════════┐
│ [3.1] CONFIGURING YOUR SYSTEM │
└═══════════════════════════════┘
Caller-ID use must be enabled on your modem. For modems with the
Rockwell chipset (like the Supra) the command is:
AT #CID=1
which should be placed in your mailer's modem init string. Second, you
must tell your front-end mailer to answer on the second ring to allow
the Caller-ID information to be read by the modem.
FRONT-END MAILER CONFIG
-----------------------
For FRONTDOOR, tell the mailer to put modem info into the log.
Use FDSETUP:
┌──────────────────────────────────────────────┐
│Modem Control -> AnswerControl -> Enable LDFRS│
└──────────────────────────────────────────────┘
For INTERMAIL 2.29k, use IMSETUP:
┌─────────────────────────────────┐
│Modem > Advanced Setup > Messages│
└─────────────────────────────────┘
╔════════════════════ Messages ╗
║ CID - NAME NAME ║
║ CID - NMBR NMBR ║
║ CID - DATE DATE ║
║ CID - TIME TIME ║
╚══════════════════════════════╝
┌────────────────────────────────────────┐
│Modem > Advanced Setup > Command Strings│
└────────────────────────────────────────┘
╔═════════════════════════════════════════ Command strings ╗
║ Init-2 AT#CID=1| ║
╚══════════════════════════════════════════════════════════╝
┌────────────────────────────────────────┐
│Modems > Advanced Setup > Answer Control│
└────────────────────────────────────────┘
╔═════════════════════════════════════════ Answer control ╗
║ Manual answer Yes ║
║ Force answer ATB0A| ║
║ Answer delay 7 ║
║ Answer on ring 2 ║
╚═════════════════════════════════════════════════════════╝
For BINKLEYTERM v2.60, proper config verbs would be:
┌────────────────────────────┐
│Answer ATA| │
│Init AT#CID=1|│
│LogLevel 4 │
│ModemRinging Ring │
│RingTries 7 │
│RingWait 2 │
└────────────────────────────┘
or, with BINKLEYTERM v2.59,
┌────────────────────────────┐
│Answer ATA| │
│Init AT#CID=1|│
│LogLevel 4 │
│ModemRinging Nmbr │
│ModemRinging Mesg │
│RingTries 7 │
└────────────────────────────┘
or an even older version (v2.50),
┌───────────────────────────────┐
│Answer ~~~`````ATA|│
│Init AT#CID=1| │
│LogLevel 4 │
│RingTries 7 │
└───────────────────────────────┘
RESULT CODES
------------
Your modem should start sending results usually including the DATE,
TIME and the calling NMBR:
┌─────────────────────┐
│DATE = 0401 │
│TIME = 2019 │
│NAME = HENDRIKS JASON│
│NMBR = P │
│NMBR = O │
│NMBR = 5423120 │
│NMBR = 16135423120 │
│QUAL = L │
└─────────────────────┘
or, if you live in Canada (multi-page format), you should get the DATE,
TIME and corresponding MESG (or NMBR for PRIVATE/OUT-OF-AREA calls):
┌─────────────────────────────────┐
│DATE = 0401 │
│TIME = 2019 │
│NMBR = P │
│NMBR = O │
│MESG = 030735343233313230 │
│MESG = 030B3136313335343233313230│
│MESG = 06014C │
└─────────────────────────────────┘
LOADING THE BBS
---------------
Ordinarily, your front-end mailer probably calls a batch file with a
set of parameters to pass to the bbs. If that file is SPAWNBBS.BAT:
┌───────────────────────────────────────────────────────────────┐
│@echo off │
│\max\max.exe -s%1 -b%2 -p%3 -t%4 (or ra.exe -b%2 -p%3 -t%4 ?)│
└───────────────────────────────────────────────────────────────┘
you must change it to first run SCID, then run the batch file created
by SCID:
┌───────────────────────────────┐
│@echo off │
│cd \sentry │
│sentry.exe │
│call loadbbs.bat %1 %2 %3 %4 %5│
└───────────────────────────────┘
┌══════════════════════════┐
│ [3.2] RUNNING SENTRY-CID │
└══════════════════════════┘
The included SENTRY.CFG configuration file will need only minimal
changes of a few path and file names before running SCID. See section
[3.6]. If you don't understand what a particular keyword is for, then
you probably don't need to change it. Don't forget to put your
region's area code in!
REMEMBER TO REGULARLY BACKUP YOUR USERBASE!
SCID takes three optional command line parameters. Switch to the SCID
directory and run SENTRY -? (DOS) or SENTRYP -? (OS/2) for quick help.
Usage: sentryp [ <config-file> ] [-vud]
-v : Verify mode
-u : Update mode
-d : Debug mode
The <config-file> command line option allows you to run SCID with a
different configuration file, which is handy for multi-node systems
which need to read different log files and write to different data and
batch files. Sentry-CID will attempt to read the default configuration
file "SENTRY.CFG" in the current directory if no alternate
configuration file is specified on the command line.
Sentry'd default behavior is to parse the mailer log, record the info
and log the user onto the bbs. Run Sentry with NO command line
parameters just before your mailer spawns your bbs program:
(eg) SPAWNBBS.BAT
------------
cd \sentry
sentry.exe
call loadbbs.bat
The -v command line option tells SCID to run in verify mode, upgrade
the user's access and update the user's DATA phone number. This should
be run from the bbs EVERY time a new user has logged on and filled in
the applicable information. More information on verify mode is
available in section [3.4].
(eg) \sentry\sentry.exe -v \sentry\sentry.cfg
The -u command line option tells SCID to simply update the user's DATA
phone number. This can be run by the bbs EVERY time any user logs on,
in order to update the dataphone number of all your old users, or to
catch any new numbers a user may call from. See section [3.5].
(eg) \sentry\sentry.exe \sentry\sentry2.cfg -u
The -d command line option tells SCID to run in debug mode. This was
mainly for me while developing SCID and runs the program a tad slower.
But you may be interested to see just what kind of numbers SCID is
crunching through or may want to verify it's operation. Using this
option automatically switches Sentry to loglevel 5!
Sentry-CID returns the following errorlevels:
■ 0: No operation (fatal error), syntax displayed
■ 1: User known, autologin, autopassword
■ 2: User known, autologin, no autopassword
■ 3: User known, no autologin, no autopassword
■ 4: User unknown (not found in USER.BBS)
■ 5: Out-of-area caller
■ 6: Private caller
■ 7: User barred from bbs
■ 8: Error reading log
Sentry-CID will always write a LOADBBS.BAT file which simply calls the
bbs if an error occurs. If a critical error occurs (such as not being
able to read the config file, or bad arguments passed on the command
line), SCID will beep twice indicating its inability to write the
LoadBBS batch file.
┌═════════════════┐
│ [3.3] PHONELIST │
└═════════════════┘
Please note that the phonelist file is read sequentially, and the first
match will be the only match as far as SCID is concerned.
If a user calls from more than one number, their other number(s) can be
"alias matched" to the phone number contained in the phonelist. The
following:
+ (519)-740-9592 5423120 623-0186 ; calling from the office
would search for the phone number (519) 740-9592 in the userfile if any
calls were received from 542-3120 (current area code) or 546-3844
(current area code). It is important to separate the "+" and
subsequent phone numbers and to NOT have any 'whitespace' within the
phone number.
If [FORCELIST] is active, then only numbers listed in the phonelist,
or alias-matched in the phonelist, would be allowed to login. A single
entry on a line is also acceptable for this feature:
+ (519)6210192
If there are twit users who you don't want calling your system, you can
include their phone numbers in the alias file as barricaded numbers.
Any phone numbers following a minus sign "-" in the phonelist will be
prevent the bbs from even loading. The following:
- 547-6756 ; go away Ian
- 519-432-4747 (613)-531-3093 791-4458 ; those other twits
would drop carrier on any nuisance callers before they even have a
chance to log onto the system. Again, lines with single entries are
acceptable.
┌════════════════════════════════════┐
│ [3.4] RUNNING SENTRY-CID VALIDATOR │
└════════════════════════════════════┘
** PLEASE NOTE THAT THE OPERATION OF SENTRY 2.x IN VALIDATION MODE IS
DIFFERENT FROM THAT OF SENTRY 1.x. USING SENTRY 2.x WILL BREAK YOUR
1.x CONFIGURATION. **
** VALIDATOR IS NOW FUNCTIONAL IN THE UN-REGISTERED VERSION **
Sentry-CID v2.x includes a powerful validator which verifies new users
on-line, upgrades their access and places the Caller-ID data directly
into the user's DATAPHONE field. Sentry v2.00 only supports Maximus
BBS with this feature.
The -v command line options tell Sentry-CID to run in validate mode.
Sentry-CID will modify Max's LASTUSxx.BBS as defined by the
[LASTUSERFILE] keyword. After SCID runs, you must tell your BBS to
re-read the file. See section [4.2] for an example.
Sentry-CID Validator will compare the phone number in the user file to
the phone number obatined via Caller-ID. If the numbers match, the
caller will be upgraded to the level indicated by [PASSACCESS]. If the
numbers don't match, the caller can still be upgraded to perhaps a
'limited' access with the [FAILACCESS] keyword. Sentry-CID will write
a small text file as defined by [RESPONSEFILE] with a brief explanation
on why the validation failed for display by the BBS.
The user's DATA phone number will be changed to the phone number given
by Caller-ID. Sentry-CID Validator will also rewrite the VOICE phone
number in the format specified in the config file, a handy way of
making sure all phone numbers in your userbase share the same style.
The dataphone number will NOT be changed if:
■ The Caller-ID data reports "ERROR"
■ The keyword [NOPHONECHANGE] is used
It is possible to specify the conditions in which a user's access will
be upgraded via the [UPGRADE] keyword. After the [UPGRADE] keyword,
simply include one or more of the following modifiers:
■ ERROR: To upgrade a user whose Caller-ID data fails (through no
fault of their own) with "Error"
■ OUT-OF-AREA: To upgrade a user whose telephone company does not
yet support Caller-ID
■ PRIVATE: To upgrade a caller who purposely blocks their phone
number from Caller-ID
■ NUMBERMISMATCH: To upgrade a caller even if the user-supplied
and Caller-ID numbers do not match
■ DUPENUMBERS: To upgrade a caller who's Caller-ID phone number is
already in use by another user
By including all five of these parameters, EVERY user will be given
higher access, useful if you want all first-time callers to have normal
access on your system.
I would suggest running Sentry-CID with the [UPGRADE] NUMBERMISMATCH
feature. Since Sentry will supply you with the Caller-ID number in
the user's dataphone field anyway, "verifying" what the user says is
their phone number becomes a pointless exercise. Instead, ask the user
for their voice (or alternate calling) number and Sentry will allow
the user to logon from either number.
Sentry-CID Validator returns the following errorlevels:
■ 0: No operation (fatal error), syntax displayed
■ 1: User passed validation (pass)
■ 2: Duplicate numbers found in userbase (fail)
■ 3: Given number does not match CID number (fail)
■ 4: Caller-ID reports "ERROR" (fail)
■ 5: Caller-ID reports "OUT-OF-AREA" (fail)
■ 6: Caller-ID reports "PRIVATE" (fail)
■ 7: AsstSysOp or higher access level (fail)
┌══════════════════════════════════┐
│ [3.5] RUNNING SENTRY-CID UPDATER │
└══════════════════════════════════┘
Sentry-CID can update the DATA phone number of existing users to the
Caller-ID data. This can be used on users who were not upgraded by
Sentry-CID Validator (ie. if they joined your BBS before Sentry was
installed or if you are still using a Call-Back-Verifier to do your
user upgrades). Sentry v2.00 only supports Maximus BBS for this
feature.
If you wish to have Sentry-CID just update the DATA phone number, run
SCID with the -u command line paramter. As with the validation mode,
Sentry-CID will also rewrite the VOICE phone number in the format
specified in the config file, a handy way of making sure all phone
numbers in your userbase share the same style. See section [4.4] for
an example.
The dataphone number will NOT be changed if:
■ The Caller-ID data reports "ERROR"
■ The keywords [NOPHONECHANGE] or [NODATAPHONEUPDATE] are used
■ The keyword [NOSYSOPLOGIN] is used and the user, and the user
has a security level of AsstSysOp or higher
■ The current user has a null password (a "guest" account)
Sentry-CID Validator returns the following errorlevels:
■ 0: No operation (fatal error), syntax displayed
■ 1: Numbers changed
■ 2: Numbers not changed
┌══════════════════════════════┐
│ [3.6] CONFIGURING SENTRY-CID │
└══════════════════════════════┘
This is a detailed listing of commands in Sentry-CID's config file, by
default named SENTRY.CFG. Pathnames and settings are all contained in
the configuration file.
The sample configuration file is arranged in groups of parameters which
show which parameters need to be changed for which operational modes.
For ease of use as a reference, the parameters are listed alphabetically
here. Commands are not case-sensitive and text found after semi-colons
located anywhere in the file are treated as comments.
Allow_Private
Allow callers with blocked numbers to be passed to the bbs;
otherwise Sentry-CID will drop carrier (by NOT loading the bbs).
See [FORCELIST] and [FORCEUSERBBS].
APW_KeyToggle <keys>
This is the Maximus key (or keys) which must be set for the
current user to have the [AUTOPASSWORD] setting *toggled*.
Thus, if you have [AUTOPASSWORD] commented out (disabled) and
the user has the key set in [APW_KEYTOGGLE], then they will be
logged on as if [AUTOPASSWORD] was enabled. Vice versa,
[AUTOPASSWORD] would be *disabled* for this user if it was
enabled in the configuration file. I recommend using
key "L" (for "l"ogin). Valid keys range from 1-8 and A-X.
Comment out [APW_KEYTOGGLE] to totally disable the auto-password
feature. See [AUTOPASSWORD].
Area_Code <area_code>
Your region's phone area code. See [COUNTRY_CODE].
AutoLogin
Determines whether the bbs is given the user's name for login.
See [AUTOPASSWORD].
AutoPassword
Determines whether the bbs is given the user's name *and* password
for login (ie. *completely* logged on) after Sentry-CID performs
all it's time and user status checks, or if the user is prompted
for their password. This command is disabled if [AUTOLOGIN] is
disabled. This command is toggled by the key in [APW_KEYTOGGLE].
This feature is automatically disabled for users using the
encrypted passwords in Maximus version 3.x. See [AUTOLOGIN] and
[APW_KEYTOGGLE].
AutoSetTime
Allow Sentry-CID to set the system time. Sentry-CID confirms that
the CID time is accurate by checking current time difference and
log time difference. See [CID_DIF_LOW], [CID_DIF_HIGH],
[MAILER_DIF] and [IGNORE_RESTRICTIONS]. (REGISTERED FEATURE).
Batch <filename> [DEFAULT is LoadBBS.BAT (DOS) or LoadBBS.CMD (OS/2)]
The path and filename of the bbs batchfile to write (I suggest
LOADBBS.BAT). Use different names in different configuration
files for different nodes on a multi-node system. See [LOAD_BBS].
BBSLog <filename>
Will write the CID phone number and the user's name to the BBS
logfile, handy for a quick correlation between the real phone
number and the user logged on while reading the BBS logfile.
(v2.00)
BBSType <string> [DEFAULT is Maximus]
Your BBS type so that Sentry-CID knows how to read the different
BBS datafiles. SCID currently supports "Maximus" or "RA".
(v2.00)
CID_Dif_High <time_in_minutes> [DEFAULT is 65.0]
The *maximum* time difference between the CID time and mailer log
time before setting the system clock. Who knows, someone at the
phone company may decide to play a joke on you. Set it greater
than 60 minutes to allow for daylight savings in your area!
See [AUTOSETTIME], [CID_DIF_LOW], [MAILER_DIF] and
[IGNORE_RESTRICTIONS].
CID_Dif_Low <time_in_minutes> [DEFAULT is 1.0]
The *minimum* time difference between the CID time and mailer log
time before setting the system clock. No need to fiddle with
the system clock if the discrepancy is only a minute or two -
this may lead to weird looking logfiles in other running
processes. See [AUTOSETTIME], [CID_DIF_HIGH], [MAILER_DIF] and
[IGNORE_RESTRICTIONS].
Country_Code <country_code>
Your country's phone code (1 for U.S. and Canada). See
[AREA_CODE].
DoNotUpgrade
Not a real command, but can be used to store the modifiers which
aren't currently being used by the [UPGRADE] keyword. See
[UPGRADE]. (v2.00)
FailAccess <securitylevel>
The security level to give to users who FAIL validation.
Maximus users use one of the following keywords: TWIT DISGRACE
LIMITED NORMAL WORTHY PRIVIL FAVORED EXTRA CLERK ASSTSYSOP
SYSOP HIDDEN or a value between 1 and 65535. Commenting out this
keyword will disable access changes for failed validations. See
[PASSACCESS]. (v2.00)
ForceList
Login users found only in the [PHONELIST] file. See
[ALLOW_PRIVATE] and [FORCEUSERBBS].
ForceUserBBS
Login users found only in the [USER_BBS] file (disabled if
[USER_BBS] is not specified). See [ALLOW_PRIVATE] and
[FORCELIST].
Ignore_Restrictions
This tells SCID to NOT verify the CID time, mailer log time or CID
position in the logfile when logging in a user or setting the
time. This command should never be enabled except for debugging
purposes. See [AUTOSETTIME], [CID_DIF_HIGH], [CID_DIF_LOW] and
[MAILER_DIF].
LastCall_Age <age_in_days> [DEFAULT is disabled]
This is the greatest amount of time (in days) to allow
auto-password for a user. When users move or disconnect their
phone number, there is a good chance that someone else will get
that phone number and be logged in as them when they call your
board. A setting of zero disables this feature. (REGISTERED
FEATURE).
LastUserBBS <filename>
The path and filename of the BBS on-line userfile to be re-read by
the BBS after modification by Sentry-CID in VERIFY or UPDATE mode.
(v2.00)
Load_BBS <command_line>
The command line to load your BBS. For Maximus system use
something like:
\Max\Max.exe -s%1 -b%2 -p%3 -t%4 -L\Max\Logs\MAX.LOG
For R/A systems use something like:
\ra\ra.exe -b%2 -p%3 -t%4
See [BATCH].
LogLevel <log_level> [DEFAULT is level 3]
This specifies how much information to put in SCID's status log.
Acceptable values are from 1 (minimal information) to 5 (maximum
information). Each log entry is preceded by a character
indicating the importance of the entry, in traditional
BINKLEY/MAXIMUS style. See [SENTRYCIDLOG].
LogLevel Characters That Precede Included Entries
1 ! *
2 ! * +
3 ! * + :
4 ! * + : #
5 ! * + : # and blank (no character)
Sample log output:
# 05 Nov SCID Begin, Sentry-CID/2 Ver. 1.20f [REGISTERED] [DEBUG]
# 05 Nov SCID Reading mailer logfile "d:\max\logs\Bink2.LOG"
05 Nov SCID CID data found 9 lines from end, out of 38 lines read
: 05 Nov SCID Scanned phone number is 613-382-1817
* 05 Nov SCID Ignoring time/date/position restrictions
# 05 Nov SCID Reading phonelist "d:\max\sentry\Sentry.FON"
05 Nov SCID Caller not in phonelist
# 05 Nov SCID Reading BBS userfile "d:\Max\User.BBS"
: 05 Nov SCID ( 7) Jason White, Gananoque (214 calls)
: 05 Nov SCID ( 186) Heather White, Gananoque (4 calls)
: 05 Nov SCID ( 310) Amber White, Gananoque (1 call)
05 Nov SCID Duplicate accounts found for this phone number
# 05 Nov SCID Writing CID datafile "\max\node2\CID.DAT"
# 05 Nov SCID Writing BBS batch file "node2\LoadBBS.cmd"
+ 05 Nov SCID Jason White - AUTO-LOGIN/NO AUTO-PASSWORD (2)
# 05 Nov SCID End, Sentry-CID/2 Ver. 1.20f
MailerLogFile <filename>
The path and filename of the mailer logfile containing the
Caller-ID information to read. Only BinkleyTerm and FrontDoor
style logs are supported.
Mailer_Dif <time_in_minutes> [DEFAULT is 1.5]
The time discrepancy allowed between the current time and mailer
log time. Occasionally, BinkleyTerm will decide NOT to
continue writing to it's logfile, and this setting prevents
logging the same user on over and over when the logtime fails
to lie within this time. Increase the time if you have some
other application which runs between the mailer and Sentry-CID.
See [AUTOSETTIME], [CID_DIF_HIGH], [CID_DIF_LOW] and
[IGNORE_RESTRICTIONS].
Max_Back <number_of_lines> [DEFAULT is 12 lines]
The number of lines from the end of the [MAILERLOGFILE] where the
CID information must lie for the data to be considered accurate.
This is in case two CID blocks are received right after
each other and the phone message of the first is unreadable.
Trust me, this HAS happened :) See [READFROM].
Node <number>
Logs the current task number to the logfile for multi-node
systems. (v2.00)
NoPhoneChange
The userbase VOICE and DATA phone fields will NOT be modified
in either VERIFY or UPDATE mode. (v2.00)
NoDataPhoneUpdate
The userbase DATA phone field will NOT be modified if the DATA
phonenumber already exists and if this number is not the same as
the VOICE phonenumber. Use this if you wish Sentry to capture
once, and then never change, the Caller-ID number of old users
as they call in and get run through Sentry's UPDATE mode. This
allows a user to call from a friend's house, without Sentry
changing their regular datanumber (if it is different from their
voicephone). If this command is NOT used, Sentry will ALWAYS
replace whatever is in the dataphone field with the current
Caller-ID info when run in UPDATE mode (except in the case where
the CID already matches the voice phone). (v2.00)
NoSound
Disables the PC speaker in case your computer, like mine, traps
when the PC speaker is accessed or if you generally dislike
your computer beeping at you! Sentry-CID only beeps on warnings
(*) and critical errors (!).
NoSysOpLogin
This feature disables [AUTOPASSWORD] for users with an access
level of asstsysop or above. You probably don't want anyone
other than the asstsysop or sysop themselves logging in from
their line and accessing your bbs. See [AUTOPASSWORD].
(REGISTERED FEATURE).
Output [DEFAULT is CID.DAT]
The path and filename of an ASCII file to write the Caller-ID data
to for your own use on your bbs or in another application.
Unregistered versions of Sentry-CID will have an "UNREGISTERED
COPY" nag written to the file.
PassAccess <securitylevel>
The security level to give to users who PASS validation.
Maximus users use one of the following keywords: TWIT DISGRACE
LIMITED NORMAL WORTHY PRIVIL FAVORED EXTRA CLERK ASSTSYSOP
SYSOP HIDDEN or a value between 1 and 65535. Commenting out this
keyword will disable access changes for successful validations.
See [FAILACCESS]. (v2.00)
PhoneList <filename>
The path and filename of the alias-matching phonelist. Leave
commented out to disable the reading of the [PHONELIST] file.
The first phone number following a "+" in the [PHONELIST] file
will be the [USER_BBS] entry, and all phone numbers following
it (on that line) will be matched to that number for users who
call from different phone numbers. Phone numbers following a
"-" in the [PHONELIST] are blacklisted numbers and SCID will
drop carrier on those users (by not loading the BBS). See
[FORCELIST].
PhoneMask <string> [DEFAULT is (###) ###-####]
The phone format outputted by Sentry-CID for the logs and
userfile can be defined with this keyword. Use the pound '#'
character to indicate where in the string you would like the
numerals for the phone number to appear. Country & area
codes do not neccessarily have to be specified. Thanks to
Bob Swift for this suggestion. (v2.00)
(eg.) PhoneMask ###-####
PhoneMask #.###.###.####
ReadFrom <byte_location> [DEFAULT is 1500 bytes]
The position from the end of the mailer logfile where SCID will
begin reading. This will probably not need to be changed
unless you have another program which runs before SCID and
adds to the mailer log file. See [MAX_BACK].
Registration <key>
This is your key which activates the registered features of
Sentry-CID. See [SYSOP].
ResponseFile
The path and filename of an ASCII text file containing a brief
explanation of why validation failed. Comment out to disable.
Unregistered versions of Sentry-CID will have an "UNREGISTERED
COPY" nag written to the file. (v2.00)
SentryCIDLog <filename>
The path and filename where SCID will log it's operation. Leave
commented out to disable logging. See [LOGLEVEL].
SysOp <name>
Your name! See [REGISTRATION].
Upgrade <modifier>
Specifies the conditions which must be met for a user to "pass"
the validation process. OUTOFAREA, PRIVATE and ERROR modifiers
allow an upgrade if the CID data returns one of these strings
instead of a phone number. DUPENUMBERS allow an upgrade even if
the number supplied is already listed in the userbase.
NUMBERMISMATCH allows an upgrade even when the numbers do not
match. Using all the keywords will force EVERY user to be
upgraded. See [DONOTUPGRADE]. (v2.00)
User_BBS <filename>
The path and filename of the Maximus USER.BBS file to read. See
[FORCEUSERBBS].
M A X I M U S B B S 4
_______________________________________________________________________
I am willing to implement login code for other bbs systems (I have
looked into Remote Access and that system won't do it). If you think
it is possible with the BBS software you are running, please let me
know.
The following examples are VERY scaled-down versions of the scripts
that I use to control my Maximus bbs with Caller-ID. They were
intended to be simple and clear. If you have a good grip with the
MECCA (or MEX) Maximus script language, don't be afraid to experiment
with what you can do!
┌══════════════════┐
│ [4.1] AUTO-LOGIN │
└══════════════════┘
If [FORCEUSERBBS] is active, only phone numbers found in the [USER_BBS]
file (either VoicePhone or DataPhone) would be allowed to login.
Otherwise, the caller's phone number will be looked up in the BBS
userfile and the matching caller will be logged in, providing
[AUTOLOGIN] is active. Callers who have the [APW_KEYTOGGLE] will have
their [AUTOPASSWORD] action toggled from the default. Comment out
[APW_KEYTOGGLE] to disable the auto-password feature altogether.
Callers who meet the following criteria will be prompted for a
password:
■ AsstSysOp or SysOp security level
■ encrypted passwords
■ multiple accounts at the same phone number
■ haven't called in a while (in case a new caller has their
number)
■ CID data fails the time/position checks (front-end log problem)
┌══════════════════════════┐
│ [4.2] ON-LINE VALIDATION │
└══════════════════════════┘
Add the following to the top of your MAX\MISC\NEWUSER1.MEC file and
compile it with MECCA.EXE:
┌──NEWUSER1.MEC──────────────────────────────────────┐
│[clear_stacked]Enable auto-logins? [[Y,n]? [menu]yn|│
│[choice]n [keyon]L │
│ │
└────────────────────────────────────────────────────┘
This will prompt the new user if they would like to enable the
auto-logins and set the "L" key if they don't want the feature.
If you want to have SCID's Auto-Password feature DISABLED by
default, then comment out [AUTOPASSWORD] in the config file and
reverse the above to:
┌──NEWUSER1.MEC──────────────────────────────────────┐
│[clear_stacked]Enable auto-logins? [[y,N]? [menu]yn|│
│[choice]y [keyon]L │
│ │
└────────────────────────────────────────────────────┘
Now, remember that Sentry will plug the Caller-ID data into the
user's dataphone field. So it makes more sense to ask for the user's
voice phone number so that you can keep track of both numbers.
To APPLIC.MEC, add a line stating "Please enter your *VOICE* phone
number when prompted."
Then, at the beginning of MAX\MISC\NEWUSER2.MEC, run Sentry -v to
upgrade the user with the [UPGRADE] NUMBERMISMATCH feature enabled
in the configuration file:
┌──NEWUSER2.MEC──────────────────────────────────────┐
│[xtern_dos]@\SENTRY\SENTRY.EXE \SENTRY\SENTRY.CFG -v│
└────────────────────────────────────────────────────┘
But if you prefer the "traditional" validation route of upgrading the
user's access level *only if* the number they say they are calling from
is in fact that number, then add a line to APPLIC.MEC stating "Please
enter your *MODEM'S* phone number when prompted."
Then, add the following to the top of your NEWUSER2.MEC file and
compile it, running Sentry -v without [UPGRADE] NUMBERMISMATCH:
┌──NEWUSER2.MEC────────────────────────────────────────────────────────┐
│[/Start] │
│NEW USER VALIDATION │
│ │
│Verifying your number, please wait. │
│[xtern_dos]@\SENTRY\SENTRY.EXE \SENTRY\SENTRY.CFG -v │
│[AE Normal]Passed validation![goto Done] │
│Your number has failed validation because: │
│ [link]\SENTRY\FAILED.TXT │
│ │
│Please change your phone number, or request validation from the SysOp.│
│<C>hange number <l>eave message or <q>uit to bbs [[C,l,q]? [menu]clq| │
│[choice]q [goto Done] │
│[choice]l [leave_comment goto Done] │
│[menu_cmd chg_phone] │
│[goto Start][/Done] │
└──────────────────────────────────────────────────────────────────────┘
You may want to put the above in a separate script file and include an
option for new users to access it from your main menu in case the
validation fails the first time around.
┌════════════════════════┐
│ [4.3] AFTER VALIDATION │
└════════════════════════┘
Your users may want to toggle their [AUTOPASSWORD] status themselves.
To set that up, entering the following in your CHANGE menu in
MAX\MENUS.CTL and re-SILT Max:
┌──MENUS.CTL─────────────────────────────────────────────────┐
│Display_File Misc\LogTogle Limited "Auto-Login Toggle"│
└────────────────────────────────────────────────────────────┘
and create and compile the file MAX\MISC\LOGTOGLE.MEC:
┌──LOGTOGLE.MEC────────────────────────────┐
│[notkey]L AUTO-LOGIN has been toggled OFF.│
│[notkey]L [keyon]L [enter][quit] │
│AUTO-LOGIN has been toggled ON. │
│[keyoff]L [enter][quit] │
└──────────────────────────────────────────┘
┌════════════════════════════════════════════┐
│ [4.4] ENSURING THE NUMBER IS KEPT ACCURATE │
└════════════════════════════════════════════┘
You can run Sentry in Update mode, which will make sure users who
logged onto _prior_ to the installation of Sentry-CID will have their
dataphone numbers updated with their current CID data. Add this to
your MAX\MISC\WELCOME.MEC file:
┌──WELCOME.MEC───────────────────────────────────────┐
│[xtern_dos]@\SENTRY\SENTRY.EXE \SENTRY\SENTRY.CFG -u│
└────────────────────────────────────────────────────┘
The file LOGO.MEC will not be shown to a user who is logged on by
Sentry-CID. You can use this to catch users who start calling from a
different number (blocked numbers or users sharing accounts?). Place
the following in your MAX\MISC\LOGO.MEC file:
┌──LOGO.MEC─────────────────┐
│[open]UnKnown.DAT [open]nul│
└───────────────────────────┘
and in MAX\MISC\WELCOME.MEC to nag users who login (and not new users):
┌──WELCOME.MEC──────────────────────────────────────────────────────────┐
│[ifexist]UNKNOWN.DAT [GE Normal]You are calling from an unknown number!│
│[delete]UNKNOWN.DAT │
└───────────────────────────────────────────────────────────────────────┘
Personally, I give users five chances (in a row) using Maximus keys to
call from a wrong number, then they are denied access. Your
implementation should depend on the level of security your system
requires.
Suggestion for the strong-hearted: Use SCID's errorlevels in a batch
file for a more powerful implementation of the above procedure (for
example, so that legitimate callers who show up as "Out-of-Area" are
not chastised, but "Private" callers are).
M I S C E L L A N E O U S I N F O R M A T I O N 5
_______________________________________________________________________
┌═════════════════════════════════┐
│ [5.1] FREQUETLY ASKED QUESTIONS │
└═════════════════════════════════┘
Q. Is there a way to get Sentry to log all user names attached to the
CID number in the log file? Handy for tracking multiple aliases.
A. Use LOGLEVEL 3 or higher.
Q. Sentry reads the phone number but won't match it to the caller's
number in the userbase.
A. Make sure you have defined your AREACODE in the config file!
Without it, Sentry will not strip off the areacodes of any phone
numbers in the userbase.
Q. Sentry doesn't give the user a message when they aren't in the
userbase and FORCELIST hangs up on then.
A. I haven't looked into writing to the COM port, perhaps I will for
a future release (at least for the OS/2 version).
Q. After the "Nmbr" string, Binkley says "No Answer" and then answers
as normal?
A. This is cosmetic and doesn't affect Binkley's operation. Bink's
"ModemRinging" feature is colliding with it's answering function.
Use "RingTries 7" in your config to get rid of this response.
Q. Is the Cyrix bug fixed yet?
A. No. The *DOS* executable is still unstable on a Cyrix processor.
┌══════════════════┐
│ [5.2] KNOWN BUGS │
└══════════════════┘
There was a report that the DOS executable does not run properly
with a Cyrix CPU (something to do with no available memory). I am
looking into this one, but so far it has me stumped.. Could have
something to do with the Pentium optimization routines by the
Watcom compiler.
┌════════════════════┐
│ [5.3] FUTURE PLANS │
└════════════════════┘
In future versions I may include:
■ reading of MAX\ACCESS.CTL for user-defined security levels
■ reading of RA\EXITINFO.BBS and RA\USER.BBS for on-line
validation with the Remote Access BBS system. I attempted
to put this into Sentry v2.00, but the pascal structures
for RA frustrated me too much! Not to mention there isn't
much incentive, because I am a big fan of SJD's Maximus.
┌════════════════════════════════════┐
│ [5.4] SOFTWARE UPDATES AND SUPPORT │
└════════════════════════════════════┘
I will release new versions of this software package as new ideas hit
me or as bug reports come in (knock on silicon) :) New releases will
be found at the BBS or URL listed below. Registered users of
Sentry-CID will receive notices from me when new versions are
available.
┌══════════════════════════════┐
│ [5.5] SENTRY'S PGP SIGNATURE │
└══════════════════════════════┘
To capture my public key to your public key ring and check the
validity of the executables, run:
pgp sentry.doc [filename]
Substitute SENTRY.EXE for [filename] on the first pass, then run
pgp again with SENTRYP.EXE for the second pass. On the first
pass you should see:
Text is assumed to be in file 'sentry.exe'.
Good signature from user "Jason Hendriks".
Text is assumed to be in file 'sentry.exe'.
WARNING: Bad signature, doesn't match file contents!
.. and on the second pass:
Text is assumed to be in file 'sentryp.exe'.
WARNING: Bad signature, doesn't match file contents!
Text is assumed to be in file 'sentryp.exe'.
Good signature from user "Jason Hendriks".
Do not run the executables if either pass reports BAD Signature
for both packets! The executables may be hacked or corrupted.
(The "WARNING: Bad signature" above is expected ONCE per pass
because PGP checks both the packets below against the same executable
and has to fail on the packet which wasn't created for it.)
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.i
mQCNAjAS9Z0AAAEEANf+B0l0Cy/80td2CW9oREAA9ZCPh1YKWZADdygxR8nZW+Uy
MMZ2r3exYJbZTBa9DSG/wfoRFXpW7sx5v+38KdjiAFV6KilcBX4xiOcD2yRPYT4E
EfpMx0zXUbAGZ3stzu4wB7pGfgnPF6wF+ObGHIzcf5Ctaj4yTDYhNdf0Y5Q1AAUR
tCdKYXNvbiBIZW5kcmlrcyA8M2poaDNAcWxpbmsucXVlZW5zdS5jYT4=
=QS2F
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP MESSAGE (SENTRY.EXE SIG)-----
Version: 2.6.2
iQCVAwUAMsn6cDYhNdf0Y5Q1AQHHNQP9GBj1zmh8GWkp4bHumU5D2FCWVMY+LHPD
5tr9xBydkuEQd0oUfVSpgwfWpHw2orpkcypncyLZwZA0c+f90eA9x/bfAWKxcoB2
0zQ0Iu4iGfso726ZMLzht0eSuGM1oBQoFoNoNufwKSwP04qSnt0Fi+PA3lYzoo1o
l/KlFQ25kDU=
=aS/I
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE (SENTRYP.EXE SIG)-----
Version: 2.6.2
iQCVAwUAMsn6dzYhNdf0Y5Q1AQE0uQQAiOHJwbT2isy90tom8DS37f/3Y4NY8jG+
hA3efRuObTLDzZA0nai2YSLC2yPLo85mr9q+EFz3rjU1Blf47wpYXNAh/yYzpyr2
kl3EWdAZy0pugwSDX2U2Yau7ziNFenyDRbmywhp8ZpZJvgELJDiqwiT4K2ksKdvd
WiHr78pGCUE=
=n4qJ
-----END PGP MESSAGE-----
┌═════════════════════════════┐
│ [5.6] CONTACTING THE AUTHOR │
└═════════════════════════════┘
I welcome all comments, suggestions and praise :) If you are reporting
a bug you've found, please also include a snippet of the mailer log
which caused the error and a copy of SCID's output log in debug mode.
Or maybe you'll just want to write me to say hi or offer me a
high-paying job. When I'm not hanging out in FIDO.BINKLEY or
FIDO.OS2PROG, I can be reached at:
┌──────────────────────────────────────────────────────────┐
┌─┴────────────────────────────────────────────────────────┐ │
│ E-Mail: 3jhh3@qlink.queensu.ca │ │
│ Jason.Hendriks@cyberspace.crp.kingston.on.ca │ │
│ URL: http://qlink.queensu.ca/~3jhh3/software/ │ │
│ │ │
│ Net-Mail: Cyberspace/2 BBS - FidoNet [1:249/117] │ │
│ BBS: Node1 - 1:249/117 (14.4k) [613-542-3120] │ │
│ Node2 - 1:249/119 (33.6k) [613-542-4119] │ │
│ Queen's University, Kingston/Ont, CANADA │ │
│ │ │
│Snail-Mail: Jason Hendriks │ │
│ 580 Armstrong Rd #410 │ │
│ Kingston, Ontario │ │
│ K7M 8M3 │ │
│ CANADA ├─┘
└──────────────────────────────────────────────────────────┘
Made in Canada, eh?
---
&:-) JtG in '97!
Ω