home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
bbs_ra
/
vd127r.arj
/
VD.DOC
< prev
next >
Wrap
Text File
|
1991-11-16
|
30KB
|
834 lines
ValidOOR
--------
Copyright (c)1989-91, Cabell B. Clarke Jr., All Rights Reserved.
The Boot Factory BBS
--------------------
FidoNET 1:264/19
3/12/24/96HST
804-262-9289
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Disclaimer
----------
This software is sold "AS IS". It is not guaranteed to work at all. If
it trashes your system or ruins your life, you have been warned. I am
not responsible for any damages incurred from the use or misuse of this
software.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ValidOOR is a User Validation Door written for the Remote
Access Bulletin Board System. ValidOOR allows Sysops to have their
systems call users back in order to verify that they have left a valid
phone number for the sysop's records. This results in a more secure
system for the sysop as well as his users.
ValidOOR is being released as Shareware. This means you are free to
evaluate the program for 30 days. If it meets your needs, you are
then expected to register your copy by sending me a registration fee.
Registering ValidOOR entitles you to all minor releases of Version 1
of ValidOOR (1.00-1.99). It also grants you access to the ValidOOR
Support Forum on my BBS which contains files, etc which are related
to ValidOOR, such as the soon to be available VD_Util which is a
program to maintain your vd.cfg file as well as your User Directory.
There will not be a version 2.00 of ValidOOR before September of 1990.
Unregistered versions of ValidOOR will have a 30 second delay built-in
to the program. The KEY file will eliminate this delay and inform
the rest of the world that you have registered your copy.
Please register ValidOOR. This program has taken me over two years
to write and debug, and has cost me a lot in the process. Support
the Shareware concept. Registration of ValidOOR allows you to run
ValidOOR on one computer system.
In order to register ValidOOR, see the LICENSE.DOC file for an order
entry blank. Fill out the form and send with the registration fee to
Cabell Clarke
5513 Cottage St.
Richmond, VA 23228
Your KEY file will be sent to you via FidoNet mail, or US Mail
whichever is convenient. Allow 2 weeks for processing.
A Note to Remote Access Users
-----------------------------
At this time, VD does not support file/record locking so it cannot be
reliably used on a multi-node bbs on more than one node. It should
work fine on one node however. I would like to add file/record
locking to VD in the future. Send Code<tm>.
Getting Started
---------------
In order to get going with VD, first you need to unzip all of the files
into your BBS directory. I recommend printing this documentation as
well as the VD.CFG file as it contains helpful hints for setting up
the config file in it's comments.
You may also tell Validoor what the name of your config file is on the
command line when you run vd like this:
vd myvd.cfg
or
vd yourvd.cfg
The default config filename is VD.CFG
Modify (or create) the .MNU .ASC .BAT files included to your needs.
The enclosed are samples only which I run on my system.
Rename the vd###.exe to VD.EXE
vd.cfg
------
The VD.CFG file contains all of the important parameters necessary to
run VD. Please remember that any line which begins with a per-cent (%)
is a comment and may be removed, however, if you remove comments, you
are on your own. VD.CFG is well-commented and should be self explanatory
in setting it up. Just load it into your text editor. Make sure that
there are no comments on the lines which contain parameters. Also make
sure that you only have one (1) space between the Variable Descriptor and
the variable itself like this:
ModemSuffix &M4
^
|
one space here
NOTE: In the beta versions there have been several vd.cfg file formats.
In v1.00, there are some new descriptors so it is suggested that
you modify the config file included in this archive to suit your
setup.
Make sure the vd.cfg file you are using is compatible with your
version of VD.
Variable descriptors in vd.cfg
------------------------------
% - the percent sign is a comment and must be placed in the
first column of the line that you wish VD to ignore.
Do not place a '%' on the same line after a variable
descriptor or the program will blow up.
SysopName - Your name should go here in the same format as you
register VD in. Example:
SysopName Cabell Clarke
SysName1 - One line of text which may be used to describe your
system. SysName1 is displayed first. Mine looks like
this:
SysName1 Boot Factory BBS - FidoNet 1:264/19
SysName2 - Another line of text for more info about your system.
SysName2 is displayed after SysName1.
Port - Port tells VD which comm port you are using. Valid
ports are 0-3 where port 0 = COM1 etc. If you are
using COM1 for your modem you would need:
Port 0
DialPrefix - This is the prefix that tells your modem how to dial
out. Mine looks like this:
DialPrefix ATDT
QuickPhone - This variable is used to tell VD how your BBS
saves the user's phone number. When a new user logs
on if you ask for both Home Phone Number and Data
/Business Phone number then your VD.CFG file would need
the following:
QuickPhone HomePhone
QuickPhone DataPhone
If you only ask them for their Home Phone Number than
your VD.CFG file would only need this:
QuickPhone HomePhone
AreaCode - This Variable is used to tell VD which area code(s)
you can place a local call to. You may have up to
5 local area codes in VD.CFG... for instance someone
who lives in Washington DC might have a VD.CFG which
looks like this:
AreaCode 202 <-- your area code first
AreaCode 301
AreaCode 703
This is because he does not need to use an area code
to dial any of these three areas. Maximum of 5 local
area codes supported at this time. Make sure that your
own area code is listed in the file first.
YourCodeLD - This one will allow you to tell VD not to strip your
area code from LD numbers in your area code - I call
this Ed Marquis mode <grin>.
YourCodeLD NoStrip
If you don't use this VD will default to stripping
them anyway.
LongDistance - The LongDistance enables/disables Long Distance calling.
If you do not want VD to make a long distance call you
would have the following in your VD.CFG file:
LongDistance NoLDCall
If you didn't care if VD made a Long Distance call or
not, you would use:
LongDistance LDCall
LDStart - These are the descriptors to force ValidOOR
LDStop to call only during a slot of time. Example:
LDStart 2300
LDStop 0700
would cause ValidOOR to only validate long distance
callers between the hours of 11 pm and 7 am. If you
set the LongDistance descriptor to NoLDCall, these two
descriptors will be ignored by VD. If you decide you
do not want to use a slot just comment them both out.
** DO NOT USE ONE WITHOUT THE OTHER **
MaxAttempts - This variable tells VD how many times to attempt to
call a user with NO CONNECT! If you only wanted to try
twice you'd have:
MaxAttempts 2
VD will only call once if a connection is made. This
is hard-coded into the program and cannot be modified.
ModemTimeOut - This is the number of seconds you want VD to wait for a
carrier before recycling. NOTE: For maximum efficiency
You should also set this value in register S7 of your
modem in your modem initialization string. (S7=45). See
ModemInit below.
ModemTimeOut 45
UserTimeOut - This is the number of seconds to wait for input from
the user before timing out due to INACTIVITY.
UserTimeOut 40
YourCitySt - Tells VD what city and state your BBS resides in to
notify the user where the call will be originating
so the user can tell VD if VD needs to dial a 1 to
reach the User.
ModemInit - This is the string that you want VD to use to initialize
your modem. I use this for my HST:
ModemInit AT S0=0 E0 X6 S7=45|
Note the s7=45 which is the same as the 45 in the
ModemTimeOut variable above. If you want VD to ignore
result codes use an X0 in this string but remember
if you use an X0, all Bad Number/VOICE connect
processing will be eliminated. The "|" character adds
a carriage return to your string.
ModemReset - This variable tells VD whether you want to reset your
modem before you initialize it. If you want to reset
it enter the string you want to send to it like this:
ModemReset ATZ|
If you do not want VD to reset your modem first then
use:
ModemReset NoATZ
LogPath - This is the path to your VD Log File where a log
of VD's activities are kept. I use:
LogPath d:\qbbs\validoor.log
LogStyle - *NEW IN 1.25*
this allows you to make your log look
like an Opus/Binkley or FrontDoor style log.
LogStyle BINK ; Binkley
LogStyle FD ; FrontDoor
ExitInfoPath - another optional descriptor which tells
VD where it can find your EXITINFO.BBS
file. Default is current directory.
UserDir - This is the Path to your User Directory where the
names and phone numbers of validated users are
stored. This is to make sure that users cannot
be validated twice at the same phone number. I use:
UserDir d:\qbbs\validoor.dir
This is an optional feature and may be disabled by
commenting it out like this:
% UserDir d:\qbbs\validoor.dir
BadNumber - This is the Path to your Bad Phone Number Control
File. This file is where any phone numbers that
ValidOOR senses to be VOICE connects will be written
and therefore prevented from ever being dialed by
ValidOOR again. If you wish you may use your
BBS PHONENUM.CTL file for this, remembering
that any numbers that end up in PHONENUM.CTL will
be forever barred by the BBS. Usage as follows:
BadNumber d:\qbbs\badnumbr.ctl
or maybe:
BadNumber d:\qbbs\phonenum.ctl
If you do not wish to use this feature, simply
comment it out. It is optional.
EditPhone - *New in 1.25*
This allows a user to edit his phone number from
within ValidOOR. It has three parameters which do the
following:
EditPhone 0 - Do not allow user to edit phone number
EditPhone 1 - Allow user to edit phone number
EditPhone 2 - Allow user to edit phone number &
update Users.BBS
ModemSuffix - This is for modems like the HST which can use a suffix
after the phone number to cause a certain type of
connection to be made. With my HST I use:
ModemSuffix &M4
This causes the HST to attempt an ARQ connection first
and then in case of failure, drop back to a regular
connection. If you don't want to use a suffix. use
the following:
ModemSuffix -
The '-' character will be ignored by your modem.
WaitTime - This is the number of seconds to wait before the first
attempted call and between each attempted call. I
suggest using 10 seconds:
WaitTime 10
OffHook - This is the string you wish to use to take your modem
offhook during the above WaitTime to keep an incoming
call from messing up VD's validation attempt. I use
this for my HST:
OffHook ATH1|
OnHook - This string puts the modem back on hook after WaitTime
before a call is made. I use:
OnHook ATH0|
ValidGoodbye - This is the path to a text file that you wish to be
displayed to the user who has been validated
successfully. I use:
ValidGoodbye d:\qbbs\text\validgb.asc
InValidGoodBye - This is the path to a text file to be displayed to a
user that is not validated successfully. Mine is:
InValidGoodbye d:\qbbs\text\invaldgb.asc
LDGoodbye - This file will be displayed to a user when Long Distance
calls have been disabled. I use:
LDGoodbye d:\qbbs\text\ldgoodby.asc
HitAnyKey - This is for High-Speed modem users who run with the
port locked. It places a "Hit ANY Key" at the end
of each 'goodbye' file above, so that the user will
see all of the file before the modem disconnects. If
your port is not locked use:
HitAnyKey No
If your port is locked use:
HitAnyKey Yes
SlowModem - This descriptor enables commands sent to the modem
slowly for modems that cannot respond to an init
string sent at full blast! Use:
SlowModem On
for cheaper modems
or
SlowModem Off
if your modem can handle the commands sent at full blast.
Display - This descriptor is used to enable Direct Screen writes
for certain portions of ValidOOR. It should be set:
Display Direct
unless your system is not an IBM Clone and cannot handle
direct writes. Then you would use:
Display BIOS
Using the BIOS option disables the color options below
and also removes the Status Line. It allows VD to
operate in a Bare Mode for non-clones. If you run
VD under desqview you should use display bios.
ForeGround - Color Attributes for the status line and Advertisement
BackGround I use something like this:
ForeGround 0
BackGround 3
which would be black letters on a light blue background.
These are not necessary in the 'Display BIOS' mode of
operation.
WindowBackGround - Color Attributes for the Window. Again they are not
WindowForeGround used in 'Display BIOS' mode.
WindowFrame - This descriptors defines the type of border you want
on the window:
WindowFrame 4
The possible combinations for windows are:
0 = No Lines
1 = Single Lines
2 = Double Lines
3 = Single Horiz - Double Vert
4 = Double Horiz - Single Vert
This descriptor is also not used in 'Display BIOS' mode.
SecLevel - This is the security level you want to set validated
users to:
SecLevel 5
If you do not want Validoor to set any levels, then
comment out this line.
AFlag - These descriptors define the bit masks for the user
BFlag flags. You set them just like you would in your
CFlag user editor. If you don't want VD to mess with
DFlag user flags, just comment them out. Using the letter
'n' in place of any bit will cause VD to leave that
bit untouched.
AFlag XXXX---n
% BFlag --------
CFlag X-X-X-Xn
% DFlag --------
Above the AFlag and CFlag would be set like above for
a user who passes validation successfully. The BFlag
and DFlag would not be touched. Bit 8 on both AFlag
and CFlag would be untouched by ValidOOR.
TimeLimit - Use this to set the new time limit for the user after
he is validated.
TimeLimit 60
would give a newly validated user 60 minutes. This is
useful if you let newly validated users back into your
system after you call them (on your nickel). Comment
this out to disable this feature.
TwitLine - *NEW in 1.25*
This can be a line of text displayed to a user you
have just 'Twitted' with the <F10> Twit key.
In ALL of the above descriptors the CASE is not significant but it may
be in your modem commands depending on your modem.
Interfacing ValidOOR
--------------------
There are several ways you can run ValidOOR on your system. I use
a type 40 command in my TOP.MNU with flag D1 set ON (X) to force all
new users into the validation menu. After successful validation I
set the D1 flag back off (-) and then when they hit TOP.MNU the 1st
type 40 command will be ignored due to the flag not being ON and the
TOP.MNU will execute normally. I have included my menus in this
archive to give you an idea as to how I do it.
You can also just use a Type 2 command to let your users access VD
that way... it is up to your personal preference as to how you
get your users into ValidOOR. Be creative :-). That is why the
system has been designed to be so open-ended.
Once the user selects ValidOOR, the BBS should exit via type
15 to run ValidOOR. I use type 15 with a batch file which I have
included here. In order for ValidOOR to properly update a user's
security level, it must be run from a type 15. This is a major
difference from earlier versions of ValidOOR. If you don't want
ValidOOR to update user security levels or flags, you may run it
from a Type 7 exit and it will work fine provided you have enough
memory.
ValidOOR loads, initializes the FOSSIL driver, and does some setup
things - reads VD.CFG which you the user must set up, and then it
looks for EXITINFO.BBS.
ValidOOR also display a logo on the top four lines of your monitor
using color and windows in the Display Direct mode. A status line is
displayed at the bottom of the screen in Display Direct mode (top of
screen in DISPLAY BIOS mode) which contains the following info:
<User_Name> <Where_from> Upd: S T F P L
<F1>Chat <F2>DOS <F3>Twit B:2400 Phone:<> *1 <flags>
*1 Explanation of the above Upd: flags:
Upd: flag under this means EXITINFO.BBS will be written to.
S : " " " " security level will be updated.
T : " " " " TimeLimit will be updated.
F : " " " " User Flags will be updated.
P : Number under this indicates PhoneEdit status.
0 = disabled
1 = enabled without EXITINFO update.
2 = enabled with EXITINFO update.
L : flag under this means LongDistance calling enabled.
L : 's' " " " " slot " .
At this point, if you have opted to use a User Directory File to
prevent duplicate phone numbers, VD will check for the existance of
this file which it creates if not found. If you comment out the
UserDir descriptor in VD.Cfg, no dupe checking will be performed.
ValidOOR also creates a log file and appends info to it so you can
keep track of it's activities.
ValidOOR can be set up to use either the business/data phone number,
the home/voice phone number or both phone numbers that the user entered
during his initial login depending on how you choose to set up your
BBS. It will prompt the user to select which of the two numbers
his modem is currently connected to and give him an option to abort the
process should he so desire. After this selection is made, ValidOOR will
ask him if a 1- should be placed in front of the number for a long distance
call. If you choose not to let VD make long distance calls, the user will
not be called and a file explaining the situation can be displayed (See
VD.CFG descriptor LDGoodbye. If Long distance calling is enabled, VD
will place the 1- in front of his number and continue with the process.
If all files are present and everything went properly, ValidOOR will inform
the user that he is about to be validated and display the following:
Prepare for an incoming call. If your modem will not auto answer, when
you see the RING on screen type ATA <Enter>.
Then ValidOOR prompts him to hit <ENTER> when he is ready to begin.
When the user hits <ENTER> ValidOOR will disconnect him, take the phone
off the hook, and wait a pre-defined number of seconds (WaitTime in
VD.CFG). The ValidOOR will put the modem back on the hook and call the
user at the same baud rate that he used to log into the BBS. The number
of "Non-Connect" attempts can be set up in VD.CFG but the system, after one
connection is made, will not make another attempt to call.
If your modem is capable of sensing a VOICE connect, and your modem
init string has the proper value sent to it to enable this feature, then
when ValidOOR senses a VOICE connection and you have a path in the
'BadNumber' descriptor uncommented, ValidOOR will abort and write this
phone number to a BadNumber Control file. Then VD will never attempt
to call this number again. You may use your PHONENUM.CTL file in
your BBS for this if you fully understand that no one ever be able to
use this number to log in to your BBS as a new user again. Using X0 in
your Modem Init string will totally disable modem result codes and
then ValidOOR will ignore all of this entirely.
When the connection is successful, ValidOOR will display a brief message
something like this:
ValidOOR v1.25
and then display the SysName1 and SysName2 messages that you set up in
VD.CFG. Next VD prompts the user to enter his password. He gets three
tries before ValidOOR gives up and disconnects. An Inactivity timer
which is configurable in VD.CFG will disconnect him if he falls asleep.
If he fails to enter the proper password (from EXITINFO.BBS) for whatever
reason, the system will disconnect him and exit with an errorlevel 2. Your
batch file can then process the errorlevel accordingly. An appropriate
entry will be written to the log.
If he is successful, then ValidOOR will exit with an errorlevel 0. Your
batch file can process accordingly. Also an entry will be written into
the log file to let you know what happened. If you have selected to do
so in VD.CFG, and are running from a type 15 exit, ValidOOR will update
the user's security and user flags in the EXITINFO.BBS --
*** NOTE: It is necessary to reload your BBS after VD exits using the
command:
RA -R
in order for the changes in security level and user flags to
take place. If you do not reload your BBS the updates will NOT
be written to the USERS.BBS file. See my SPAWNBBS.BAT file
for an exact example as to how this should be done.
Function Keys
-------------
Some function keys are available to the sysop while a user is online.
<F1> - Chat
Pressing this key will put you in Chat Mode with the
caller. Hitting <ESC> will exit the chat mode.
<F2> - DOS
This key will allow you to shell to DOS via your Comspec
variable. Be sure you have set comspec in your
environment.
<F10> - Twit
This Key will set the callers access level to Zero (0) thus
banning him from entering you system forever. Use this
with caution and prudence.
Local Mode
----------
ValidOOR has a Local Mode that a sysop can use for testing purposes. You
must exit (type 15 or 7) from the BBS (in local) for it to work. VD can
tell from Exitinfo.Bbs that you are in LOCAL mode and will react accordingly.
While in Local mode, VD will not check to see if the phone number exists
in the User Directory file. This will allow you to test as many times as
you like without having to delete yourself from the User Directory every
time.
In local mode, VD will skip the dialing and jump straight to Connection
and attempt to validate you. Your phone number will be written into the
User Directory if you pass the validation.
ERRORLEVELS
-----------
Several cases will cause ValidOOR to abort with an errorlevel:
o absence of any of these files: errorlevel=1
EXITINFO.BBS
VD.CFG
o User Not Validated errorlevel=2
o SysopName missing in VD.CFG errorlevel=3
o Duplicate Phone Number (in directory file) errorlevel=4
o User Abort at Menu errorlevel=5
o Absence of FOSSIL Comm Driver errorlevel=6
o Long Distance attempt (if enabled): errorlevel=7
o Inactivity errorlevel=8
o Carrier Loss: errorlevel=9
o VOICE connect detection errorlevel=10
o Bad Number detected (BadNumber Control File) errorlevel=11
o Bad KEY file errorlevel=12
o Invalid # of Command Line Args errorlevel=13
o User Edited invalid number errorlevel=14
If the user is validated successfully, ValidOOR will exit with an
errorlevel of 0.
These errorlevels are enabled in this release.
They are not guaranteed to remain the same in future versions.
You can take advantage of these errorlevels by trapping them all in your
batch file and using the traps to generate entries in your log to give
you a more verbose explanation of what went on.... be creative. You
can use them any way you like.
If ValidOOR aborts, an entry will be written into the log to inform you
what happened.
VALIDOOR.KEY
------------
The ValidOOR Key file eliminates the 30 second delay at the beginning of
the program. You must register ValidOOR in order to get a key from me.
I can send the key via FidoNet mail or US Mail (Snail Mail). Please
specify which method you prefer when registering ValidOOR.
File Requests
-------------
Magic Filenames for File Requests from 1:264/19
FILES : master download file list F264-019.ZIP
NEWFILES : Files less than 30 days old
ABOUT : General Info File
VDR : latest version of ValidOOR - Validation System - for RA
VDP : VD_Pack - ValidOOR userdir packer for registered users
VDU : VD_Util - ValidOOR utility for registered users
UEdit : latest version of UEdit - a QBBS/RA User Editor
NODEDIFF : latest FidoNet NodeDiff
NODELIST : latest FidoNet Nodelist
FIDONEWS : latest FidoNews
POLICY : Current FidoNET Policy Document
WELCOME : Info on becoming a node in Net 264
Credits
-------
Thanks to the following individuals:
Continental Software - The Remote Access folks.
Robert Rosanio - who gave me the original idea.
Greg Dawson - for teaching me how to access FOSSIL.
Mike Janke - for his wonderful Exit w/errorlevel code.
Jim Whitby - for Documentation and other Help.
Ed Greene - for his debugging help and reports.
Richard Alfoni - for his debugging help and reports.
Also Thanks to the Beta Testers.... All of you.
Report ALL to:
Cabell Clarke
804-262-9289 DATA
1:264/19