home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / ucei04.zip / UCEi.TXT < prev   
Text File  |  1997-12-11  |  7KB  |  172 lines

  1. UCEi (pronounced "Uzi") --- the ultimate UCE filter
  2. ---------------------------------------------------
  3.  
  4. Having finally nailed the hanging bug (either there's a separate problem
  5. specific to Object REXX, or OREXX was lying to me in debugging sessions:  the
  6. hangs were in fact in REXX code which scanned for comments), the latest
  7. version of my UCE (unsolicited commercial e-mail) filter is ready for release.
  8.  
  9. There are a *lot* of changes, even ignoring the name change.  Your old filter
  10. files are worthless with this version... but this version includes dump
  11. capability, so future releases will have a way to upgrade the databases even
  12. if the file formats change.  (They didn't change physically in this case,
  13. but logically.  Instructions for recovering your old private database below.)
  14.  
  15. The biggest change:  no more web update.  The site went away.  Again.  So
  16. much for that.  I assume "Spamford & Sons" makes life as difficult as possible
  17. for anyone presuming to help others deflect their trash.  The old web database
  18. has been merged with the old private database instead.
  19.  
  20. A separate generic-header-match database has been added; instead of being
  21. specific to addresses, it can be used to match strings in *any* header.
  22.  
  23.  
  24. INSTALLATION
  25. ============
  26.  
  27. Unpack this file in your MR/2 ICE directory.  (Don't run ICE?  Good luck.)
  28.  
  29. Copy LIBDB.DLL to a directory in your LIBPATH, or leave it where it is and
  30. insure that "." is in LIBPATH.  WARNING:  remove any older versions that
  31. might be scattered about the LIBPATH.
  32.  
  33. Create a mail filter:  inbound or prefetch, REXX filter, REXX script = UCEi.cmd
  34. Actions: (whatever you choose; should include copy to folder)
  35. Disposition: preferably "don't show in inbox/outbox; don't run further filters"
  36. This should be the *last* filter in your filter list, since external REXX
  37. filters are fairly slow as Nick currently has them implemented.  (If you want
  38. faster filtering, or want it not to steal focus when it's launched, lobby Nick
  39. Knight for RexxStart() support.  :-)
  40.  
  41. You might want to inspect the "unloaded" versions of the databases and add
  42. or remove entries as appropriate for your situation.  The included databases
  43. are examples, and most people running this probably won't care about special
  44. cases for the NA-Soccer mailing list, for example.
  45.  
  46.  
  47. UPGRADING
  48. =========
  49.  
  50. As above.  NOSPAM.* from the older version are worthless; delete them.
  51.  
  52. You can attempt to recover your private entries from NOSPAM.PDB as follows:
  53. 1. Rename UCEi.PDB to UCEi.PBK
  54. 2. Rename NOSPAM.PDB to UCEi.PDB
  55. 3. Run:  UCEi /PDUMP > nospupdt.cmd
  56. 4. Delete UCEi.PDB
  57. 5. Rename UCEi.PBK to UCEi.PDB
  58. 6. Run:  nospupdt
  59. 7. Delete nospupdt.cmd
  60. 8. (Optional) Run:  UCEi /PDUMP > UCEi.PDC
  61.  
  62.  
  63. USAGE
  64. =====
  65.  
  66. UCEi [/TEST[=n] message
  67.      Test the specified message against the header pattern and address/
  68.      domain databases; if /TEST, logging is to standard output and the
  69.      result is printed instead of semaphored for MR/2 ICE; if =n is
  70.      specified and n is greater than 1, all matches are printed along
  71.      with the final per-header result
  72.  
  73. UCEi /HLIST
  74.      List entries in header pattern database
  75.  
  76. UCEi /PLIST
  77.      List entries in address/domain database
  78.  
  79. UCEi /PADD address Y|N
  80.      Add an entry to the address/domain database
  81.  
  82. UCEi /HADD Y|N priority header pattern
  83.      Add an entry to the header pattern database
  84.  
  85. UCEi /PDELETE address
  86.      Remove an entry from the address/domain database
  87.  
  88. UCEi /HDELETE header [pattern]
  89.      Remove the specified or all entries for the specified header from
  90.      the header database
  91.  
  92. UCEi /HDUMP
  93.      Dump the header pattern database as a REXX script to reload it
  94.  
  95. UCEi /PDUMP
  96.      Dump the address/domain database as a REXX script to reload it
  97.  
  98. UCEi /DUMP
  99.      Dump all databases as a REXX script to reload them
  100.  
  101. All of the above options can be abbreviated to the minimum unique string
  102. except /HDUMP, /PDUMP, /DUMP, and /TEST.
  103.  
  104.  
  105. FILES
  106. =====
  107.  
  108. UCEi.CMD - the script itself
  109. UCEi.PDB - the primary address database, a db-0.85 hash database
  110. UCEi.HDB - the header pattern database, a db-0.85 btree database
  111. LIBDB.DLL - a port of db-0.85 to OS/2
  112.  
  113. These files may be deleted if desired:
  114.  
  115. UCEi.PDC - the primary address database in /PDUMP format, for convenience
  116. UCEi.HDC - the header pattern database in /HDUMP format, for convenience
  117.  
  118.  
  119. KNOWN PROBLEMS
  120. ==============
  121.  
  122. None :-)
  123.  
  124. The current window will lose focus each time ICE starts this or any other
  125. REXX filter under OS/2 Warp Version 4, due to a bug in Presentation Manager.
  126. (Windows launched minimized still take the focus away from the foreground
  127. window, even though they should not.)
  128.  
  129. It doesn't catch everything.  Somewhat ironically, it's *not* the professional
  130. ooze-spewers that it misses:  despite everything, they're all rather dumb and
  131. their messages are easily detected.  It's the amateurs who are most likely to
  132. slip things past UCEi, because they're not following any rules and generally
  133. don't know what rules to follow (or ignore!).  A future version may add
  134. pattern support and body scanning to help foil these (or on the off chance
  135. that the "pros" discover a functioning neuron between themselves).
  136.  
  137. It uses a single database across all accounts.  This doesn't strike me as a
  138. problem, but it could relatively easily be changed.
  139.  
  140. Don't bother using it as a news filter; REXX filters can only be used as
  141. inbound filters, whereas news is almost always run in "manual mode" where
  142. only the headers are downloaded initially.  This makes UCEi useless for news,
  143. although the beginnings of news support are in the script.
  144.  
  145.  
  146. DISCLAIMER
  147. ==========
  148.  
  149. Any attempt to abuse the First Amendment of the U.S. Constitution by
  150. a known UCE producer in order to suppress this program or its databases
  151. will be treated as an attempt to deny the author his First Amendment rights,
  152. *and by extension* the First Amendment rights of all Internet users.
  153.  
  154. And yes, in extreme cases, this *will* include First Amendment challenges
  155. against any UCE producers who so threaten the author.
  156.  
  157. Additional warning:  it is quite obvious, even to lawyers paid to convince
  158. courts otherwise, that nobody is forcing anyone to use this script or the
  159. databases provided with it.  That (il)legal fiction won't hold water, so
  160. don't waste my or anyone else's time with that particular lie unless you
  161. want an additional lawsuit for libel.
  162.  
  163. I trust I have made my position clear.  Yours is already transparent.  Don't
  164. push your luck.
  165.  
  166.  
  167. CONTACT INFORMATION
  168. ===================
  169.  
  170. Brandon S. Allbery KF8NH
  171. bsa@kf8nh.apk.net
  172.