home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
easyon1a.zip
/
EASYON.TXT
< prev
next >
Wrap
Text File
|
1994-03-26
|
13KB
|
308 lines
▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓
▓▓ ▓▓ ▓▓
▓▓ ▓▓ ▓▓▓▓▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓
▓▓▓▓▓▓ ▓ ▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓ ▓▓
▓▓ ▓▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓ ▓ ▓▓
▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓ ▓▓
▓▓▓▓▓▓▓▓ ▓▓ ▓▓ ▓▓▓▓▓▓ ▓▓ ▓▓▓▓▓▓▓ ▓▓ ▓▓▓
Version 1.01
copyright 1993 by Mark Bernard
Maximus copyright by Scott Dudley.
BinkleyTerm copyright by Bit Bucket Software.
OS/2 by IBM
Use at your own risk an all that usual stuff.... no guarantees whatsoever.
I can be reached at Fido: 1:153/868
-Features:
Each of these can be Sysop-selectable
-Log file entry of call number (this can be the only thing done, if desired).
-Automatic Username entry if a matching phone number is found in your user.bbs.
-if you desire, the script will find the last user (from a given number)
that logged on, otherwise it will default to the first found.
-Automatic Password entry. The user also has to select this (by changing
his/her password).
-Ability to not allow "blocked" calls.
-Ability to not allow calls from a "bad list". (New in 1.1)
Compatability:
Tested on:
486-33, 8MB RAM.
Running OS/2 2.0 (GA + kernal fix + SOM fix + REXXUtil update) and 2.1 GA.
Using Binkley 2.56, Binkley 2.58 and Maximus 2.01wb.
Supra 14.4 Faxmodem with 1.2J, and 1.70B-04 ROMs. (That DO NOT SUPPORT
caller-id in my telephone exchange... so I made it work anyway!)
Installation:
1) Copy files.
a) Copy EasyOn.cmd into your maximus directory
b) Copy the *.mec files to your usual mec/bbs directory ([path]\max\misc),
and compile them with meccap.exe.
2) Edit Files.
a) Edit your EasyOn.cmd configuration (first lines of file).
i) Paths and Filenames. (include full paths! and BE ACCURATE!!!)
UserFile: This should be your Maximus user.bbs file.
LogFile: This should be your binkley.log file.
OutputFile: This is a small file containing the calling number. It
can be used in MECCA files utilizing the [link] token.
example:(where OutputFile = "[path]\misc\phone.bbs")
[yellow]Your number in our records is:[white][phone]
[yellow]You are calling from:[white][link]misc\phone
CmdFile: This is the file created by the script that actually loads
maximus. It includes the command line switches specified in
"MaxString" (with the proper parameters from binkley).
If AutoName is enabled, and this "program" finds a user that
matches the number received from the modem, it will insert
them into the command line before any other switches using
the "-j" switch.
example:
Maxp "-jJoe Sysop" <other switches and parameters>
If you have enabled AutoPwd, then it will add a
";Y;<password>".
example:
Maxp "-jJoe Sysop;Y;SysopPass" <other switches/parameters>
EasyOnLog: Log of calls & Numbers.
BadList: A flat ascii file listing phone numbers that the BBS will
not allow calls from. On each line, anything after a ";"
is ignored, and may be used as a comment. DO NOT put a "1"
in front of long distance numbers. (see sample)
ii) MaxString
This should be your "usual" command line for loading Maximus,
including all switches. (same as in your SpawnBBS.cmd)
iii) Options
MoreThanOne: If enabled, will look through the entire user.bbs and use
the caller from that number with the latest last logged-on
time. If disabled, will use the first match (lowest
user-number).
AutoName: If enabled, will log on the user's name and stop at the
prompt "Joe Sysop [Y,n]?"
AutoPwd: If enabled, will allow users to log-on entirely (provided
they change their password, and make the first letter a "!".
TurfBlock: Allows you to not allow access to users blocking the
caller-id information.
TurfBad: Allows you to refuse BBS access to callers from specified
numbers.
To utilize "TurfBlock/TurfBad", You must have a caller in
your user.bbs with the name as specified in the "BlockName"
variable, and a password as specified in the BlockPwd
variable. (or BadName / BadPwd).
Method 1
~~~~~~~~
Make these users have a Priv Level of Twit. In the first line
of your Welcome.bbs/mec, make the first line:
[EQTWIT Show][ckoff][display]misc\blocker
Your "blocker.mec/bbs" can give the caller a message
as to why he is being turfed, then the token [hangup]
(see blocker.mec for example).
Method 2
~~~~~~~~
Give these callers a "custom welcome screen" as described in
the Maximus Operations Manual (page 14). This BBS file is
displayed BEFORE the Welcome.bbs. Just make sure these MEC's
have [ckoff][hangup] in them (and mecca(P) them, of course).
They must be named #.bbs, where "#" is the user number to show
the file to. (ie. Create a "user" with the name "Badlist Name",
and a password of "!InBadList". If this is user number 124,
then name the file 124.bbs. Note: these custom BBS's MUST be
in your Maximus directory (not ..\misc).
With this method, you don't waste a priv. level.
MAKE SURE YOU MAKE THIS USER PERMANENT.
CallidLog: If enabled, Logs numbers/messages into file specified in
EasyOnLog.
LogOnly: If enabled, will Log callers number, then exit. It will still
provide a CmdFile, but no "-j" switch and keystuffing.
iv) Other
ConnectString: A string that is ALWAYS in your LogFile (Binkley.Log),
and located, AFTER the caller-id info. This is used as an error
checking tool to ensure that if caller-id is disabled for some
reason, then the previous user won't get logged on.
Note: I made mine "Connect " (note the space to differentiate
from "Connection"). Could probably be "Spawn". Anything
that ALWAYS occurs AFTER the call-id info (within 2
lines), and BEFORE the BBS is spawned.
MdmString: The string receieved from your modem (and in LogFile) that
has the phone-number after it. This should be the most frequent
one. (usually "Nmbr =")
Some modems (mine included) don't recognize caller-id
information from the newer (Multi-message data format) exchanges,
and don't return the proper return code (usually Nmbr =),
and instead returns a "Mesg =" followed by the "raw" number.
In my case, I made MdmString = "Mesg =", since I get this more
often than the strings the modem recognizes (Out of area, and
Private).
Until the fixes come in from the modem manufacturers,I have
written a routine to clean up the numbers so they are useable,
(but still be able to work for modems that are returning "normal"
information.
MdmString2: This is an alternate for MdmString.
If your modem DOES support the new exchanges, then make it
whatever MdmString is NOT. (ie. If MdmString = "Nmbr =", then
make MdmString2 = "Mesg ="... or visa versa -- your strings may
differ).
BlockIdString: the string received by your modem from callers blocking
caller-id.
BlockName: The Name in your user.bbs you want to log blocking callers
on with, if using the TurfBlock option.
BlockPwd: The password you want to use with BlockName, remember to make
the first character of BlockPwd a "!", and it must match the
"(ab)user's" password in the user.bbs as well.
BadName: The Name in your user.bbs you want to log bad-list callers
on with, if using the TurfBad option.
BadPwd: The password you want to use with BadName, remember to make
the first character of BadPwd a "!", and it must match the
"(ab)user's" password in the user.bbs as well.
AreaCode: This should be your local area-code, and will it will be
stripped from incoming numbers, if present, and the user's
phone numbers (for comparison purposes). Out of exchange calls
will still work fine.
b) Edit your SpawnBBS.cmd
example (where CmdFile = "[path]\maxp\EasyBBS.cmd")
cd\maxp
call EasyOn.cmd %1 %2 %3 %4 %5 %6 %7 %8 %9
call EasyBBS.CMD
rem Max loading without EasyOn
rem maxp -b%2 -p%3 -t%4 -s%1 -n2 -lLine2.log -z\pipe\snoop2
[rest deleted]
The "%" parameters in the EasyOn.cmd must be exact and in that order,
as this script will take the parameters from binkley, and place
them into your max string accordingly.
e) Edit your binkley.cfg
Edit the Answer line (if necessary) so that your modem answers incoming
calls AFTER the second ring. The caller-id information is received
between the first and second rings. You can play with this string, but
after fiddling a bit, I found putting "~~~" before the "ATA worked.
Two ~'s only worked some of the time, three ~'s worked everytime.
I also played with the "S0" register, but didn't have much success.
d) Edit your Menus.ctl (and Re-SiltP)
To use the EasyOn informational mecca file, to one of your menus, add
the line....
display_file misc\EasyOn Disgrace "EasyOn Info"
If "E" is already the first letter of a menu-choice on that menu, then
put another character in front. (ie. "!EasyOn Info" )
That's about it.
Notes:
I've tried to make this as error-proof as possible, it will default to the
basic maximus command line (as specified in MaxString) if it detects
anything strange. I HAVE NOT put in checking for valid path/file names.
This is up to you (it'll crap out if you specify a wrong LogFile for sure.)
If MoreThanOne = 1, and a second user with the same number is found, it will
log on the latest one who was on but will also turn off AutoPwd for that
user. (This makes sense, I think.)
Don't be scared to enable the AutoPwd. Let it be up to the user (just make
them aware of the what could happen if someone else from their number calls.)
If you wish to test this program, copy your binkley.log file to another
directory, and point to it with the LogFile in th configuration. The script
will choke if it tries to access a binkley.log file in use. It's works in
normal operation.
It will probably be faster if the binkley.log is not too huge. This should
not normally be a problem, as most sysops have some sort of maintenance
routine that starts a new binkley.log either daily or weekly.
This will not work if Binkley does not get the caller id information.
This will happen when a caller calls while Bink is recycling. (The first
ring occurs while bink is loading, and the caller-id info is lost into the
ether, as the information is only sent between the first and second rings.)
I also have not tested this with a large user.bbs. If it's too slow, try
setting MoreThanOne = 0, then it'll stop at the first hit.