┌──────────┬───────────┐
│ BBS ┼ │
│ ╓───╖ │ ╓ │ ANTI-AD
│ ║ ║ ┼ ║ │
│ ╟───╢ ╓┼─║ ╓── │ Version 0.90ß
├┼──╫─┼─╫─╫■─╫─╨┼─╥───┼┤
│ ╙ ╙ ╙┼─╜ ───╜ │ (c) Copyright 1992 - Stacy Smith
│ ┼ │
└──────────┴───────────┘
Courtesy of:
The Bloom Beacon-Picayune BBS
Node 1: (804) 525-9760 (USRobotics Courier Dual Standard)
Node 2: (804) 525-5372 (USRobotics Courier V.32bis)
FidoNet 1:276/112
Intelec
Stacy Smith
Route 6 Box 189
Forest, Virginia 24551
┌────────────────────┐
│ 1. Introduction: │
└────────────────────┘
ANTI-AD was developed due to recent developments in BBS ad files and their
associated headaches. The asinine sysops who insist on putting this excess
baggage into files at the expense of other sysops' disk space are getting more
creative and annoying.
By slightly modifying their BBS ad file, perhaps adding spaces to the end of
the file or stamping the time and date in the BBS ad. These modified files
were previsously undetectable (until the BBS ad was added to a database) until
ANTI-AD.
┌───────────────────────────┐
│ 2. Features of ANTI-AD: │
└───────────────────────────┘
∙ Identifies BBS ads using conventional CRC-32 algorithms for files that
are static. This method of detection is extremely fast and 100%
accurate.
∙ Includes a BBS ads maintenance utility so sysops can update their BBS
ads CRC databases in real time.
∙ Identifies BBS ads using a new keyword algorithm for files that are
constantly changing. This method of detection is slower and can be
less accurate depending upon how well the keywords are selected by the
user.
∙ Up to 100 keyword sets of up to 10 keywords each can be configured by
the user. (These are arbitrary limits and can be raised, if necessary;
they seemed good starting points).
∙ Runs as a file tester in an upload processing utility, such as ULP,
Ziplab, etc.
∙ Detected BBS ads are removed from the files on disk before being
repacked by the upload processing utility. They may be stored in a
subdirectory for subsequent review by the user.
∙ User-selectable process logging to a disk file.
∙ Written mostly in C (and a little assembler) for optimal speed, using
Borland C++ 3.1 and Turbo Assembler 3.1.
∙ Lifetime registration; pay ONCE and your registration number will work
on all future versions!
┌─────────────────────────────────────────────────────────┐
│ 3. Files Included in the ANTI-AD Distribution Archive │
└─────────────────────────────────────────────────────────┘
ANTI-AD.EXE BBS ad detection and removal program.
ANTI-AD.DB BBS ads database file.
ANTI-AD.DOC This file.
ANTI-AD.CFG Sample configuration file.
HISTORY.TXT ANTI-AD revision history in reverse order.
REGISTER.FRM Registration form for ANTI-AD.
FILE_ID.DIZ Internal description file.
When you unzip the distribution archive, you should see my PKZIP authenticity
verification stamp, and a '-AV' after every file in the archive:
# SSU301 The Bloom Beacon-Picayune BBS
If there are any files missing or added, or the -AV stamp is missing, the
archive has been tampered with. It would be advisable to call my BBS (listed at
the top of this document) for the latest version of ANTI-AD.
┌───────────────────────────┐
│ 4. Program Requirements │
└───────────────────────────┘
To the best of my knowledge, this program will run on most any IBM-compatible
machine. I have personally tested and developed ANTI-AD on the following
machines, with no problems:
10 MHz 80286 computer (CompuAdd) with:
∙ 1 megabyte of motherboard memory with a 2 megabyte EMS card
∙ 42 megabytes of MFM hard disk space
∙ MS-DOS 5.0 with 4DOS 4.0 command interpreter
∙ CGA graphics subsystem
∙ NAS16550AFN serial port UART
∙ US Robotics Courier V.32bis external modem
33 MHz 80486 computer (CompuAdd Express) with:
∙ PCBoard 14.5a/E3
∙ 12 megabytes of motherboard memory
∙ 245 megabytes of IDE hard disk space
∙ MS-DOS 5.0 with 4DOS 4.0 command interpreter
∙ DESQview 2.42 and QEMM 6.02
∙ SVGA graphics subsystem
∙ NAS16550AFN serial port UARTs
∙ US Robotics Courier V.32bis external modems
33 MHz 80386 computer (Zeos) with:
∙ 8 megabytes of motherboard memory
∙ 130 megabytes of IDE hard disk space
∙ OS/2 GA VDM with 4DOS 4.0 command interpreter
∙ SVGA graphics subsystem
∙ 16450 serial port UART
∙ Everex Evercom 2400 baud internal modem
Other sysops that I have been in contact with have successfully implemented
ANTI-AD on setups with CD-ROMs, networks (e.g. Novell, LANtastic) and other
varying hardware.
ANTI-AD requires DOS 3.x or later, as it uses DOS SHARE-compatible file reads
and writes. ANTI-AD's memory requirements are very small (about 80K or so,
plus the CRC database and keyword memory allocated). A hard disk is required
(and not very many BBSes don't have them) so it goes without saying (although I
did anyway; someone is bound to ask...).
┌───────────────────┐
│ 5. Registration │
└───────────────────┘
ANTI-AD is not free; nor is ANTI-AD is crippled to force registration. ANTI-AD
is fully functional, and will always remain so. The only variation with the
registered copies is no time delay and beg message.
Why register? Besides a clean conscience, you will get a registration code that
will work for all future versions of ANTI-AD, and will remove the delay and
message at the end of execution.
Also, registered users get a large time limit and unlimited downloading from my
BBS, if they choose to do so...
The registration fee for your unique code is $10 for non-commercial BBSes. The
registration fee for commercial BBSes, defined if you run your BBS in the
course of a commercial business, or your if BBS turns a profit, is $20. Other
variations are available; refer to the file REGISTER.FRM for all registration
options. Please print the file REGISTER.FRM and fill it out. You can print out
the form by issuing the following command from the DOS prompt:
TYPE REGISTER.FRM > PRN
┌───────────────────────────────────────┐
│ 6. License, Warranty and Disclaimer │
└───────────────────────────────────────┘
I'll keep this part short and sweet, and dispense with the legal-ese:
License: You are allowed to use ANTI-AD for 30 days, after which you
must either register ANTI-AD or stop using it completely. ANTI-AD
registration is a license for your use of ANTI-AD; I retain
ownership of the software. A single registration applies to a single
BBS system, regardless of the number of computers used in the
system. If you run two or more distinct BBS systems on the same
computer (with different names), you require two or more ANTI-AD
registrations. Refer to the registration form for the currect
pricing structure.
Warranty: There isn't one. The only thing I'll guarantee is that
ANTI-AD will take up disk space, and will disappear when deleted.
Disclaimer: I'm not responsible for anything bad that happens. ANTI-AD
works here, but I cannot be held responsible for it not working on
your computer or doing any damage to hardware or software.
If these aren't agreeable with you, then the best thing to do is delete ANTI-AD
right now. I'll do my best to help any user (registered or not) that wants to
use ANTI-AD, and I'll act on bug reports quickly, but I simply cannot and will
not be responsible for anything bad, like lost data, disk crashes, or whatever
else you can think of.
┌───────────────────┐
│ 7. Installation │
└───────────────────┘
GENERAL INSTALLATION:
─────────────────────
Make a subdirectory on your hard drive. For the purposes of this document,
we'll call it "C:\ANTI-AD". Unarchive the ANTI-AD distribution archive into
this subdirectory. You've more than likely already made it this far, if you're
reading this file. <grin>
The ANTI-AD system opens several files at once for various reasons. I would
recommend that you have a minimum of FILES=40 in your system CONFIG.SYS file
for a single-node system, since ANTI-AD is run in conjunction with your BBS
software.
If you are running under a network or a multitasking operating system, you
should already have DOS's SHARE.EXE loaded. You must have SHARE loaded in order
to take advantage of the file sharing and locking methods used by the ANTI-AD
programs to prevent data loss. (If you are running a single-node system without
a multitasker, SHARE is not needed).
Edit the configuration file to suit your needs. Proper configuration will
require you to refer to this section, the previous section and the section
titled "Configuration", which has an in-depth explanation of each configuration
parameter and its function.
Note that for the ANTI-AD program, you can obtain a limited program syntax
screen simply by executing the program with no arguments.
INSTALLATION INTO YOUR UPLOAD PROCESSOR:
────────────────────────────────────────
ANTI-AD is designed to operate on a subdirectory of files that have already
been extracted by the upload processor. The best application for ANTI-AD is to
be executed as a file test utility, similar to a virus-scanning program, since
at that point in time the files are already extracted from the archive being
process.
Depending upon how your upload processor operates, the command lines can be
different. Unless there is a failure in operation, ANTI-AD always returns 0 as
its errorlevel, regardless of whether BBS ads are found or not. This is to
prevent a false trigger of an upload processing error.
If your upload processor executes the file testers from the directory where the
files are located (this is how ULP operates), the command line is simply:
D:\ANTI-AD\ANTI-AD.EXE -Cd:\anti-ad\anti-ad.cfg
If your upload processor DOES NOT execute the file testers from the directory
where the files are located, and passes a filespec to the program, the command
line is:
D:\ANTI-AD\ANTI-AD.EXE -Cd:\anti-ad\anti-ad.cfg -Dd:\path\*.*
The '-D' parameter defines to ANTI-AD where to find the files. Note that it
will accept either a path (e.g. 'C:\TEMP\') or a filespec (e.g. 'C:\TEMP\*.*');
in other words, the "*.*" is superfluous. Regardless of the filespec, ANTI-AD
will check all files in the path passed to it. This is to allow the highest
level of compatibility with all upload processing utilities.
NOTE: If you are a user of ULP, the correct configuration setup for ANTI-AD
used as a file checker is as follows:
FILE_CHECKER 2 (or whatever the next number is...)
FILE_CHK_CMD C:\ANTI-AD\ANTI-AD -Cc:\anti-ad\anti-ad.cfg
FILE_CHK_ERR 0
┌────────────────────┐
│ 8. Configuration │
└────────────────────┘
The sample configuration file included in the distribution archive is heavily
commented, but some additional information is provided below:
REG_CODE
The registration code EXACTLY as provided to you on your registration
letter. If this is an unregistered version, comment out this line. Note
that this is case-sensitive, as the serial number, BBS name and sysop name
are all encrypted into this code.
BBS_NAME
The BBS name EXACTLY as provided to you on your registration letter. If
this is an unregistered version, comment out this lines. Note that this is
case-sensitive!
SYSOP_NAME
The sysop name EXACTLY as provided to you on your registration letter. If
this is an unregistered version, comment out this line. You get the picture
by now...
LOG_FILE
All of the ANTI-AD programs will write process and error information to a
log file, if desired. This is the path/filename of the log file for ANTI-AD
to record its activities. Comment out if you don't want any disk logging.
STORAGE_DIR
If you want ANTI-AD to use a specific directory for storage of BBS ads
detected and removed from archives, enter the full pathname (including the
trailing backslash). If you do not want the file saved for later
inspection, comment it out. I would not recommend using a RAM disk, since
the files would be lost when the system is rebooted or powered down.
ADS_DB
The directory path and name for the BBS ads database. This database can be
updated by the sysop by using the '-F' parameter of ANTI-AD (see section 10
of this document), freeing the sysop from being reliant on me to maintain
the ads database. If you find a large number of new BBS ad files, please
upload them to my board for inclusion into my master ads database
distributed with ANTI-AD. This database format is compatible with my
UpLoadProcessor (ULP) utility's BBS ads database.
KEYWORDS
The keyword sets (separated by commas) to search potential BBS ad files
for. Note that these keywords are case-sensitive! If a potential ad file
contains ALL of the keywords or phrases, it will be dispositioned as a BBS
ad. I suggest using the BBS name, area code and exchange, modem brand and
other key terms in their ads that seem static. Up to 10 keywords are
allowed per line; one line comprises a keyword set. A maximum of 100
keyword sets may be defined. Note that BBS ad scanning time increases with
the number of keywords and keyword sets.
┌────────────────────────┐
│ 10. Manual Operation │
└────────────────────────┘
In order for sysops to be able to 'keep up' with new ads produced by the weenie
sysops who insert the @!&*#%$ things, ANTI-AD is capable of scanning a BBS ad
file and updating the BBS ads with it's information. Don't worry about
duplication, as part of the process is to purge duplicate BBS ad info. The
command-line syntax for this functions is:
ANTI-AD -Canti-ad.cfg -Fbbs.ad
where 'anti-ad.cfg' is the full path and filename for the ANTI-AD configuration
file, and 'bbs.ad' is the path and filename for the BBS ad file to be added to
the BBS ads database.
If you have a subdirectory full of BBS ads to add to the database, the
following batch file will automate the procedure:
for %%f in (c:\temp\*.*) do ANTI-AD -Cc:\anti-ad\anti-ad.cfg -F%%f
I would greatly appreciate your uploading of any new BBS ad files that you may
collect over time to my BBS so I can update the master listing that I include
with the ANTI-AD distribution archive. Please refer to the top of this document
for my BBS number.
The latest version of my BBS ads database is included in the distribution
archive. In order to add whatever new BBS ads information that may be
contained, you can merge it with your current BBS database:
ANTI-AD -Canti-ad.cfg -Mother.db
where 'anti-ad.cfg' is the full path and filename for the ANTI-AD configuration
file, and 'other.db' is the path and filename for the other BBS ads datatbase
to be merged with the master ads database.
┌───────────────┐
│ 11. Support │
└───────────────┘
If you require support for ANTI-AD, I can be contacted by any of the following
means:
∙ Fidonet Netmail addressed to Stacy Smith, node 1:276/112 (aka 1:276/100)
∙ Intelec Shareware conference
∙ Intelec PCBoard conference
∙ The ULP Support conference (#42) on Salt Air (PCBoard support BBS)
∙ The Support conference (#2) on my BBS (listed at the top of this
document).
┌─────────────────────────────┐
│ 12. The Future of ANTI-AD │
└─────────────────────────────┘
ANTI-AD will be supported as long as I'm in the BBSing business (which will be
quite a while...once it's in your blood, you can never shake it <grin>). The
ANTI-AD system will be rapidly expanding it's features so it will be your first
choice in BBS ad eradicator. Some current plans:
∙ Develop a series of keyword sets to allow detection of most, if not
all, BBS ads.
∙ None...any ideas from you guys?
If you have any other suggestions, contact me by U.S. snail-mail or on my BBS
at the number at the top of this document.
Thanks for giving ANTI-AD a try!
┌────────────────────────────────┐
│ Appendix A: DOS Errorlevels │
└────────────────────────────────┘
The errorlevels returned to DOS by the ANTI-AD system programs are consistent
among all of the programs (primarily with the error conditions); the following
is a list of the errorlevels than can be returned by the ANTI-AD programs, along
with which programs return the codes:
0 Successful execution
99 Help screen (executing a program with no or an insufficient
number of arguments)
100 Could not close all open files
101 Unknown command line parameter
102 Config file not found
103 Invalid config file format
110 Unable to allocate heap memory
111 Unable to open or lock disk logging file
114 Unable to open BBS ads database file
115 Invalid filename provided by user on command-line
116 Invalid path provided by user on command-line
200 Undefined error (internal to ANTI-AD program)