home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
ucei04.zip
/
UCEi.TXT
< prev
Wrap
Text File
|
1997-12-11
|
7KB
|
172 lines
UCEi (pronounced "Uzi") --- the ultimate UCE filter
---------------------------------------------------
Having finally nailed the hanging bug (either there's a separate problem
specific to Object REXX, or OREXX was lying to me in debugging sessions: the
hangs were in fact in REXX code which scanned for comments), the latest
version of my UCE (unsolicited commercial e-mail) filter is ready for release.
There are a *lot* of changes, even ignoring the name change. Your old filter
files are worthless with this version... but this version includes dump
capability, so future releases will have a way to upgrade the databases even
if the file formats change. (They didn't change physically in this case,
but logically. Instructions for recovering your old private database below.)
The biggest change: no more web update. The site went away. Again. So
much for that. I assume "Spamford & Sons" makes life as difficult as possible
for anyone presuming to help others deflect their trash. The old web database
has been merged with the old private database instead.
A separate generic-header-match database has been added; instead of being
specific to addresses, it can be used to match strings in *any* header.
INSTALLATION
============
Unpack this file in your MR/2 ICE directory. (Don't run ICE? Good luck.)
Copy LIBDB.DLL to a directory in your LIBPATH, or leave it where it is and
insure that "." is in LIBPATH. WARNING: remove any older versions that
might be scattered about the LIBPATH.
Create a mail filter: inbound or prefetch, REXX filter, REXX script = UCEi.cmd
Actions: (whatever you choose; should include copy to folder)
Disposition: preferably "don't show in inbox/outbox; don't run further filters"
This should be the *last* filter in your filter list, since external REXX
filters are fairly slow as Nick currently has them implemented. (If you want
faster filtering, or want it not to steal focus when it's launched, lobby Nick
Knight for RexxStart() support. :-)
You might want to inspect the "unloaded" versions of the databases and add
or remove entries as appropriate for your situation. The included databases
are examples, and most people running this probably won't care about special
cases for the NA-Soccer mailing list, for example.
UPGRADING
=========
As above. NOSPAM.* from the older version are worthless; delete them.
You can attempt to recover your private entries from NOSPAM.PDB as follows:
1. Rename UCEi.PDB to UCEi.PBK
2. Rename NOSPAM.PDB to UCEi.PDB
3. Run: UCEi /PDUMP > nospupdt.cmd
4. Delete UCEi.PDB
5. Rename UCEi.PBK to UCEi.PDB
6. Run: nospupdt
7. Delete nospupdt.cmd
8. (Optional) Run: UCEi /PDUMP > UCEi.PDC
USAGE
=====
UCEi [/TEST[=n] message
Test the specified message against the header pattern and address/
domain databases; if /TEST, logging is to standard output and the
result is printed instead of semaphored for MR/2 ICE; if =n is
specified and n is greater than 1, all matches are printed along
with the final per-header result
UCEi /HLIST
List entries in header pattern database
UCEi /PLIST
List entries in address/domain database
UCEi /PADD address Y|N
Add an entry to the address/domain database
UCEi /HADD Y|N priority header pattern
Add an entry to the header pattern database
UCEi /PDELETE address
Remove an entry from the address/domain database
UCEi /HDELETE header [pattern]
Remove the specified or all entries for the specified header from
the header database
UCEi /HDUMP
Dump the header pattern database as a REXX script to reload it
UCEi /PDUMP
Dump the address/domain database as a REXX script to reload it
UCEi /DUMP
Dump all databases as a REXX script to reload them
All of the above options can be abbreviated to the minimum unique string
except /HDUMP, /PDUMP, /DUMP, and /TEST.
FILES
=====
UCEi.CMD - the script itself
UCEi.PDB - the primary address database, a db-0.85 hash database
UCEi.HDB - the header pattern database, a db-0.85 btree database
LIBDB.DLL - a port of db-0.85 to OS/2
These files may be deleted if desired:
UCEi.PDC - the primary address database in /PDUMP format, for convenience
UCEi.HDC - the header pattern database in /HDUMP format, for convenience
KNOWN PROBLEMS
==============
None :-)
The current window will lose focus each time ICE starts this or any other
REXX filter under OS/2 Warp Version 4, due to a bug in Presentation Manager.
(Windows launched minimized still take the focus away from the foreground
window, even though they should not.)
It doesn't catch everything. Somewhat ironically, it's *not* the professional
ooze-spewers that it misses: despite everything, they're all rather dumb and
their messages are easily detected. It's the amateurs who are most likely to
slip things past UCEi, because they're not following any rules and generally
don't know what rules to follow (or ignore!). A future version may add
pattern support and body scanning to help foil these (or on the off chance
that the "pros" discover a functioning neuron between themselves).
It uses a single database across all accounts. This doesn't strike me as a
problem, but it could relatively easily be changed.
Don't bother using it as a news filter; REXX filters can only be used as
inbound filters, whereas news is almost always run in "manual mode" where
only the headers are downloaded initially. This makes UCEi useless for news,
although the beginnings of news support are in the script.
DISCLAIMER
==========
Any attempt to abuse the First Amendment of the U.S. Constitution by
a known UCE producer in order to suppress this program or its databases
will be treated as an attempt to deny the author his First Amendment rights,
*and by extension* the First Amendment rights of all Internet users.
And yes, in extreme cases, this *will* include First Amendment challenges
against any UCE producers who so threaten the author.
Additional warning: it is quite obvious, even to lawyers paid to convince
courts otherwise, that nobody is forcing anyone to use this script or the
databases provided with it. That (il)legal fiction won't hold water, so
don't waste my or anyone else's time with that particular lie unless you
want an additional lawsuit for libel.
I trust I have made my position clear. Yours is already transparent. Don't
push your luck.
CONTACT INFORMATION
===================
Brandon S. Allbery KF8NH
bsa@kf8nh.apk.net