home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
bbs_ra
/
pvthr304.arj
/
PRIVATE.DOC
next >
Wrap
Text File
|
1991-08-19
|
17KB
|
565 lines
PRIVATE HOURS v3.04
(C) 1991 PKsoft
Written by Peter Tan
The Elite Bulletin Board
FidoNet 6:600/403.0
VNet 45:620/101.0
FOSSIL I/O routines (C) 1990, 1991 Philip Teo
CommCen BBS
FidoNet 6:600/61.0
┌──────────┐
│ Warranty │
└──────────┘
This program is provided "as is". No warranty of any kind is
made, nor implied. This program is only guranteed to take up
disk space, nothing more. If you break anything with this
program, you get to keep all the parts.
┌───────────────────┐
│ Special Thanks │
│ and other credits │
└───────────────────┘
I'd like to thank the following people, without whom this
program would not have materialised. Here they are, in no
particular order:
- Charles "Bartman" Cheong (Shadow BBS @ FidoNet 6:600/307.0)
for taking the pains and trouble to teach me Turbo
Pascal
- Philip Teo (CommCen BBS @ FidoNet 6:600/61.0)
for consenting to let me have his FOSSIL I/O source
routines
- Kelvin Goh (The HOST Connection @ FidoNet 6:600/400.0)
for letting this program run on his system, and risk
having his RA configuration files and user files grunged
by a largely untested software
- Bob "I can write a better FOSSIL but I won't" Prow
for his weird and wonderful solutions to seemingly
difficult problems
- Andrew Milner for writing RemoteAccess.
Thanks guys! Couldn't have done it without ya!
┌──────────────┐
│ Requirements │
└──────────────┘
φ IBM PC/XT/AT/386 or compatible
φ At least 256K
φ A Front-End mailer software, such as FrontDoor
φ RemoteAccess 1.xx software
φ A Revision Level 5 FOSSIL driver, such as X00 or BNU
φ Lots of luck! ;-)
PRIVATE HOURS v3.04 Documentation Page 1
┌──────────┐
│ Features │
└──────────┘
■ Full security checks against User names and passwords
■ Interfaces neatly with RemoteAccess files
■ Logs activities to RA's logfile
(Now in OPUS/FD format!)
■ Fully FOSSIL driven
■ Graceful exits from carrier drops and inactivity timeouts
■ Not UserLevel or Flag dependent
■ First (?) 3rd party program to use the GROUP field
■ 'Twit' key to kick out unwelcomed people
■ Built-in DOS-Shell
■ Local "testing" mode
■ Four separate time slots for private hours
■ Checks Voice Phone numbers [Registered only]
■ Checks Birth Date [Registered only]
■ Displays LOGO.ASC if present [Registered only]
┌─────────┐
│ License │
└─────────┘
Private Hours v3.04 is distributed under the shareware concept.
In a non-commercial environment, you are granted a license to use this
program for evaluation until such time as you think is a reasonable
period. After this period, you are encouraged to register this program
as an incentive for the author (Me!) to keep working on 3rd party
enhancements for RemoteAccess bulletin board software.
In a commercial environment, you are granted a limited license
to use this program for a period of 30 days, after which you *MUST*
register this program, or cease using it.
Please see the accompanying REGISTER.DOC for more details.
┌─────────────┐
│ Description │
└─────────────┘
This program was primarily born out of need. I have many users
whom I think are a deserving bunch of nice people. Yet, they often
complain (good-naturedly of course) that my BBS is one of the hardest to
logon. One of them suggested I make a day where I allow some users to
logon but not the rest. Thus was the idea for this program born.
Of course, I didn't make one whole day for them to logon, but I
did the next best thing. I made a time-slot which allows only THESE
users to logon everyday.
You can use this program in other ways too. As one Sysop in
RA_SUPPORT asked recently, whether he can let PAYING users logon during
certain hours, and boot off those that do not pay. This program can do
what he wanted. It's better than copying configuration files all over
the place, don't you think? ;-)
PRIVATE HOURS v3.04 Documentation Page 2
┌──────────────┐
│ Installation │
└──────────────┘
Use an unarchiving utility such as PKUNZIP to unpack the
distribution file into your mailer directory.
Run the setup program, PVTCFG.EXE. It is menu-driven, so you should
not have any problems getting it to run. In any case, here is an outline
of what to expect in the setups.
REGISTRATION - This option brings you to the Registration info. When
you register PRIVATE HOURS, please send your name and
BBS name EXACTLY as it appears here!
PRIVATE HOURS START / END -
This menu option brings you to the screen where there are 4 time
slots. These are where you tell PRIVATE HOURS which are the time slots
you designate as PRIVATE HOURS.
Note that the time MUST NOT overlap the midnight hour, ie you
cannot have a private hour time slot from 23:59 to 00:01, for example.
The time slot MUST start and end on the SAME DAY.
The "GRP" behind every time slot is the GROUP of users you allow
during that time slot. Thus, you can now allow up to 4 different groups
in 4 different time slots for your private hours.
DIRECTORIES AND PATHS - This menu option brings you to the screen where
you input your paths to the various files
required by PRIVATE HOURS for it to run. The
trailing backslash in directory names is
optional.
ERRORLEVELS - This menu option brings you to the screen where you enter
all the errorlevels you pass from the mailer to your BBS
for the BBS to recognise as HUMAN CALLERS. If your
errorlevel passed from your mailer to signify a human
caller at 2400 is "235", then input "235" into the "2400"
field.
BBS SPECIFICS - This menu option brings you to the menu where you get
to choose what you want PRIVATE HOURS to do when
prompting a user. Each "X" inside the box indicates
that the option is active. Note that "ASK FOR VOICE
PHONE", "ASK FOR BIRTH DATE" and "SHOW LOGO.ASC" are
PRIVATE HOURS v3.04 Documentation Page 3
registered-only functions. You can select them here,
but it will only take effect if you are registered.
"FOSSIL PORT" is the port number used by the FOSSIL for
communications. COM1 is "0", COM2 is "1" and so on.
"TIMEOUT IN MINUTES" is the number of minutes to wait
for the user to input something before booting him off
for inactivity.
"LOCAL LOGON ERRORLEVEL" is the errorlevel to be
returned if you run PRIVATE HOURS locally as a test.
Next, in your RUNBBS.BAT (or equivalent) that you use to run up your
BBS, replace the line which calls your mailer with the name of the program,
like so:
╔════════════════════╗
║ Example batch file ║
╚════════════════════╝
:Start
@echo off
cd \fd
Fd
if errorlevel 200 goto human9600
if errorlevel 190 goto human4800
.
.
Replace with:
:Start
@echo off
cd \fd
PRIVATE <-- replace your "FD" call
if errorlevel 200 goto human9600
if errorlevel 190 goto human4800
.
.
The next step is to run up your USERED (or RACE, like me) and
choose those users that are deserving (or those that PAID) and give them
all a common group number. This number *MUST* be the same one as defined
in the PRIVATE.CFG file for the time slot you want.
PRIVATE HOURS v3.04 Documentation Page 4
This program will allow users even of different levels to access
the BBS during the private hours. Therefore you can have a level 10 and
a level 100 user accessing the BBS during private hours if you so
wished.
After this, you're all set to go!
┌─────────────────────┐
│ VoicePhone checking │
└─────────────────────┘
This option is activated only if a registered version is
running. It acts as a second security feature in case a hacker got hold
of someone's password.
It should be noted that for this to work properly, your phone
number *MUST* be formatted to USA standard of XXX-XXX-XXXX.
┌────────────────────┐
│ BirthDate checking │
└────────────────────┘
This option is activated only if a registered version is running.
It acts as a third security feature.
┌────────────┐
│ 'TWIT' Key │
└────────────┘
The 'Twit' key is ALT-H. When pressed, it will immediately drop
DTR on the user, without displaying anything. Maybe in future versions I
will simulate some line noise before dropping carrier on the user ;-)
┌───────────┐
│ DOS Shell │
└───────────┘
There is a built-in DOS shell. It is there in case you may want
to do something in DOS or whatever. The key to activate this is ALT-J.
It would come in useful if you want to add the current user to
the list of people allowed to logon by shelling to DOS and adding him to
the group there and then.
Be sure to shell to DOS *ONLY* at the "Enter your First and Last
name" prompt, when all the RA configuration files are closed. Do *NOT*
shell when the system is prompting him for the VoicePhone number (in
registered versions) or the password. That is the time when the user
files are opened for reading, and shelling out and changing information
within them would most probably be hazardous to the files!
PRIVATE HOURS v3.04 Documentation Page 5
As a point of info, the RA configuration files are opened only
*AFTER* the user has entered his name and the screening process begins,
and they are closed IMMEDIATELY upon finding a match, or not finding
the user after searching through the files.
┌─────────────────────────┐
│ Command-line Parameters │
└─────────────────────────┘
PRIVATE HOURS has only one command-line parameter. When run with
the command-line:
PRIVATE demo
it will go into local logon mode, bypassing the call to the
mailer. From here, you can test to see if your setup is correctly
defined. I put this in because when I test the program locally, it gets
kind of boring waiting for the mailer to load up and then for me to hit
the local-logon key to test the program ;-)
┌──────────────────────┐
│ Logging to a Logfile │
└──────────────────────┘
PRIVATE HOURS will log activities to the system logfile, as defined
in the PRIVATE.CFG. It now also logs in OPUS in addition to the
FrontDoor format, thus Binkley users will now not have PRIVATE HOURS
giving them sore eyes from looking at the logs. ;-)
If PRIVATE HOURS encounters any problems, it will write to the
system logfile as well.
PRIVATE HOURS v3.04 Documentation Page 6
┌──────────────┐
│ How it works │
└──────────────┘
Here's a rough outline of how this program works. This part is
for information's sake only, and to satisfy any curiosity as to how this
program works.
1. PRIVATE.EXE runs up
2. PRIVATE.EXE shells out and calls the mailer
3. Upon *ANY* events (whether HUMAN callers or mail calls or
events), the mailer exits with an errorlevel
4. PRIVATE.EXE traps this value, and tests for validity of
Private Hours being enforced
5. If private hours are in effect, it will test the errorlevels
against those defined in the PRIVATE.CFG file.
6. If no match is found, PRIVATE.EXE assumes a non-human caller
and exits with the preserved errorlevel to let your batchfile
handle the rest.
7. If the errorlevel matches one of those defined in the CFG
file, and if private hours are in effect, then it goes
through the 'screening' process.
8. If Private Hours are not in effect, but the errorlevel
matches those in the CFG file, it will exit with the
preserved errorlevel.
In any case, it's transparent to both the Sysop and the user as
to whether PRIVATE HOURS is loaded. For the sake of speed, I wrote this
program to search usernames against the REAL NAME only, and not the
handle. Any user trying to logon during private hours with his handle
will not be recognised.
PRIVATE HOURS v3.04 Documentation Page 7
┌───────────────┐
│ Miscellaneous │
└───────────────┘
The only mailer that has been tested with this program is
FrontDoor. You use this program with other mailers at your own risk!
Generally any mailer that generates an errorlevel upon exit should work
with this program, but as I said earlier, there's no guarantee it WOULD
work.
Also, PRIVATE HOURS has only been tested using the BATCHFILE
calling the mailer method. It has *NOT* been tested with the RA's
Shell-to-mailer mode; it should work though, since it also runs the
mailer and returns an errorlevel exit.
If you want to try it in the Shell-to-mailer mode, replace the
"FD" with "PRIVATE.EXE". In essence, think of this program as another
mailer.
PRIVATE HOURS will ALWAYS exit with Errorlevel 0 if the user is
not granted access to the system, or is a new user (which aren't allowed
during private hours).
┌───────────────────────┐
│ Contacting the author │
└───────────────────────┘
You can't!
Just kidding. I read the RA_SUPPORT echo frequently. If you
encounter any problems, you may leave a message in the echo (but don't
let Bruce Bodger catch you! *Grin* ), or you can send a netmail to me at
6:600/403.0@FidoNet, or 45:620/101.0@VNet.
If there are too much problems, then it either means my program
is buggy, or my DOCs are not extensive enough ;-). In any case, I will
try to solve your problems, but if there's too much, priority goes to
those registered people.
Also, if you happen to find any undocumented features, please
let me know too! ;-)
PRIVATE HOURS v3.04 Documentation Page 8
┌─────────┐
│ History │
└─────────┘
1.00ß First draft program. Very simplistic in design, checks
only the name and the group field.
1.10ß Added support Password checking
1.11ß Added VoicePhone checking
1.20ß Added logging activities to logfile, and added an
errorlogfile for errors.
1.25ß Fixed my oversight at not disallowing ";" in name
inputs, plus adding support for up to 3 names in the
name input field.
1.30ß Added an option to let 'non-members' of Private Hours to
leave the Sysop a message which is logged to the RA
logfile. Not implemented in v2.0
2.00 First public release of PRIVATE HOURS. Major re-coding
of the program as well as cosmetic changes. Re-coding is
necessary as I have to make the program as generic as
possible. All beta versions are specific only to my
system.
2.50 Major bug-fix version.
2.51 Added "ASK FOR BIRTHDATE" option (REGISTERED ONLY).
Added Logging activity to OPUS format as well.
Fixed user name automatically getting truncated to 3
words only ;-) (Can't blame me! Chinese people have ONLY
3-word names!)
┌─────────────┐
│ Errorlevels │
└─────────────┘
PRIVATE HOURS will always exit with an ERRORLEVEL 0 if a problem
crops up, to recycle to the mailer, like a carrier loss or inactivity
timeout.
It will exit with the preserved errorlevels should the problems
be that of a non-fatal nature. This should let the user logon should
anything go awry.
PRIVATE HOURS v3.04 Documentation Page 9