home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
scid120.zip
/
sentry.doc
< prev
next >
Wrap
Text File
|
1996-10-22
|
47KB
|
1,147 lines
▄█████▄ ▄██████ ▄█████▄ ███████ ██████▄ ██ ██ ▄█████▄ ▐██▌ ██████▄ ██
██▄▄▄▄ ██▄▄▄▄ ██ ██ ▐█▌ ██ ██ ██▄ ▄██ ▄▄▄ ██ ██ ██ ██ ██
▀▀▀▀██ ██▀▀▀▀ ██ ██ ▐█▌ ██████ ▀███▀ ▀▀▀ ██ ██ ██ ██ ▀▀
▀█████▀ ▀██████ ██ ██ ▐█▌ ██ ▀██ ▐█▌ ▀█████▀ ▐██▌ ██████▀ ██
B B S C A L L E R - I D I N T E R F A C E
VERSION 1.20
Copyright (c) 1996 by Jason Hendriks
ALL RIGHTS RESERVED
"Power Software for Lazy People"
S E N T R Y - C I D 1
_______________________________________________________________________
Sentry-CID (or "Scid" for short) is a Caller-ID-to-BBS interface.
Sentry-CID will read your mailer's logfile for caller-id information
(either American standard format or Canadian multi-page format) and
after extensive verification, automatically log the user onto the bbs
(MAXIMUS systems only). SCID also provides information for on-line
validation of new users, eliminating the need for kludgy call-back
verifiers. Sentry-CID is even smart enough to set your system clock!
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 series of caller-id modems offered by USR.
┌═════════════┐
│ [1.1] INDEX │
└═════════════┘
1 Sentry-CID
1.1 Index
1.2 Why Sentry-CID over some other?
1.3 Features
1.4 Requirements
1.5 Contents of the Sentry-CID archive
1.6 Registration
2 Legal-Type Stuff
2.1 Disclaimer
2.2 Warranty
2.3 License
2.4 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 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 Future Plans
5.2 Release History
5.3 Software Updates and Support
5.4 Contacting the Author
┌═══════════════════════════════════════┐
│ [1.2] WHY SENTRY-CID OVER SOME OTHER? │
└═══════════════════════════════════════┘
I had been using another caller-id reading program (one of the best)
called MaxCID. Unfortunately, after I sent in my $10 to register, I
never heard a peep out of the author and saw no new updates to the
program in response to my bug reports.
MaxCID was unable to recognize out-of-area callers (and we get a lot in
Kingston!), or long-distance callers using multi-page format (Canada),
had a flaky "!" autopassword toggle which would login users with
multiple accounts if one of them used the toggle, crashed when run in a
full-screen OS/2 session and was forever logging on the wrong user
(VERY annoying) because it did not do enough verifying of the CID
information.
Sentry-CID is so accurate that it can even update the system clock when
it feels it is appropriate (great for users with computers that seem to
gain about five minutes every day or for those who live in zones which
abide by daylight savings and can never remember when it is!).
┌════════════════┐
│ [1.3] FEATURES │
└════════════════┘
Here are the amazing 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 verify new callers using the validate caller mode
(useful with any bbs type)
■ Can automatically synchronize the system clock with the
caller-id time (to the nearest minute)
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
BBS USERFILE (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
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.4] REQUIREMENTS │
└════════════════════┘
To run SCID, you need to have:
■ a Caller-ID (or "Ident-a-Call" or "Caller-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 (Supra, ZyXel,
USR Sportster vi or USR Courier with the 1/23/96 firmware
flash)
■ a mailer such as BinkleyTerm, FrontDoor or POP capable of
recording the caller-id data to a logfile
■ Maximus bbs (to utilize the auto-login options). This is my
preferred bbs software, because Max is extremely flexible and
is available in an OS/2 version. Users of other bbs software
should be able to use other features of SCID, such as tracking
the phone number in the logfile, and possible new user
validation
■ DOS or OS/2 v2.0+
┌══════════════════════════════════════════┐
│ [1.5] 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 (2.0+) 32-bit executable.
SENTRY.CFG
Sample Sentry-CID configuration file.
SENTRY.FON
Sample alias-matching phonelist.
README.TXT
Other software by me!
┌════════════════════┐
│ [1.6] REGISTRATION │
└════════════════════┘
As an incentive, registration of SCID enables the very useful
[AUTOSETTIME], [NOSYSOPLOGIN] and [LASTCALL_AGE] features, and also
makes Sentry-CID Validator functional. The "please register" kludges
also disappear. Once registered, I will be much more prone to
listening to any suggestions and bug-reports you may have. 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 │
└══════════════════┘
SCID is not programmed to format your harddrive, make long-distance
calls to China with your modem 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 (I wouldn't have any money to give you anyway!)
How come disclaimers always sound so grumpy? Hey, things can always go
the OTHER way, you know. Maybe you'll get lucky and SCID will be
responsible for increasing the accuracy of your Pentium CPU by 43%.
Funky chicken!
┌════════════════┐
│ [2.2] WARRANTY │
└════════════════┘
None! I'm fairly confident that SCID will not fail when used correctly
as outlined in this document, but as a dear friend keeps reminding me,
"there is always one more bug".
┌═══════════════┐
│ [2.3] 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.4] COPYRIGHTS │
└══════════════════┘
* MAXIMUS copyright(c) 1993, 1996 by Scott Dudley, Lanius Corp
[1:249/106]
* REMOTE ACCESS copyright(c) 1996 by somebody
* WATCOM is a trademark of WATCOM International Corp.
* MA BELL should be a trademark of Bell Canada Ltd.,
Northern Telecom
* 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
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. At the present
time Auto-Login works only with Maximus BBS (v3).
┌═══════════════════════════════┐
│ [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:
#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:
┌─────────────────────────────────────────────────────────┐
│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 (least recommended),
┌───────────────────────────────┐
│Answer ~~~`````ATA|│
│Init AT#CID=1| │
│ModemRinging Ring │
│LogLevel 4 │
│RingTries 7 │
└───────────────────────────────┘
RESULT CODES
------------
Your modem will 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 │
│NMBR = L │
└─────────────────────┘
or, if you live in Canada (multi-page format), you will 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 \scid │
│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 various path and filenames before running SCID.
SCID takes two optional command line parameters. Switch to the SCID
directory and run SENTRY -? (DOS) or SENTRYP -? (OS/2) for quick help.
The -c<filename> 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 LOADBBS
batch files. Sentry-CID will attempt to read the default configuration
file "SENTRY.CFG" if none is specified.
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.
The -v command line option tells SCID to run in verify mode. More
information on verify mode is available in section [3.4].
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.CMD 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
prevented from even entering the bbs. The following:
- 547-6756 ; go away Ian
- 613-825-1032 (613)-531-3093 791-4458 ; those other twits
would prevent any nuisance callers from logging onto the system. Again,
lines with single entries are acceptable.
┌════════════════════════════════════┐
│ [3.4] RUNNING SENTRY-CID VALIDATOR │
└════════════════════════════════════┘
Sentry-CID Validator only works when SCID has been registered. You
can run SCID and watch it compare numbers and report them as matched
or unmatched, but the semaphore file for the bbs will not be written
on successful matches (but I'm sure by now you're dying for your
registration key anyway!)
The -d command line options tell Sentry-CID to run in validate mode.
Sentry-CID Validator will compare the phone numbers in [OUTPUT] and
[BBSNUMBER] and if they match, will write a semaphore file
[OK_VALIDATION] which your bbs can read to determine if the user's
level should be upgraded. See section [4.2] on an example of setting
up Maximus BBS to use this.
Sentry-CID Validator returns the following errorlevels:
■ 0: No operation, syntax displayed
■ 1: User phone numbers verified
■ 2: User phone numbers failed verification
■ 3: Sentry is unregistered
┌══════════════════════════════┐
│ [3.5] CONFIGURING SENTRY-CID │
└══════════════════════════════┘
This is a detailed, alphabetical listing of commands in Sentry-CID's
config file. Commands are not case-sensitive and 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 [AUTO_PASSWORD] setting *toggled*.
Thus, if you have [AUTO_PASSWORD] commented out (disabled) and
the user has the key set in [APW_KEYTOGGLE], then they will be
logged on as if [AUTO_PASSWORD] was enabled. Vice versa,
[AUTO_PASSWORD] would be *disabled* for this user if it was
enabled in the configuration file. I recommend using
key "L" (for login). Valid keys range from 1-8 and A-X.
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 new
encrypted passwords in Maximus version 3.x.
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]. (AVAILABLE ONLY AFTER
REGISTRATION).
Batch <filename> [DEFAULT is LoadBBS.BAT (DOS) or LoadBBS.CMD (OS/2)]
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].
BBSNumber <filename>
Path and filename of the file written by the BBS containing the
phone number supplied by the user for use with SCID Validation.
See [OUTPUT] and [OK_VALIDATION].
CID_Dif_High <time_in_minutes> [DEFAULT is 65]
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!
[AUTOSETTIME], [CID_DIF_LOW], [MAILER_DIF] and
[IGNORE_RESTRICTIONS].
CID_Dif_Low <time_in_minutes> [DEFAULT is 1]
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].
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 = 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. (AVAILABLE
ONLY AFTER REGISTRATION).
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 2]
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 [Sentry-CIDLOG].
LogLevel Characters That Precede Included Entries
1 ! *
2 ! * +
3 ! * + :
4 ! * + : #
5 ! * + : # and blank (no character)
MailerLogFile <filename>
Path and filename of the mailer logfile containing the Caller-ID
information to read.
Mailer_Dif [DEFAULT is 2 minutes]
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.
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].
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. (AVAILABLE ONLY AFTER
REGISTRATION)
Output [DEFAULT is CID.DAT]
Path and filename of a file to write just the phone number to for
your own use on your bbs or in some other application.
Unregistered versions of Sentry-CID will have an "UNREGISTERED
COPY" nag written to the file. See [BBSNUMBER] and
[OK_VALIDATION].
PhoneList <filename>
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].
ReadFrom <byte_location> [DEFAULT = 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.
SentryCIDLog <filename>
Path and filename where SCID will log it's operation. Leave
commented out to disable logging. See [LOGLEVEL].
SysOp <name>
Your name!
User_BBS <filename>
The path and filename of the Maximus USER.BBS file to read. Leave
commented out if you do not run a Maximus BBS. See
[FORCEUSERBBS].
OK_Validation <filename>
Path and filename of the semaphore file written by Sentry-CID
Validator to indicate a successful match between the CID phone
number and the user's supplied phone number to "verify" the
user by the BBS software. See [BBSNUMBER] and [OUTPUT].
M A X I M U S B B S 4
_______________________________________________________________________
I am willing to implement login code for other bbs systems if it is
possible with the bbs you run. I have looked into Remote Access and it
is not possible with that system, but if you think it is with whatever
software you are running, please let me know. Callers of other BBS
software may be able to use the caller validation program outlined in
section [4.2].
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 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. Callers who have
the [APW_KEYTOGGLE] will have their [AUTOPASSWORD] action toggled from
the default. 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 NEWUSER1.MEC file and compile it
with MECCA.EXE:
┌────────────────────────────────────────────────────┐
│[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:
┌────────────────────────────────────────────────────┐
│[clear_stacked]Enable auto-logins? [[y,N]? [menu]yn|│
│[choice]y [keyon]L │
│ │
└────────────────────────────────────────────────────┘
Add the following to the top of your NEWUSER2.MEC file and compile it:
┌──────────────────────────────────────────────────────────────────────┐
│[/Start] │
│NEW USER VALIDATION │
│ │
│Verifying your number, please wait. │
│[log]!SCID: Caller attempting verification of %h │
│[delete]VALIDNUM.DAT │
│[delete]PHONE.DAT │
│[open]PHONE.DAT [write]%h │
│[open]nul [xtern_dos]\SENTRY\SENTRY.EXE -c\SENTRY\SENTRY.CFG -d │
│[ifexist]VALIDNUM.DAT [setpriv Normal]Passed validation![goto Done] │
│Your number has failed validation! │
│ │
│Ma Bell shows your call originating from: [link]\SENTRY\CID.DAT │
│ not: [phone] │
│ │
│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.
Also, you may want to use a similar script when users attempt to
change their phone number from the change menu to test if their phone
number really needs changing.
┌════════════════════════┐
│ [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:
┌────────────────────────────────────────────────────────────┐
│Display_File Misc\LogTogle Limited "Auto-Login Toggle"│
└────────────────────────────────────────────────────────────┘
and create and compile the file MAX\MISC\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 │
└════════════════════════════════════════════┘
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 (users sharing accounts?). Place the following in
your MAX\MISC\LOGO.MEC file:
┌───────────────────────────┐
│[open]UnKnown.DAT [open]nul│
└───────────────────────────┘
and in MAX\MISC\WELCOME.MEC to nag users who login (and not new users):
┌────────────────────────────────────────────────────────────────────────┐
│[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: 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] FUTURE PLANS │
└════════════════════┘
In future versions I plan to include:
■ cache of the most popular callers for extremely quick logins
■ using a bbs dropfile to read the user phone number and then
upgrade the user status if it matches the caller-id number.
The dropfile can then be re-read by the bbs, allowing new user
validation with virtually any bbs software.
■ a MEX script for Maximus 3.0 which will automatically plug the
caller-id data into the userfile (into the seldom used DATAPHONE
field), perhaps eliminating the need for caller "verification"
altogether
┌═══════════════════════┐
│ [5.2] RELEASE HISTORY │
└═══════════════════════┘
v1.20 Oct 18/96 Turns out that NONE of the DOS versions were working
correctly, because of bad memory use and DOS not
initializing variables like OS/2 does. Fixed the
subsequent "User Not Found" problem and added "Out
of Memory" error messages. Thanks to Phil Simpson.
Fixed mess when COUNTRY_CODE and AREA_CODE are
commented out.
v1.11 Jun 08/96 A BIT of ignorance (sorry), remember Jay, one's
complement is ~ not !, a bunch of logic errors
fixed.
Corrected trap with with non-plural words (this one
was nasty).
linesfromend wasn't showing up in log properly; added
linefeeds to validation log entry.
Couple more log entry problems.
v1.10 May 17/96 MUCH Faster USER.BBS look-up (especially if you're
running on a clunky 386 or 486 like me) and a
whole bunch of other performance tweaks (no doubt
introducing a bunch more bugs).
last_call check now date and time.
As for the bugs, a change I made to the errorlevels
were causing all private callers to be dumped, and
SCID logfile was reporting "validated" on failed
validations.
v1.03 Apr 11/96 Max v3 encrypted passwords are now recognized (SCID
will disable [AUTOPASSWORD]).
Max v3 second phone number (data) now recognized for
an easier way to let the user have an alias number
-- you won't need to update the phonelist file.
Change to current_time and last_call_date difference.
Out-of-Area and private now shown in log on low
loglevel. Display user's city and number of calls
rather than phone number.
Fixed toggling of APW if no APW_Keytoggle is defined.
Properly reports "error" on logtimefail and
linesfromend fail.
CHANGED ERRORLEVELS, updates to doc and register.txt.
v1.02 Apr 04/96 You'd think I'd test these before I release them.
Allows autopasswords even if the CID time is LESS
than the allowed time buffer.
v1.01 Apr 02/96 Didn't notice this till the month changed. Fixed a
small bug in the way I calculated last_call_date.
v1.00 Apr 01/96 First release of Sentry-CID on April Fool's Day,
because, let's face it, I'm a fool for working
on this program when I should have been studying
for finals.
┌════════════════════════════════════┐
│ [5.3] 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 version are
available.
┌═════════════════════════════┐
│ [5.4] 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 (run on
loglevel 5).
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: FidoNet 1:249/117 │ │
│ BBS: Cyberspace/2 BBS [613-542-3120] │ │
│ Queen's University, Kingston/Ont, CANADA │ │
│ │ │
│Snail-Mail: Jason Hendriks │ │
│ 183 Bayne Crescent │ │
│ Cambridge, Ontario │ │
│ N1T 1K4 │ │
│ CANADA ├─┘
└────────────────────────────────────────────────────────┘
Made in Canada, eh?
---
&:-) JtG in '96!
Ω