home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / vrac / vfy_34a.zip / VERIFY!.DOC < prev    next >
Text File  |  1994-02-01  |  45KB  |  992 lines

  1.         **************************************************************
  2.         *                                                            *
  3.         *         VERIFY!.EXE v3.4   Copyright (c) 1991 - 94         *
  4.         *                                                            *
  5.         *                Sagerquist Micro Engineering                *
  6.         *                                                            *
  7.         *                   1414 W. Kerrick Street                   *
  8.         *                    Lancaster, Ca. 93534                    *
  9.         *                    Data  (805) 723-6908                    *
  10.         *                                                            *
  11.         **************************************************************
  12.  
  13.  
  14. DESCRIPTION
  15. -----------
  16.     VERIFY! is a program designed to verify a BBS caller.  When invoked,
  17.     VERIFY! will ask for specific information from the caller, hang up,
  18.     return the call, and ask for the same data for verification.  If the
  19.     information matches, the caller is verified.  ERRORLEVELs are returned
  20.     to the calling batch file which will allow the sysop to make the
  21.     necessary adjustments to the BBS as appropriate.  A log file is kept
  22.     and maintains the caller's name and phone number for future reference.
  23.  
  24. SYNTAX
  25. ------
  26.     VERIFY! [/B:(bbstype)] [/D:(directory)] [/L:(optional log file)]
  27.  
  28.     /B:...  BBS switch. Choose from the list under SUPPORTED BBS's.
  29.  
  30.     /D:...  Directory (no file name) where the BBS's caller information
  31.         file is located.  If this switch is not used, VERIFY! will
  32.         look for this file in the current directory only.
  33.  
  34.     /L:...  Optional log file path and name.  If you want VERIFY! to log
  35.         its operations in your BBS log file, use this switch to
  36.         define the full drive:\path\filename.ext.  If this switch
  37.         is not used, the default file VERIFY!.LOG will be created
  38.         and updated.
  39.  
  40. EXAMPLES
  41. --------
  42.     VERIFY! /B:MH1
  43.     VERIFY! /B:TRIBBS /D:C:\TRIBBS
  44.     VERIFY! /B:WILDCAT /D:C:\WC30\WCWORK /L:C:\WC30\WCWORK\WC.LOG
  45.  
  46.     Note: # is Node Number
  47.  
  48.     SUPPORTED BBS's          Switch:         Caller Info File:
  49.     ----------------------------------------------------------
  50.     Auntie:                  AUNTIE          AUNTIE.SYS
  51.         MegaHost:                MH#             MEGAHST#.DEF
  52.         PcBoard:                 PCBOARD         DOOR.SYS
  53.     ProBoard:                PROBOARD        DORINFO#.DEF
  54.         QuickBBS:                QBBS#           DORINFO#.DEF
  55.         RBBS:                    RBBS#           DORINFO#.DEF
  56.         Remote Access:           RA#             DORINFO#.DEF
  57.     Renegade:                RENEGADE#       DORINFO#.DEF
  58.     RoboBoard:               ROBOFX#         DORINFO#.DEF
  59.         Spitfire:                SPITFIRE        SFDOORS.DAT
  60.         Teleguard:               TELEGUARD       CHAIN.TXT
  61.         TGP:                     TGP             CHAIN.TXT
  62.         TRIBBS:                  TRIBBS          TRIBBS.SYS
  63.     Virtual BBS/NET:     VBBS         CHAIN.TXT
  64.         Wildcat:                 WILDCAT         CALLINFO.BBS
  65.         WWIV:                    WWIV            CHAIN.TXT
  66.  
  67. FILES IN THIS ZIP PACKAGE
  68. -------------------------
  69.     VERIFY!  EXE    <----------- Executable program.
  70.     VERIFY!  DOC    <----------- Document for VERIFY!.EXE - this file.
  71.     SETUP    EXE    <----------- Set up program, sets sysop's variables.
  72.     SETUP    DOC    <----------- Document for SETUP.EXE.
  73.     TRAPDOOA BAT    <----------- Example of a Trap Door batch file.
  74.     TRAPDOOB BAT    <----------- Example of a GAME Trap Door batch file.
  75.     TEST     BAT    <----------- Batch file for initial testing.
  76.     REGISTER FRM    <----------- Fill-Out form for registration.
  77.     MEGAHST1 DEF    <----------- Sample MEGAHOST drop file for testing.
  78.     VERIFY!  DAT    <----------- Created or adjusted by SETUP.EXE, holds 
  79.                      the reg number, modem strings, phone 
  80.                            numbers for screening, etc.
  81.     FIX_DAT  EXE    <----------- Adjusts the file VERIFY!.DAT. Works only
  82.                      for upgrading from v2.8 and v2.9 to v3.1a.
  83.     FILE_ID  DIZ    <----------- Description for a BBS file list.
  84.     4-TRIBBS ZIP    <----------- Support programs for TRIBBS BBS system.
  85.     4SPTFIRE ZIP    <----------- Support programs for Spitfire BBS system.
  86.  
  87.     OPENSCR  ASC/ANS  <----------- Output files: Opening screen.
  88.     FOUND_EM ASC/ANS  <----------- Output files: If caller is already 
  89.                              verified.
  90.     INSTRUCT ASC/ANS  <----------- Output files: User's instructions.
  91.     NOT_NOW  ASC/ANS  <----------- Output files: If long distance call back
  92.                              is outside defined times.
  93.     DUPENUM  ASC/ANS  <----------- Output files: If call back number is a
  94.                              duplicate of other caller.
  95.     BADPHNUM ASC/ANS  <----------- Output files: If call back number cannot
  96.                              be called.
  97.     SABOTAGE ASC/ANS  <----------- Output files: If call back number matches
  98.                              those defined as UNAUTHOR-
  99.                              IZED like 911.
  100.     CALLING  ASC/ANS  <----------- Output files: Everything OK, call will
  101.                              be placed.
  102.     RECONECT ASC/ANS  <----------- Output files: On reconnection after
  103.                              call back.
  104.     SUCCESS  ASC/ANS  <----------- Output files: On successful verification.
  105.     FAILURE  ASC/ANS  <----------- Output files: On failed call back.
  106.     LDHANGUP ASC/ANS  <----------- Output files: On successful call back
  107.                              and if long distance, just
  108.                              prior to hang up.
  109.  
  110. OTHER FILES
  111. -----------
  112.     VERIFY!.LST     <----------- Created by VERIFY!, contains a list of
  113.                                      verified callers and their phone numbers.
  114.                      VERIFY! checks this list for duplicate
  115.                                      phone numbers, and to ensure that a caller
  116.                      isn't verified more than once.
  117.     VERIFY!.LOG     <----------- Default log file created by VERIFY!, logs
  118.                                      the caller's actions, for sysop's
  119.                      information, if the /L: switch is not
  120.                      used.
  121.  
  122. SETUP
  123. -----
  124.     SETUP.EXE must be run prior to going on line.  All data, modem
  125.     strings, authorized area codes and prefixes, long distance call
  126.     back times, registration number, etc., must be edited with this
  127.     program.  ALT S saves the new data.  ALT X exits.  Use ALT (n) 
  128.     for the data windows: ALT R for Registration, etc.
  129.  
  130.     SETUP.DOC explains the setup operation in better detail.
  131.  
  132.     Your calling batch file must be edited, or renamed.  TRAPDOOA.BAT
  133.     and TRAPDOOB.BAT is supplied to help you start.
  134.  
  135. VERIFY!.DAT ADJUSTMENT ON UPGRADE
  136. ---------------------------------
  137.     If you've been using VERIFY!.EXE v2.8 or above, FIX_DAT.EXE will be
  138.     run automatically to adjust the binary file VERIFY!.DAT for use with
  139.     the current version of VERIFY!.EXE.  The extra space in the new data
  140.     structure will be blank, but this ensures that VERIFY! will operate
  141.     cleanly if you forget to run SETUP.EXE during the upgrade.  Run
  142.     SETUP.EXE to ensure that all data is in its proper places.  The program
  143.     FIX_DAT.EXE can be run alone, but is called automatically by 
  144.     VERIFY!.EXE and SETUP.EXE if the file VERIFY!.DAT is not correct for
  145.     this release.  FIX_DAT.EXE must reside in the same directory as
  146.     VERIFY!.EXE, SETUP.EXE and VERIFY!.DAT.
  147.  
  148.     If upgrading from a release prior to v2.8, VERIFY!.DAT is renamed
  149.     to VFY!DAT.OLD and all data must be reentered manually.
  150.  
  151. REGISTRATION AND SUPPORT
  152. ------------------------
  153.     This is important!  Until VERIFY! is registered with the programmer,
  154.     one very important feature is inhibited:  The call screening.  After
  155.     the sysop name and registration number is entered via SETUP.EXE,
  156.     you will be able to screen out toll and long distance calls, and
  157.     designate the time of day to make these calls.  Your number will be
  158.     mailed upon receipt of the registration fee.
  159.  
  160.     Without this feature, (BEFORE REGISTRATION), any request to call back
  161.     verify is granted!  If your BBS is in Los Angeles, Ca., and a caller
  162.     from New York, Ny. requests to be verified, YOUR PHONE BILL WILL
  163.     REFLECT THIS EXPENSIVE CALL!
  164.  
  165.     With this feature (after registration), you can adjust VERIFY! to
  166.     call back verify ONLY local calls, or long distance numbers ONLY
  167.     within the area code(s) you designate.
  168.  
  169.     Also, prior to registration, only three (three digit) numbers of
  170.     the "Unauthorized Numbers" are screened out.  Be sure that the numbers
  171.     "911 900 976" are the first three listed for safety.  The entire
  172.     line is active after registration.
  173.  
  174.     This is a user supported product.  VERIFY! represents many hours
  175.     of work.  This software is Shareware, not free or public domain.
  176.     You are granted a 30 day limited license to evaluate this program,
  177.     after which you must either register the product, or discontinue its
  178.     use.  If you choose to register this program, please make out a check
  179.     or money order for $15.00 payable to:
  180.  
  181.     Sagerquist Micro Engineering
  182.     1414 W. Kerrick St.
  183.     Lancaster, Ca. 93534
  184.  
  185.     California residents add 8.25% Sales Tax of $1.24, total: $16.24.
  186.  
  187.     Your registration number will be mailed on receipt of your payment.
  188.     It is recommended that you register this program promptly, as the
  189.     toll charges for long distance call backs have the potential to far
  190.     exceed the $15.00 requested!
  191.  
  192.     Payment is a one time investment which allows you all further revisions
  193.     at no extra expense.
  194.  
  195.     Please distribute this program, i.e. place it in your communications
  196.     program download area for others to evaluate and use.  Your comments
  197.     on this program are gladly accepted (requested, actually) at the number
  198.     below.  Please use the BBS as our communication vehicle.  I will gladly
  199.     respond to all comments through the BBS.
  200.  
  201.     The Sagerquist Micro Engineering Support BBS
  202.     Carl Sagerquist - Programmer/Sysop
  203.     300-16800 BAUD 24 Hours
  204.     (805) 723-6908
  205.  
  206.     Upgrading a caller's security level while they are online is the most
  207.     attractive part of this program.  MEGAHOST includes an API program to
  208.     perform this task.  Other BBS's may or may not do the same.  Included
  209.     in this package are two ZIP'ed files with support for TRIBBS and
  210.     SPITFIRE BBSs.  If you cannot locate a program to perform this task,
  211.     please contact Carl Sagerquist through The SME Support BBS at 
  212.     (805) 723-6908 (300 to 16800 baud).  Explain in detail how your BBS
  213.     operates regarding the upgrade of user security levels, send the 
  214.     appropriate files (drop file, database files if necessary) and I'll
  215.     get to work on it.  There's no extra charges for this work, as many
  216.     other sysops will then be able to use this product, increasing its
  217.     marketability!
  218.  
  219.     Thank you for supporting VERIFY!!
  220.  
  221. OVERVIEW
  222. --------
  223.     VERIFY! was written by request from a MAXIHOST BBS sysop who had 
  224.     some difficulty with some rude callers.  These people would call
  225.     under fake names and leave foul messages, upload rude material,
  226.     etc.  This sysop needed a program that would validate each caller
  227.     prior to authorizing access.  VERIFY! performs this duty by 
  228.     returning the call to the user, and comparing the name and password
  229.     left behind with the name and password typed in after the call back.
  230.     If verified, VERIFY!.LST keeps a ready reference of verified callers
  231.     and their phone numbers, and is read by VERIFY! to avoid double
  232.     verification, and duplicate phone numbers.  After verification, the
  233.     callers are accountable, and they know it!
  234.  
  235. OPERATION
  236. ---------
  237.     VERIFY! performs a series of steps to complete the task of on-line
  238.     verification.  The caller is given the opportunity to stop the process
  239.     and exit the program, if desired.
  240.      1 - Caller is asked if he wants to be verified for access.
  241.      2 - The caller's name is compared to the names in the file
  242.          VERIFY!.LST.  If found, the caller is advised that verification
  243.          has already been successful, and the program exits.
  244.      3 - Instructions are issued, then caller is asked if he wants to
  245.          proceed.
  246.      4 - The caller must type in his personal information:  
  247.         First and last names are placed for the caller.
  248.         Caller types in a password.
  249.         Caller types in phone number with area code.
  250.         Caller is then asked if the information is correct.  Process
  251.         is repeated if necessary.
  252.      5 - Phone number is checked against all others within the file
  253.          VERIFY!.LST.  If the number provided by the caller is already
  254.          in this list, the verification process stops and the caller is 
  255.          notified to leave a message to the sysop regarding his access.
  256.          It could be that this caller is a previous verified user under
  257.          a fake name!  You might want to place other BBS phone numbers
  258.          here, so a prankster won't have your BBS hook to another BBS!
  259.      6a- REGISTERED VERSION ONLY:  Phone number is checked against the
  260.          local prefixes, non-local prefixes, and area codes from 
  261.          SETUP.EXE.  If the area code and/or prefix is not found, the
  262.          call is not placed, and the caller is notified to leave a
  263.          message to the sysop, regarding BBS access.  This controls the
  264.          sysop phone bill.
  265.      6b- UNREGISTERED VERSION:  All requests for call back verify will
  266.          be granted.  The sysop phone bill will reflect any long distance
  267.          call backs!  It is recommended that you register this program
  268.          promptly, as your increased phone bill will quickly exceed the
  269.          registration price if you have a lot of long distance callers!!!
  270.      7 - BOTH REGISTERED and UNREGISTERED:  Certain calls can be very
  271.          expensive.  Calls to a 976 prefix or area code 900 can be 
  272.          extremely costly.  From SETUP.EXE, define the unauthorized area
  273.          codes or prefixes and these numbers will not be dialed.
  274.          The first prankster that gets upset through your use of this
  275.          program might try to get even by typing in a 976 number, or 911! 
  276.          VERIFY!.EXE is one step ahead!
  277.      8 - REGISTERED VERSION ONLY:  If the call back will be a long distance
  278.          number, and it checks out OK, the time is checked to be within the
  279.          two times defined from SETUP.EXE.  If this function is not
  280.          disabled, (with 0 - 0), VERIFY! will either return the call, or
  281.          advise the caller of the normal times that his call back can be
  282.          placed.
  283.      9 - Modem hangs up.
  284.     10 - The caller's phone number is dialed.
  285.          If another caller tries to call the BBS while the call back
  286.          is in progress, VERIFY! will recognize this call and take
  287.          the phone line "off hook" for about 2 seconds, then hang up
  288.          again.  The current process of resetting the modem and calling
  289.          is started over. 
  290.     11 - When the caller answers, he will be given the opportunity to type
  291.          in his name and password again.  VERIFY! compares this data to
  292.          the data left behind before the call back.  If it matches, the
  293.          caller is advised that he is verified.
  294.     12 - If verification is successful, caller is thanked for proper 
  295.          verification.  If the call was local, the caller is returned
  296.          to the BBS.  If the call was long distance, a message is issued
  297.          stating that this is a toll call, and that access will be granted
  298.          on next call.  The phone line is then disconnected.  Without this
  299.          feature, the BBS would continue at the sysop's expense.  If the
  300.          call back was long distance, it could become extremely costly to
  301.          the sysop.  The UNREGISTERED version WILL disconnect on toll
  302.          calls.
  303.     13 - The log file is created or appended with information regarding
  304.          the caller's actions.  The data includes the caller's name, phone
  305.          number (if he got that far), the date and time, and the result of
  306.          VERIFY!.  Results include statements like:
  307.          "*****   VERIFIED!   Local   *****", "Carrier lost", 
  308.          "Decided not to be verified", etc.
  309.          The log file is either VERIFY!.LOG, or the file name defined on
  310.          the command line with the /L: switch.
  311.     14 - On exit of VERIFY!, ERRORLEVELs are returned to the calling
  312.          batch file.  It is then your responsibility to invoke a BBS
  313.          utility program to adjust your caller's BBS security level
  314.          or perform what ever duty you need.  Even if nothing is done
  315.              to the BBS at all, you will have the new name in VERIFY!.LST 
  316.          with the correct phone number.  If you don't understand DOS
  317.          ERRORLEVELs, you'll need to review your DOS manual.
  318.  
  319. AREA CODES AND PREFIXES FROM SETUP.EXE
  320. --------------------------------------
  321.     If VERIFY! calls back the user, how can you keep a tab on your
  322.     phone bill?  This was a major consideration for this program.
  323.     There are 6 different number windows in SETUP.EXE:
  324.  
  325. 1 - Local Area Code for the BBS
  326.  
  327.     This is the local area code at the location where the BBS is run.
  328.  
  329. 2 - Unauthorized Numbers
  330.  
  331.     If the caller's AREA CODE or PREFIX matches any three digit number
  332.     on this line, then the call is not placed.  This protects you
  333.     from those very expensive 976 numbers and area code 900 numbers.
  334.     This function is operational whether registered or not with one
  335.     exception:  Only the first three (three digit) numbers are active
  336.     prior to registration.  Be sure that the first three numbers on this
  337.     line are "911 900 976".  After registration, the entire line is
  338.     active.  Then, other numbers like "411 611" should be added, with
  339.     any others you may feel necessary.
  340.  
  341. 3 - LOCAL Prefixes
  342.  
  343.     If the caller's area code matches the Local Area Code for the BBS,
  344.     then these numbers is checked for a match.  If the prefix is found,
  345.     then the callback will be a local call, and the dial string will
  346.     only contain the 7 digit local number.  Defining the local prefixes
  347.     allows you to screen out those toll calls that look like local
  348.     calls.  If this line contains the number 000, then ALL numbers within
  349.     the area code will be called, just as they are before registration.
  350.  
  351.     For example:  These numbers are in the window of Local Prefixes:
  352.               943 944 945 948 949 723 722 264
  353.               and the Local Area Code for the BBS is 805.
  354.  
  355.     (805) 723-6908 is the caller's number.  The caller's area code 805
  356.     matches the BBS's area code, so the Local line is searched for the
  357.     prefix 723.  723 is found, so the dialed number will be 7236908.
  358.     If the prefix is not found, the next set of numbers labeled
  359.     "Authorized toll prefixes within the local area code" is checked.
  360.  
  361. 4 - Authorized toll prefixes within the local area code
  362.  
  363.     If the caller's area code matches the Local Area Code for the BBS,
  364.     and the caller's prefix is NOT found among the Local Prefixes, then
  365.     this group of numbers is checked for the caller's prefix.  If the
  366.     prefix is found, then the callback will be an authorized toll call
  367.     within the local area code.  The dial string will only contain the
  368.     7 digit number.  If this line contained the number 000, then ALL
  369.     numbers within the area code will be called, just as they are before
  370.     registration.  
  371.  
  372.     For example:  These numbers are on the line of 
  373.               Authorized toll prefixes...:
  374.               724 942
  375.  
  376.     The search in 3 above was unsuccessful, so this line is searched for
  377.     the prefix.  (805) 942-0889 is the caller's number.  The line is
  378.     searched for the prefix 942.  942 is found, so the dialed number
  379.     will be 9420889.  If the prefix is not found, then the call back
  380.     is not within the local area code.  This allows you to designate the
  381.     toll calls within your local area code you will allow to be called.
  382.  
  383.     Depending on your entry from SETUP.EXE, the number dialed here may
  384.     or may not begin with a '1'.  The number in this example will either 
  385.     be 9420889 or 19420889.
  386.  
  387. 5 - Metro Numbers
  388.  
  389.     If the caller's number isn't found within the local or toll numbers,
  390.     the metro numbers are checked.
  391.  
  392.     Metro numbers are defined as local calls to another area code.  There
  393.     may be up to 9 metro area codes defined.  The caller's area code is
  394.     compared to these area codes.  If there's a match, the caller's prefix
  395.     is compared with the set of prefixes attached to the metro area code.
  396.     If there's a match (area code and prefix), the number is accepted as
  397.     a metro number.  The number is dialed with the area code, prefixed
  398.     with a '1' if necessary.  Since this is actually a local call at no
  399.     charge to the sysop, the caller is not disconnected after verification.  
  400.  
  401. 6 - Authorized long distance area codes
  402.  
  403.     If the caller's area code does not match the BBS's, the prefix
  404.     checks are skipped, and this group of numbers is searched for the 
  405.     area code.  If it is found, the number is called.  If the number
  406.     000 is in this window, then ALL long distance calls will be placed,
  407.     just as they are before registration.  
  408.  
  409.     For example:  These numbers are within the Area Code Window:
  410.               602 818 213
  411.  
  412.     (602) 555-1212 is the caller's number.  602 is found, but the number
  413.     is incomplete.  First, the number 1 is appended to the dial string,
  414.     then the full number, resulting in the dial string being 16025551212.
  415.     If the area code is still not found, then the call is not placed.  
  416.  
  417.     SYSOP HAS FULL CONTROL OF WHAT NUMBERS MAY BE CALLED!
  418.     (REGISTERED VERSION ONLY!!!!!)
  419.  
  420.     NOTE: If the number called is a toll call (inside or outside the local
  421.           area code), the line will hang up (be disconnected) after 
  422.           verification.  This controls the sysop phone bill.  Caller is
  423.           advised that access is authorized on next call.
  424.  
  425. REDIALS
  426. -------
  427.     VERIFY! can reattempt the phone call if the first attempt does not
  428.     work.  Often, an unsuspecting family member will pickup the phone
  429.     on VERIFY!'s call back and break the modem connection.  Sometimes,
  430.     a caller is confused and just needs to try it more than once.
  431.     Designate the amount of redial attempts through SETUP.EXE, Other
  432.     window.
  433.  
  434.     When the modem disconnects and prepares for the call back, its
  435.     possible for other BBS callers to try to log on.  VERIFY!.EXE will
  436.     intercept this incomming call.  VERIFY!.EXE will take the phone
  437.     line "off hook" for aprox. 2 seconds, then hang up.  The current
  438.     call back attempt is then restarted.  This does not constitute one
  439.     of the call back attempts defined through SETUP.EXE.  If call back
  440.     attempt number 1 is interrupted with an incomming call, then call
  441.     back attempt number 1 is reattempted until the modem finds a dial
  442.     tone and actually dials out.  If this dialing is unsuccessful, then
  443.     call back attempt number 2 is started.
  444.  
  445. TOLL CALL BACK HOURS
  446. --------------------
  447.     Most long distance carriers (phone companies) offer reduced rates
  448.     within certain times.  You can define your call back time for
  449.     long distance calls to be within these times.  These times are 
  450.     defined in SETUP.EXE, Other window.  The numbers to be placed
  451.     are the hours from the 24 hour clock.  1:00 pm is 13, 12:00 am is
  452.     24, etc.  Hours only, no minutes.  
  453.     Example:   21   6   is for performing long distance call backs 
  454.     between 9:00 pm and 6:00 am.
  455.  
  456.     If you do not require screening your long distance call back time, 
  457.     place the number 0 (zero) for both:   0   0   to disable this 
  458.     function, allowing long distance call back at any time.
  459.  
  460. OUTPUT ASCII/ANSI FILES
  461. -----------------------
  462.     The output files previously listed, are displayed during the operation
  463.     of VERIFY!.  They are named to give an idea of its objective:
  464.     INSTRUCT.ANS is the ANSI color file that instructs the caller how to
  465.     be verified, SUCCESS.ASC is the non-color file thats displayed on
  466.     successful verification, etc.  They may be edited to your liking.
  467.     Do not include any more than one blank line after all the text in
  468.     these files, or correct output may be compromised.  The same is true
  469.     if you exceed 23 lines, as none of the files will pause with a full
  470.     screen.
  471.  
  472.     Any screen clearing in ANSI mode must be included in the .ANS file.
  473.     VERIFY! does not automatically perform this duty.
  474.  
  475.     VERIFY!'s output may be personalized by placing the caller's name
  476.     into the files!  Place the '' character (from the <CTRL> E) and
  477.     it will be replaced with the caller's first name.  Place the '' 
  478.     (from the <CTRL> F) and it will be replaced with the caller's last
  479.     name.  Be sure to leave room on the line for these characters to 
  480.     expand to names, or the line might get cut in half.
  481.     For example:
  482.  
  483. Hello,  .  Would you like to be call back verified for a higher access level?
  484.  
  485.     Will be transmitted looking like this:
  486.                                                                                
  487. Hello, Carl Sagerquist.  Would you like to be call back verified for a higher ac
  488. cess level?
  489.  
  490.     Obviously, not desirable appearance.  Remember to leave room for the 
  491.     names to be inserted to the line.
  492.  
  493. CARRIER MONITOR
  494. ---------------
  495.     VERIFY! monitors the Carrier Detect.  If a caller hangs up, or gets
  496.     disconnected, VERIFY! will exit clean and return to the BBS.  The 
  497.     BBS will then reset and await the next call.  You can test this
  498.     feature by typing the ~ character at any prompt.
  499.  
  500. TIME LIMIT
  501. ----------
  502.     The caller has 60 seconds to complete each entry, or carrier is
  503.     dropped and the program exits.  That way, if your caller's computer
  504.     freezes, you aren't stuck on line!  This feature was added to
  505.     disallow remote's control of the carrier.  Without this feature, the 
  506.     call back could last as long as the remote caller would allow.  If 
  507.     the call back was long distance, your phone bill could sink you.
  508.     You can test this feature by typing the  (^A) character at any prompt
  509.     or waiting 60 seconds without input.
  510.  
  511. ALTERNATE OPERATION
  512. -------------------
  513.     If you want to use VERIFY! to screen users of on-line games, place a
  514.     copy of VERIFY!.EXE and its data files in the game directory.  Copy
  515.     DOOR.SYS (or the appropriate BBS file) to this directory.  The game
  516.     Trap Door must be available to all callers.  After verification, 
  517.     allow entry into the game.  On exit of the door, run your BBS utility 
  518.     program for adjusting security levels for the caller's next entry.
  519.     BATCH file commands should check the security level of the caller and
  520.     he/she should be entered into the VERIFY! program, or directly into 
  521.     the game.  This protects the BBS game door from having callers play
  522.     under multiple names, because two callers cannot be automatically
  523.     verified from the same originating phone number.  If its legitimate,
  524.     like brother and sister both want to play the game, the message left
  525.     to the sysop will explain, and you'll have to manually adjust the
  526.     security for that player.  See the file TRAPDOOB.BAT included in
  527.     this ZIP package for an example of this operation.
  528.     
  529. BBS ADJUSTMENTS
  530. ---------------
  531.     VERIFY! does no adjustments to your BBS itself.  You, as sysop, are
  532.     responsible to code your calling batch file appropriately to effect
  533.     change.  The returned ERRORLEVELs from VERIFY! will allow you to
  534.     to do this.
  535.  
  536.     MEGAHOST includes the file MEGA_API.EXE to adjust a caller's security
  537.     level while the caller is on line.
  538.  
  539.     4-TRIBBS.ZIP, included with this package, contains TRISEC.EXE which
  540.     will adjust the caller's security level while the caller is on line
  541.     for a TriBBS BBS.
  542.  
  543.     4SPTFIRE.ZIP, included with this package, contains SFSEC.EXE which
  544.     will adjust the caller's security level while the caller is on line
  545.     for a SPITFIRE BBS.
  546.  
  547.     Other BBSs can be supported, too.  If you need a utility to make
  548.     the adjustments, send a message to the sysop on The SME Support BBS
  549.     at (805) 723-6908, and I'll get to work on it!
  550.  
  551. ERRORLEVELS
  552. -----------
  553.     VERIFY! will return different errorlevels for further processing
  554.     by the calling batch file:
  555.  
  556.     ERRORLEVEL  0 means the caller is verified, and all data matched.
  557.               Call back was LOCAL.
  558.     ERRORLEVEL  1 means the caller is verified, and all data matched.
  559.               Call back was LONG DISTANCE.
  560.     ERRORLEVEL  2 means the caller has already been verified.
  561.     ERRORLEVEL  3 means the caller reentered the wrong data on callback.
  562.               Caller not verified.
  563.     ERRORLEVEL  4 means no modem on callback. Caller not verified.
  564.     ERRORLEVEL  5 means the caller's phone number duplicates another
  565.               verified caller's phone number.  Could be a bogus call.
  566.     ERRORLEVEL  6 means the callback phone number is not authorized.
  567.     ERRORLEVEL  7 means long distance callback not within time envelope.
  568.     ERRORLEVEL  8 means the caller typed an unauthorized number like 911.
  569.     ERRORLEVEL 10 means the caller decided not to be verified.
  570.     ERRORLEVEL 15 means the remote input time limit (60 seconds) exceeded.
  571.     ERRORLEVEL 20 means carrier was dropped.
  572.     ERRORLEVEL 30 means the BBS file (DOOR.SYS, DORINFO1.DEF, CALLINFO.BBS,
  573.               CHAIN.TXT) cannot be found, or another file could not be
  574.               be opened or created.
  575.     ERRORLEVEL 35 means an unsupported COM port is in use.
  576.     ERRORLEVEL 40 means the log file could not be written to.
  577.     ERRORLEVEL 50 means VERIFY!.DAT is invalid, SETUP.EXE must be run.
  578.     ERRORLEVEL 60 means VERIFY!.EXE could not disconnect (drop carrier).
  579.  
  580. SAMPLE BATCH FILE FOR MEGAHOST
  581. ------------------------------
  582.  
  583.     @echo off
  584.     CLS
  585.     C:
  586.     CD\MEGAHOST\VERIFY!
  587.     VERIFY! /B:MH1 /D:C:\MEGAHOST\DATA /L:C:\MEGAHOST\DATA\MEGAHST1.LOG
  588.     IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 goto SET
  589.     IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 goto SET
  590.     GOTO END
  591.     :SET
  592.     CD\MEGAHOST
  593.     rem  MEGAAPI1 svc 5 will increase the caller's security while on line.
  594.     rem  MEGAAPI1 svc 7 will increase the caller's time limit while on line.
  595.     MEGAAPI1 5 10, 7 60
  596.     :END
  597.     CD\MEGAHOST\UPLOADS
  598.  
  599. PRANKSTER CONTROL
  600. -----------------
  601.     If everyone was honest and respectful, there would be no need for this 
  602.     program.  Some people spray paint on walls.  Some people throw rocks
  603.     through windows.  The same mentality will call a BBS incognito and
  604.     raise havoc with the sysop and his users through foul messages, 
  605.     uploaded dirty files, etc.  When a prankster is caught by this program,
  606.     he may feel a desire to get even.  This program was written with this
  607.     prankster mentality in mind.  The controlling features are:
  608.  
  609.     1 - 60 second timer for user input.  A caller cannot hook you to his
  610.         computer indefinitely, thus controlling your phone bill (long
  611.         distance/toll calls).
  612.     2 - No duplicate phone numbers on automatic verify.
  613.         - A new caller with the same phone number of a previously verified
  614.           caller could be the same person under a different name!
  615.         - A prankster might try to make your BBS hook up to another BBS!
  616.           Place ALL possible BBS numbers into the file VERIFY!.LST, and 
  617.           this will not happen!
  618.     3 - Numbers defined as UNAUTHORIZED NUMBERS (through SETUP.EXE) are
  619.         screened out.  A prankster might try to make your computer call
  620.         a 976 or area code 900 number.  Also, if the call back was 
  621.         911-####, the 911 would connect you to the emergency dispatch in 
  622.         your city!  These numbers should be placed in the window labeled:
  623.         UNAUTHORIZED NUMBERS through SETUP.EXE.  The first three (three
  624.         digit) numbers of this line are operational prior to registration.
  625.     4 - Long distance numbers are not called unless the area code is
  626.         designated.  (REGISTERED VERSION ONLY).  Lets face it, even honest
  627.         people will use this program without compensation to the programmer
  628.         if every feature was operational!  Use caution, though, ALL long
  629.         distance calls are placed until VERIFY! is registered, and your
  630.         phone bill will quickly exceed the registration fee requested.
  631.     5 - Log file appended after caller is done.  The result of the caller's
  632.         actions are placed in the file VERIFY!.LOG with the date and time,
  633.         or the log file defined on the command line.
  634.  
  635.     If you find a need for more techniques on handling pranksters, please
  636.     make the suggestion via The S M E Support BBS at (805) 723-6908.
  637.  
  638. KNOWN PROBLEMS
  639. --------------
  640.     During the disconnect of the modem and call back, ATZ (modem reset)
  641.     is sent to the host modem.  This could cause trouble with some BBSs
  642.     if the default values set with ATZ do not match the initialization
  643.     string of the BBS.  
  644.  
  645.     To correct this, append your BBS's initialization string with &W.
  646.     The &W should be the last item before the CR at the end of the
  647.     string.  What this does is write the string to the modem's non-
  648.     volatile memory.  ATZ then resets the modem with these values.  Then,
  649.     leave the initialization string in VERIFY!'s SETUP.EXE blank, or
  650.     place ATZ as the initialization string.
  651.  
  652.     For a modem that has no nonvolatile memory, use this initialization
  653.     string to make the proper settings.
  654.  
  655. CREDITS
  656. -------
  657.     Many thanks to Tim Gimber of Phoenix, AZ., who suggested this program,
  658.     directed its features, and tested its operation.
  659.  
  660.     Many thanks to David Swift of Waldorf, MD., for advising me of the
  661.     fatal error fixed with revision 2.2.  This problem didn't occur on
  662.     my modem, and I still don't understand why.  VERIFY! is now 
  663.     compatible with many more modems.
  664.  
  665.     Many thanks to Kent Craig of Vincennes, IN., for advising me of the
  666.     methods used by the Indiana phone system:  Toll Local numbers there
  667.     require the number to begin with a '1'.  Now, through SETUP.EXE, 
  668.     the sysop may choose to prefix a Toll Local number with a '1'.  
  669.     Verify! is now compatible with more phone systems.
  670.  
  671.     Thanks to Raymond Swigirt of Baltimore, MD., for requesting room
  672.     necessary to handle all 281 of the local prefixes available in
  673.     Baltimore.  The suggestion motivated me to revise the serial port
  674.     routines, command line switches, and shared file access for multi-
  675.     tasking environments.
  676.  
  677.     Thanks to James Mann of Littlerock, CA. for requesting the TRIBBS 
  678.     support programs and testing them online.
  679.  
  680.     Thanks to Robert Massman of Dallas TX. for his guidance on VERIFY!'s
  681.     support of TRIBBS v4.2, and for testing VERIFY!.EXE revision 3.0's 
  682.     support for "Metro Numbers" prior to release.
  683.  
  684.     Thanks to Rick Bretz of Columbus, OH. for his guidance in fixing the
  685.     error found when VERIFY! disconnects on a long distance unsuccessful
  686.     verify, and for requesting the feature that intercepts a BBS call
  687.     during the call back process.  Thanks for the effort!
  688.  
  689.     Thanks to Marc Neveux of Thousand Oaks, CA., for identifying the 
  690.     error when a caller with a one word name tries to be verified.
  691.  
  692.     Thanks to Debbie Engwiller of Rosamond, CA. for requesting the
  693.     user editable ASCII/ANSI output files for customizing VERIFY!'s
  694.     output.  
  695.  
  696.     Thanks (again) to Robert Massman of Dallas TX. for his continued
  697.     persistance to keep VERIFY!.EXE up to date with "Ma Bell" in the
  698.     Dallas, TX area with enough Local numbers and Metro numbers.
  699.  
  700.     Thanks to Gloria Short of the BRAIN STORM LEARNING BBS, HOUSTON, 
  701.     TX for the help received to make VERIFY! operational with the
  702.     RoboBoard BBS.
  703.  
  704.     Thanks to Doug Torneden of Irving, TX for the suggestion to have
  705.     VERIFY!.EXE echo all modem commands and result messages to the screen.
  706.     Internal modem BBSs can now see the modem processing.
  707.  
  708. DISCLAIMER
  709. ----------
  710.     This program is distributed as is.  No warranty, either expressed or
  711.     implied is offered and the programmer is not responsible for any
  712.     damages or expenses that may occur through the use of this program.
  713.     The user shall determine its suitability.  Please communicate any 
  714.     difficulties with the programmer through the BBS at (805) 723-6908.
  715.  
  716. History
  717. -------
  718.     Version 3.4  - 02/01/94 - Added the SABOTAGE.ASC/ANS screen when a 
  719.                   caller types in an area code or prefix that
  720.                   matches one of the defined UNAUTHORIZED 
  721.                   numbers.
  722.  
  723.                 - Added 15 more lines of Local Prefixes in a
  724.                   third Local Prefix window.
  725.  
  726.                 - Tripled the amount of definable Metro Numbers
  727.                   through two more Metro Number windows.
  728.  
  729.                 - Added support for RoboBoard BBS through
  730.                   DORINFO#.DEF.
  731.  
  732.                 - Modem commands/results now echoed to the
  733.                   local screen.
  734.  
  735.     Version 3.3  - 12/19/93 - Revised output:  Most output now comes
  736.                   from ASCII/ANSI files.  The sysop may
  737.                   alter VERIFY!'s appearance.
  738.  
  739.     Version 3.2  - 11/21/93 - Modem interrupts cleared prior to exit
  740.                   removing erroneous error response.
  741.  
  742.                 - RBBS# command line switch fixed.
  743.  
  744.                 - Fixed problem in name comparison caused
  745.                   when a caller logs on with a one word name.
  746.  
  747.                 - Added the command line switch RENEGADE#
  748.                   (/B:RENEGADE1) to support the Renegade BBS.
  749.  
  750.     Version 3.1a - 09/07/93 - Discovered error in support for AUNTIE BBS,
  751.                   in the opening of AUNTIE.SYS.  Fixed.
  752.  
  753.     Version 3.1  - 09/06/93 - Added code to intercept an incomming call
  754.                   when the callback sequence has begun.  
  755.  
  756.                 - Removed command line switch TRIBBS_D
  757.                   since the support programs are written to
  758.                   work only with TRIBBS.SYS, not DOOR.SYS.
  759.  
  760.                 - Command line switch TRIBBS_T altered to
  761.                   TRIBBS (/B:TRIBBS).
  762.  
  763.                 - Removed command line switch RA for use with
  764.                   DOOR.SYS.  RA now will only work with the
  765.                   more useful file DORINFOx.BBS.
  766.  
  767.                 - Added AUNTIE BBS to supported list through
  768.                   command line switch /B:AUNTIE.
  769.  
  770.                 - Added PROBOARD BBS to supported list through
  771.                   command line switch /B:PROBOARD# where the #
  772.                   is the node number.
  773.  
  774.     Version 3.0  - 08/15/93 - Support for Metro Numbers added.
  775.  
  776.                 - If upgrading from v2.8 or 2.9, the file
  777.                   VERIFY!.DAT is automatically adjusted
  778.                   through FIX_DAT.EXE to ensure a clean
  779.                   operation should you forget to make the
  780.                   data adjustments through SETUP.EXE.  New
  781.                   variables in VERIFY!.DAT are blank,
  782.                   waiting for later input.
  783.  
  784.                 - Utilities for TRIBBS adjusted for use with
  785.                   TRIBBS v4.02.  Previous release supported
  786.                   v3.3 only.
  787.  
  788.                 - Added the command line switch VBBS (/B:VBBS)
  789.                   to support the Virtual BBS/NET, AKA VBBS.
  790.  
  791.                 - PCBoard now supported through PCBOARD.SYS.
  792.  
  793.                 - VERIFY!.LOG entries altered to conform to
  794.                   TRIBBS's log entry format.  Should look
  795.                   good in all applications.
  796.  
  797.     Version 2.9  - 07/11/93 - Utilities created for security level
  798.                   adjustment on a TRIBBS BBS, through
  799.                   TRIBBS.SYS.
  800.  
  801.                 - Fatal error found:  If all data in the
  802.                   file VERIFY!.LST is removed, yet the zero
  803.                   length file still exists, the program 
  804.                   would freeze.  FIXED!
  805.  
  806.     Version 2.8  - 04/04/93 - Comm port routines overhauled.  Now, all
  807.                   data transmitted and received is interrupt
  808.                   driven, and more thorough error checking
  809.                   is performed.
  810.  
  811.                 - All file access is performed in share mode.
  812.                   Files are "locked" prior to writing which
  813.                   allows for a clean operation in a multi-
  814.                   tasking environment where a multi-line BBS
  815.                   might be operating VERIFY! simultaneously
  816.                   on more than one node.
  817.  
  818.                 - Command line switches overhauled.
  819.  
  820.                 - VERIFY! may now log its actions into the
  821.                   BBS's log file through the /L: command
  822.                   line switch.
  823.  
  824.                 - Amount of definable local prefixes is now
  825.                   510, double from v2.6.
  826.  
  827.                 - MEGAHOST now supported through MEGAHST#.DEF
  828.                   rather than DOOR.SYS.
  829.  
  830.                 - TRIBBS now supported through TRIBBS.SYS and
  831.                   DOOR.SYS.
  832.  
  833.                 - WILDCAT! v3.0+ now supported through the 
  834.                   new format of DOOR.SYS.
  835.  
  836.     Version 2.7  - ??/??/?? - Beta test only, not released to the public.
  837.  
  838.     Version 2.6  - 04/24/92 - Local Prefixes, Toll Local Prefixes, and
  839.                   L/D Area Codes are increased from 3 lines
  840.                   to 9 lines of 67 characters.
  841.  
  842.                 - Toll Local call back number may be prefixed
  843.                   with a 1 if necessary.  Use SETUP.EXE to
  844.                   make the adjustment.
  845.  
  846.     Version 2.5  - 04/08/92 - Added an option allowing the caller to quit.
  847.                   For example:
  848.                   "Are you ready to proceed? (Y/n)"
  849.                   is replaced with
  850.                   "Are you ready to proceed? (Y/n/q)"
  851.                   where 'Y' is default, and 'Q' exits the
  852.                   program.
  853.  
  854.                 - SETUP.EXE adjusted.  New features:
  855.  
  856.                 - If data is changed, you are prompted to save.
  857.  
  858.                 - <CTRL> Right Arrow moves the curser to the
  859.                   beginning of the next number in the "Numbers"
  860.                   window.
  861.  
  862.                 - <CTRL> Left Arrow moves the curser to the
  863.                   beginning of the previous number in the
  864.                   "Numbers" window.
  865.  
  866.                 - Up Arrow/Down arrow moves to different lines
  867.                   in the "Numbers" window.
  868.  
  869.     Version 2.4  - 01/01/92 - SETUP.EXE added to automate the setup
  870.                   operation.  All data from SETUP.EXE is
  871.                   written to VERIFY!.DAT, which is now a
  872.                   binary structure file.
  873.  
  874.                 - VERIFY!.NUM is no longer needed.
  875.  
  876.                 - MAXIHOST no longer listed as supported
  877.                   since M-VERIFY v 1.09 is still available.
  878.  
  879.     Version 2.3  - 12/15/91 - Beta test version not released.
  880.  
  881.     Version 2.2  - 12/10/91 - Fatal error found with some modems (not mine)
  882.                   that would disrupt the comm port interrupts.
  883.                   Unnecessary code removed that set some modem
  884.                   parameters.  Thanks, Dave!
  885.  
  886.                 - More BBS's supported:
  887.                     PcBoard
  888.                     Remote Access
  889.                     Teleguard
  890.                     TGP
  891.                     WWIV
  892.  
  893.     Version 2.1  - 10/14/91 - Bug in toll/long distance call timer fixed.
  894.  
  895.                 - When the toll/ld call is screened out, the
  896.                   current time is displayed before the message
  897.                   explaining the time window for toll calls.
  898.  
  899.                 - Caller is now informed how many attempts
  900.                   will be made to call back and connect.
  901.  
  902.     Version 2.0  - 10/10/91 - Program renamed from M-VERIFY to VERIFY!.
  903.  
  904.                 - Supports MAXIHOST, MEGAHOST, QBBS, RBBS,
  905.                   PCBoard, and WILDCAT.  Syntax different
  906.                   while retaining the old method.
  907.  
  908.                 - No adjustments to MAXIHOST or its assoc'd
  909.                   files anymore.
  910.  
  911.                 - ERRORLEVELS returned.  The sysop must make
  912.                   the appropriate adjustments to the BBS 
  913.                   depending on the ERRORLEVEL returned.
  914.  
  915.     Version 1.09 - 11/29/91 - Modem parameters (BAUD, Parity, Stop bits,
  916.                   and Character length) are no longer set.
  917.                   This was causing trouble with some modems.  
  918.                   Unfortunately, not mine.  This may have
  919.                   been the culprit causing trouble with
  920.                   earlier versions.  These parameters are
  921.                   set by the BBS anyway, so there's no harm
  922.                   in removing this code.  Same code removed
  923.                   from version 2.1.
  924.  
  925.     Version 1.08 - 09/16/91 - Sorry about that, another bug got by me.
  926.  
  927.     Version 1.07 - 09/16/91 - Some code rewritten for efficiency and
  928.                                   safety.  No changes in operation from 1.06.
  929.  
  930.     Version 1.06 - 09/15/91 - Fixed FATAL ERROR in delay function that
  931.                   violated memory not its own which eventually
  932.                   caused system to crash.
  933.  
  934.     Version 1.05 - 08/09/91 - 'REDIALS = ' added to M-VERIFY.DAT to
  935.                   control the amount of attempts to recontact
  936.                   the caller.
  937.  
  938.     Version 1.04 - 08/07/91 - Long Distance call back time now definable,
  939.                   since most long distance carriers allow for
  940.                   cheaper rates at different times.
  941.  
  942.                 - Removed the advertisement at beginning of
  943.                   output on registered version.
  944.  
  945.     Version 1.03 - 07/28/91 - Fixed bug in log file entry that says 
  946.                                   "**** VERIFIED  (Long Distance) ****"
  947.                                   when caller really "Already Verified".
  948.  
  949.                 - Fixed bug that created M-VERIFY.LOG in the
  950.                   root directory if M-VERIFY.EXE was called
  951.                   without the proper command line parameters.
  952.  
  953.     Version 1.02 - 07/26/91 - Registration required.  Without the reg #,
  954.                   all call backs are placed regardless of the
  955.                   area code or resultant phone charges.  Call
  956.                   back screening enabled with registration.
  957.  
  958.                 - M-VERIFY now screens OUT certain area codes
  959.                   or prefixes, like 976 and 900, while author-
  960.                   ized numbers are screened IN.  (Sysop can
  961.                   define these numbers in M-VERIFY.NUM).
  962.  
  963.                                 - M-VERIFY now checks for toll calls within
  964.                                   the local area code.  Caller is disconnected
  965.                                   after verification if callback is a toll 
  966.                                   call.
  967.  
  968.                 - ERRORLEVELs 1 through 5 become 2 through 6,
  969.                   and ERRORLEVEL 1 redefined: ERRORLEVEL 1 
  970.                   returned if caller is verified and call back 
  971.                   is long distance.  ERRORLEVEL 0 if call back
  972.                   is local.
  973.  
  974.     Version 1.01 - 07/21/91 - Delay added after "Returning Your Call" sent,
  975.                   as it was being cut off by hanging up too
  976.                   quick.
  977.  
  978.                 - Bug in hangup routine:  After verification,
  979.                   if call back was long distance, dropping DTR
  980.                   wasn't enough to disconnect.  Hangup routine
  981.                   fixed.
  982.  
  983.     Version 1.0  - 07/19/91 - Initial release.
  984.  
  985.     Version 0.2  - 07/14/91 - Beta test released to requesting official,
  986.                       not to be released to public.  Partially 
  987.                   completed.
  988.  
  989.     Version 0.1  - 07/09/91 - Beta test released to requesting official,
  990.                   not to be released to public.  Partially 
  991.                   completed.
  992.