You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2004/05/06 06:11:21 UTC

svn commit: rev 10537 - incubator/spamassassin/trunk/rules

Author: jm
Date: Wed May  5 21:11:20 2004
New Revision: 10537

Modified:
   incubator/spamassassin/trunk/rules/70_testing.cf
Log:
merged in newer version of antidrug.cf: v0.65

Modified: incubator/spamassassin/trunk/rules/70_testing.cf
==============================================================================
--- incubator/spamassassin/trunk/rules/70_testing.cf	(original)
+++ incubator/spamassassin/trunk/rules/70_testing.cf	Wed May  5 21:11:20 2004
@@ -59,10 +59,12 @@
 header T_ADVERT_CODE2A	Subject =~ /\w.*\bA\s*D\s*V\b/
 header T_ADVERT_CODE2B	Subject =~ /\w.*\b(?!ADV\.)A\s*D\s*V\b/
 
+###########################################################################
 # Matt Kettler's antidrug.cf ruleset.  bug 3009
 # should probably move good ones from here directly into 20_drugs.cf?
 # or a new rules file, 20_antidrug.cf?
-# The anti-drug ruleset
+#
+#The anti-drug ruleset
 # authored by Matt Kettler for SpamAssassin
 #
 # This ruleset is intended to detect common "pill spam"
@@ -71,7 +73,8 @@
 # environment. If in doubt, adjust the scores of all the rules
 # to 0.01 and see if they fire off on your daily nonspam.
 #
-# rev 0.63 04/16/2004
+#
+# rev 0.65 04/28/2004
 #
 # the current home of this ruleset is
 # http://mywebpages.comcast.net/mkettler/sa/antidrug.cf
@@ -91,50 +94,51 @@
 
 # Note: many of the drugs named in here are brand-names and are trademarked.
 # All trademarks are property of the respective owners.
-
-
 #current best char substitutions
-# i - [i1!|l\xEC\xED\xEE\xEF]
-# a - [a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@]  
-# e - [e3\xE9\xEA\xEB] -> [e3\xE8\xE9\xEA\xEB]
-# o - [o0\xF3]
-# u - [u\xB5\xFB]
+# i - [i1!|l\xEC-\xEF]
+# a - [a4\xE0-\xE6@]  
+# e - [e3\xE8-\xEB]
+# o - [o0\xF2-\xF6]
+# u - [u\xB5\xF9-\xFC] 
+
 # v - (?:\\\/|V)
 # l - [l!|1]
-
-#maledysfunction drugs
-
 #plain Viagra and Cialis (used in obfu detection)
 body __DRUGS_ERECTILE_V	/\bViagra\b/i
 body __DRUGS_ERECTILE_C	/\bCialis\b/i
 body __DRUGS_ERECTILE_L	/\bLevitra\b/i
 #  obfu/plain and mis-spelled Viagra variants
-body __DRUGS_ERECTILE1	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@][_\W]{0,3}g[_\W]{0,3}r[_\W]{0,3}[a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@][_\W]{0,3}x?[_\W]{0,3}(?:\b|\s)/i
+body __DRUGS_ERECTILE1	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[ij1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[a40\xE0-\xE6@][_\W]{0,3}[xyz]?[gj][_\W]{0,3}r[_\W]{0,3}[a40\xE0-\xE6@][_\W]{0,3}x?[_\W]{0,3}(?:\b|\s)/i
 body __DRUGS_ERECTILE2	/\bV(?:agira|igara|iaggra|iaegra)\b/i
 #  cialis variants (spelling correct now)
-body __DRUGS_ERECTILE3 /(?:\b|\s)[_\W]{0,3}C[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@][_\W]{0,3}[l!|1][_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}s[_\W]{0,3}(?:\b|\s)/i
+# note: the rather strange pre-amble is to avoid FPs on french words containing high-ascii chars surrounding
+# "cialis".
+body __DRUGS_ERECTILE3 /(?:\A|[\s\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f])[_\W]{0,3}C[_\W]{0,3}[ij1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}l?[l!|1][_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}s[_\W]{0,3}(?:\b|\s)/i
 body __DRUGS_ERECTILE4	/\bC(?:alis|ilias|ilais)\b/i
 # generic names
-body __DRUGS_ERECTILE5	/\bsildenafil citrate\b/i
+#sildenafil citrate
+body __DRUGS_ERECTILE5	/\b_{0,3}s[_\W]?[i1!|l\xEC-\xEF][_\W]?l[_\W]?d[_\W]?[e3\xE8-\xEB][_\W]?n[_\W]?[a4\xE0-\xE6@][_\W]?f[_\W]?[i1!|l\xEC-\xEF][_\W]?l c[_\W]?[i1!|l\xEC-\xEF][_\W]?t[_\W]?r[_\W]?[a4\xE0-\xE6@][_\W]?t[_\W]?[e3\xE8-\xEB]_{0,3}(?:\b|\s)/i
 #Levitra
-body __DRUGS_ERECTILE6	/\bL\W?[e3\xE8\xE9\xEA\xEB]\W?(?:\\\/|V)\W?[i1!|l\xEC\xED\xEE\xEF]\W?t\W?r\W?[a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@]\W?(?:\b|\s)/i
+body __DRUGS_ERECTILE6	/\b_{0,3}L[_\W]?[e3\xE8-\xEB][_\W]?(?:\\\/|V)[_\W]?[i1!|l\xEC-\xEF][_\W]?t[_\W]?r[_\W]?[a4\xE0-\xE6@][_\W]?(?:\b|\s)/i
 #tadalafil
-body __DRUGS_ERECTILE8 /\bT\W?[a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@]\W?d\W?[a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@]\W?l\W?[a4\xE0\xE1\xE2\xE3\xE4\xE5\xE6@]\W?f\W?[i1!|l\xEC\xED\xEE\xEF]\W?l\b/i
+body __DRUGS_ERECTILE8 /\b_{0,3}T[_\W]?[a4\xE0-\xE6@][_\W]?d[_\W]?[a4\xE0-\xE6@][_\W]?l[_\W]?[a4\xE0-\xE6@][_\W]?f[_\W]?[i1!|l\xEC-\xEF][_\W]?l_{0,3}\b/i
 # gapped/obfu viagra variants using funky html-style character codes
-rawbody __DRUGS_ERECTILE10   /\bV\W?(?:i|\&iuml\;)\W?(?:a|\&agrave|\&aring)\;?\W?g\W?r\W?(?:a|\&agrave|\&aring)\b/i
-body __DRUGS_ERECTILE11 		/\ba[_\W]{0,3}p[_\W]{0,3}c[_\W]{0,3}a[_\W]{0,3}l[_\W]{0,3}i[_\W]{0,3}s\b/i
+rawbody __DRUGS_ERECTILE10   /\b_{0,3}V[_\W]?(?:i|\&iuml\;)[_\W]?(?:a|\&agrave|\&aring)\;?[_\W]?g[_\W]?r[_\W]?(?:a|\&agrave|\&aring)\b/i
+#apcalis - a generic of cialis
+body __DRUGS_ERECTILE11 		/(?:\b|\s)_{0,3}[a4\xE0-\xE6@][_\W]{0,3}p[_\W]{0,3}c[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}[l!|1][_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}s_{0,3}\b/i
 meta T_DRUGS_ERECTILE (__DRUGS_ERECTILE1 || __DRUGS_ERECTILE2 || __DRUGS_ERECTILE3 || __DRUGS_ERECTILE4 ||__DRUGS_ERECTILE5 ||__DRUGS_ERECTILE6 ||__DRUGS_ERECTILE7 ||__DRUGS_ERECTILE8 || __DRUGS_ERECTILE10 ||__DRUGS_ERECTILE11 )
-describe T_DRUGS_ERECTILE 	Contains a ref to an E.D. drug
+describe T_DRUGS_ERECTILE 	Refers to an erectile drug
 meta T_DRUGS_ERECTILE_OBFU ( (__DRUGS_ERECTILE1 &&!__DRUGS_ERECTILE_V) || (__DRUGS_ERECTILE3 && !__DRUGS_ERECTILE_C) ||__DRUGS_ERECTILE2 || (__DRUGS_ERECTILE10 &&!__DRUGS_ERECTILE_V) || (__DRUGS_ERECTILE6 &&!__DRUGS_ERECTILE_L))
-describe T_DRUGS_ERECTILE_OBFU 	Contains an obfuscated ref to an E.D. drug
+describe T_DRUGS_ERECTILE_OBFU 	Obfuscated reference to an erectile drug
+
  
 
 #diet
 body __DRUGS_DIET_PHEN	/\bphentermine\b/i
 #phentermine
-body __DRUGS_DIET1	/(?:\b|\s)[_\W]{0,3}p[_\W]{0,3}h[_\W]{0,3}[e3\xE9\xEA\xEB][_\W]{0,3}n[_\W]{0,3}t[_\W]{0,3}[e3\xE9\xEA\xEB][_\W]{0,3}r[_\W]{0,3}m[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}n[_\W]{0,3}[e3\xE9\xEA\xEB][_\W]{0,3}(?:\b|\s)/i
+body __DRUGS_DIET1	/(?:\b|\s)[_\W]{0,3}p[_\W]{0,3}h[_\W]{0,3}[e3\xE8-\xEB][_\W]{0,3}n[_\W]{0,3}t[_\W]{0,3}[e3\xE8-\xEB][_\W]{0,3}r[_\W]{0,3}m[_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}n[_\W]{0,3}[e3\xE8-\xEB][_\W]{0,3}(?:\b|\s)/i
 #ionamin
-body __DRUGS_DIET2	/\bionamin\b/i
+body __DRUGS_DIET2	/(?:\b|\s)_{0,3}[i1!|l\xEC-\xEF][_\W]?o[_\W]?n[_\W]?[a4\xE0-\xE6@][_\W]?m[_\W]?[i1!|l\xEC-\xEF][_\W]?n_{0,3}\b/i
 #bontril
 body __DRUGS_DIET3	/\bbontril\b/i
 #phendimetrazine
@@ -142,116 +146,121 @@
 #diethylpropion, generic of Tenuate, uncommon in spam
 body __DRUGS_DIET5	/\bdiethylpropion\b/i
 #Meridia
-body __DRUGS_DIET6	/(?:\b|\s)[_\W]{0,3}M[_\W]{0,3}[e3\xE9\xEA\xEB][_\W]{0,3}r[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}d[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}(?:\b|\s)/i
+body __DRUGS_DIET6	/(?:\b|\s)[_\W]{0,3}M[_\W]{0,3}[e3\xE8-\xEB][_\W]{0,3}r[_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}d[_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}(?:\b|\s)/i
 #tenuate
-body __DRUGS_DIET7	/\btenuate\b/i
+body __DRUGS_DIET7	/\b_{0,3}t[_\W]?[e3\xE8-\xEB][_\W]?n[_\W]?u[_\W]?a[_\W]?t[_\W]?[e3\xE8-\xEB]_{0,3}(?:\b|\s)/i
 #didrex
-body __DRUGS_DIET8	/\bdidrex\b/i
+body __DRUGS_DIET8	/\b_{0,3}d[_\W]?[i1!|l\xEC-\xEF][_\W]?d[_\W]?r[_\W][e3\xE8-\xEB[_\W]?xx?_{0,3}\b/i
 #adipex
-body __DRUGS_DIET9	/\ba\W?d\W?[i1!|l\xEC\xED\xEE\xEF]\W?p\W?[e3\xE9\xEA\xEB]\W?x\b/i
+body __DRUGS_DIET9	/\b_{0,3}a[_\W]?d[_\W]?[i1!|l\xEC-\xEF][_\W]?p[_\W]?[e3\xE8-\xEB][_\W]?x_{0,3}\b/i
 #xenical
-body __DRUGS_DIET10	/\bx\W?[e3\xE9\xEA\xEB]\W?n\W?[i1!|l\xEC\xED\xEE\xEF]\W?c\W?[a4\xE1\xE2\xE3@]\W?l\b/i
+body __DRUGS_DIET10	/\b_{0,3}x?x[_\W]?[e3\xE8-\xEB][_\W]?n[_\W]?[i1!|l\xEC-\xEF][_\W]?c[_\W]?[a4\xE0-\xE6@][_\W]?l_{0,3}\b/i
 meta T_DRUGS_DIET (__DRUGS_DIET1 || __DRUGS_DIET2 || __DRUGS_DIET3 || __DRUGS_DIET4 ||__DRUGS_DIET5 ||__DRUGS_DIET6 ||__DRUGS_DIET7 ||__DRUGS_DIET8 || __DRUGS_DIET9 || __DRUGS_DIET10 )
-describe T_DRUGS_DIET 	Contains a ref to an diet drug
+describe T_DRUGS_DIET 	Refers to a diet drug
 meta T_DRUGS_DIET_OBFU (__DRUGS_DIET1 && !__DRUGS_DIET_PHEN)
-describe T_DRUGS_DIET_OBFU	Contains an obfuscated ref to an diet drug	
+describe T_DRUGS_DIET_OBFU	Obfuscated reference to a diet drug	
 
 # pain relief drugs
 body __DRUGS_PAIN_VICO	/vicodin/i
 body __DRUGS_PAIN_VIOXX	/vioxx/i
-body __DRUGS_PAIN1	/\bhydrocodone\b/i
-body __DRUGS_PAIN2	/\bc[o0\xF3]deine\b/i
+body __DRUGS_PAIN_FIO	/fioricet/i
+body __DRUGS_PAIN1	/\b_{0,3}h[_\W]?y[_\W]?d[_\W]?r[_\W]?[o0\xF2-\xF6][_\W]?c[_\W]?[o0\xF2-\xF6][_\W]?d[_\W]?[o0\xF2-\xF6][_\W]?n[_\W]?e_{0,3}\b/i
+body __DRUGS_PAIN2	/\b_{0,3}c[o0\xF2-\xF6]deine_{0,3}\b/i
 #ultram
-body __DRUGS_PAIN3	/(?:\b|\s)[_\W]{0,3}[u\xB5\xFB][_\W]{0,3}l[_\W]{0,3}t[_\W]{0,3}r[_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}m\b/i
+body __DRUGS_PAIN3	/(?:\b|\s)[_\W]{0,3}[u\xB5\xF9-\xFC][_\W]{0,3}l[_\W]{0,3}t[_\W]{0,3}r[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}m_{0,3}\b/i
 #vicodin
-body __DRUGS_PAIN4	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}c[_\W]{0,3}[o0\xF3][_\W]{0,3}d[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}ns?[_\W]{0,3}(?:\b|\s)/i
-body __DRUGS_PAIN5	/\btramadol\b/i
+body __DRUGS_PAIN4	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}c[_\W]{0,3}[o0\xF2-\xF6][_\W]{0,3}d[_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}ns?[_\W]{0,3}(?:\b|\s)/i
+#tramadol
+body __DRUGS_PAIN5	/\b_{0,3}t[_\W]?r[_\W]?[a4\xE0-\xE6@][_\W]?m[_\W]?[a4\xE0-\xE6@][_\W]?d[_\W]?[o0\xF2-\xF6][_\W]?[l!|1]_{0,3}\b/i
 # ultracet, uncommon in spam.
-body __DRUGS_PAIN6	/\bultracet\b/i
-body __DRUGS_PAIN7	/\bfioricet\b/i
+body __DRUGS_PAIN6	/\b_{0,3}u[_\W]?l[_\W]?t[_\W]?r[_\W]?a[_\W]?c[_\W]?e[_\W]?t_{0,3}\b/i
+#fioricet 
+body __DRUGS_PAIN7	/\b_{0,3}f[_\W]?[i1!|l\xEC-\xEF][_\W]?[o0\xF2-\xF6][_\W]?r[_\W]?[i1!|l\xEC-\xEF][_\W]?c[_\W]?[e3\xE8-\xEB][_\W]?[t7]_{0,3}\b/i
 #celebrex
-body __DRUGS_PAIN8	/\bc\W?[e3\xE9\xEA\xEB]\W?l\W?[e3\xE9\xEA\xEB]\W?b\W?r\W?[e3\xE9\xEA\xEB]\W?x\b/i
+body __DRUGS_PAIN8	/\b_{0,3}c[_\W]?[e3\xE8-\xEB][_\W]?l[_\W]?[e3\xE8-\xEB][_\W]?b[_\W]?r[_\W]?[e3\xE8-\xEB][_\W]?x_{0,3}\b/i
 #imitrex
-body __DRUGS_PAIN9	/(?:\b|\s)[i1!|l\xEC\xED\xEE\xEF]m[i1!|l\xEC\xED\xEE\xEF]tr[e3\xE9\xEA\xEB]x\b/i
+body __DRUGS_PAIN9	/(?:\b|\s)_{0,3}[i1!|l\xEC-\xEF]m[i1!|l\xEC-\xEF]tr[e3\xE8-\xEB]x_{0,3}\b/i
 #vioxx 
-body __DRUGS_PAIN10	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[o0\xF3][_\W]{0,3}x[_\W]{0,3}x\b/i
+body __DRUGS_PAIN10	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}[o0\xF2-\xF6][_\W]{0,3}x[_\W]{0,3}xx?_{0,3}\b/i
 #zebutal, uncommon in spam.
 body __DRUGS_PAIN11	/\bzebutal\b/i
 #esgic plus, uncommon in spam.
 body __DRUGS_PAIN12	/\besgic plus\b/i
 #Darvon - a prescription narcotic
-body __DRUGS_PAIN13	/\bD\W?[a4\xE1\xE2\xE3@]\W?r\W?v\W?[o0\xF3]\W?n\b/i
-meta T_DRUGS_PAIN (__DRUGS_PAIN1 || __DRUGS_PAIN2 || __DRUGS_PAIN3 || __DRUGS_PAIN4 ||__DRUGS_PAIN5 ||__DRUGS_PAIN6 ||__DRUGS_PAIN7 ||__DRUGS_PAIN8 || __DRUGS_PAIN9 || __DRUGS_PAIN10|| __DRUGS_PAIN11 || __DRUGS_PAIN12 || __DRUGS_PAIN13)
-describe T_DRUGS_PAIN 	Contains a ref to a prescription pain relief drug
-meta T_DRUGS_PAIN_OBFU (( __DRUGS_PAIN4 &&! __DRUGS_PAIN_VICO) || ( __DRUGS_PAIN10 &&!__DRUGS_PAIN_VIOXX))
-describe T_DRUGS_PAIN_OBFU 	Has obfuscated ref to a pain relief drug
+body __DRUGS_PAIN13	/\bD[_\W]?[a4\xE0-\xE6@][_\W]?r[_\W]?v[_\W]?[o0\xF2-\xF6][_\W]?n\b/i
+body __DRUGS_PAIN14  /N[o0\xF2-\xF6]rc[o0\xF2-\xF6]/i
+meta T_DRUGS_PAIN (__DRUGS_PAIN1 || __DRUGS_PAIN2 || __DRUGS_PAIN3 || __DRUGS_PAIN4 ||__DRUGS_PAIN5 ||__DRUGS_PAIN6 ||__DRUGS_PAIN7 ||__DRUGS_PAIN8 || __DRUGS_PAIN9 || __DRUGS_PAIN10|| __DRUGS_PAIN11 || __DRUGS_PAIN12 || __DRUGS_PAIN13 ||__DRUGS_PAIN14)
+describe T_DRUGS_PAIN 	Refers to a pain relief drug
+meta T_DRUGS_PAIN_OBFU (( __DRUGS_PAIN4 &&! __DRUGS_PAIN_VICO) || ( __DRUGS_PAIN10 &&!__DRUGS_PAIN_VIOXX) || ( __DRUGS_PAIN7 &&!__DRUGS_PAIN_FIO))
+describe T_DRUGS_PAIN_OBFU 	Obfuscated reference to a pain relief drug
 #sleep aids
 #ativan and lorazepam already under anxiety
 #Ambien, brand of zolpidem tartrate
-body __DRUGS_SLEEP1	/(?:\b|\s)[_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}m[_\W]{0,3}b[_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[e3\xE9\xEA\xEB][_\W]{0,3}n[_\W]{0,3}(?:\b|\s)/i
+body __DRUGS_SLEEP1	/(?:\b|\s)[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}m[_\W]{0,3}b[_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}[e3\xE8-\xEB][_\W]{0,3}n[_\W]{0,3}(?:\b|\s)/i
 #sonata, brand of zaleplon
-body __DRUGS_SLEEP2	/(?:\b|\s)[_\W]{0,3}S[_\W]{0,3}[o0\xF3][_\W]{0,3}n[_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}t[_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}(?:\b|\s)/i
+body __DRUGS_SLEEP2	/(?:\b|\s)[_\W]{0,3}S[_\W]{0,3}[o0\xF2-\xF6][_\W]{0,3}n[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}t[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}(?:\b|\s)/i
 #Restoril, brand of temazepam, uncommon in spam
-body __DRUGS_SLEEP3	/\bRestoril\b/i
+body __DRUGS_SLEEP3	/\b_{0,3}R[_\W]?[e3\xE8-\xEB][_\W]?s[_\W]?t[_\W]?[o0\xF2-\xF6][_\W]?r[_\W]?i[_\W]?l_{0,3}\b/i
 #Halcion, brand of triazolam
-body __DRUGS_SLEEP4	/\bHalcion\b/i
+body __DRUGS_SLEEP4	/\b_{0,3}H[_\W]?[a4\xE0-\xE6@][_\W]?l[_\W]?c[_\W]?i[_\W]?[o0\xF2-\xF6][_\W]?n_{0,3}\b/i
 
 meta T_DRUGS_SLEEP (__DRUGS_SLEEP1 || __DRUGS_SLEEP2 || __DRUGS_SLEEP3 ||__DRUGS_SLEEP4)
-describe T_DRUGS_SLEEP 	Contains a ref to a prescription sleep aid drug
+describe T_DRUGS_SLEEP 	Refers to a sleep aid drug
 
 #muscle relaxants
 #soma
-body __DRUGS_MUSCLE1	/(?:\b|\s)[_\W]{0,3}s[_\W]{0,3}[o0\xF3][_\W]{0,3}m[_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}(?:\b|\s)/i
+body __DRUGS_MUSCLE1	/(?:\b|\s)[_\W]{0,3}s[_\W]{0,3}[o0\xF2-\xF6][_\W]{0,3}m[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}(?:\b|\s)/i
 #cyclobenzaprine
-body __DRUGS_MUSCLE2	/\bcycl[o0\xF3]b[e3\xE9\xEA\xEB]nz[a4\xE1\xE2\xE3@]pr[i1!|l\xEC\xED\xEE\xEF]n[e3\xE9\xEA\xEB](?:\b|\s)/i
+body __DRUGS_MUSCLE2	/\b_{0,3}cycl[o0\xF2-\xF6]b[e3\xE8-\xEB]nz[a4\xE0-\xE6@]pr[i1!|l\xEC-\xEF]n[e3\xE8-\xEB]_{0,3}(?:\b|\s)/i
 #flexeril
-body __DRUGS_MUSCLE3	/\bf\W?l\W?[e3\xE9\xEA\xEB]\W?x\W?[e3\xE9\xEA\xEB]\W?r\W?[i1!|l\xEC\xED\xEE\xEF]\W?l\b/i
+body __DRUGS_MUSCLE3	/\b_{0,3}f[_\W]?l[_\W]?[e3\xE8-\xEB][_\W]?x[_\W]?[e3\xE8-\xEB][_\W]?r[_\W]?[i1!|l\xEC-\xEF]_{0,3}[_\W]?l_{0,3}\b/i
 #zanaflex
-body __DRUGS_MUSCLE4	/\bzanaflex\b/i
+body __DRUGS_MUSCLE4	/\b_{0,3}z[_\W]?a[_\W]?n[_\W]?a[_\W]?f[_\W]?l[_\W]?e[_\W]?x_{0,3}\b/i
 #skelaxin
 body __DRUGS_MUSCLE5	/\bskelaxin\b/i
 meta T_DRUGS_MUSCLE (__DRUGS_MUSCLE1 || __DRUGS_MUSCLE2 || __DRUGS_MUSCLE3 || __DRUGS_MUSCLE4 ||__DRUGS_MUSCLE5 )
-describe T_DRUGS_MUSCLE 	Contains a ref to a prescription muscle relaxant
+describe T_DRUGS_MUSCLE 	Refers to a muscle relaxant
 #anti-anxiety
+#these two rules are used to differentiate between obfu and non-obfu spellings
 body __DRUGS_ANXIETY_XAN	/xan[ae]x/i
 body __DRUGS_ANXIETY_VAL	/valium/i
 #xanax - note: second a sometimes done as e.
-body __DRUGS_ANXIETY1	/(?:\b|\s)[_\W]{0,3}x[_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}n[_\W]{0,3}[ea4\xE1\xE2\xE3@][_\W]{0,3}x\b/i
+body __DRUGS_ANXIETY1	/(?:\b|\s)[_\W]{0,3}x?x[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}n[_\W]{0,3}[ea4\xE1\xE2\xE3@][_\W]{0,3}xx?_{0,3}\b/i
 #alprazolam
-body __DRUGS_ANXIETY2	/\balprazolam\b/i
+body __DRUGS_ANXIETY2	/\bAlprazolam\b/i
 #valium
-body __DRUGS_ANXIETY3	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[a4\xE1\xE2\xE3@][_\W]{0,3}[l|][_\W]{0,3}[i1!|l\xEC\xED\xEE\xEF][_\W]{0,3}[u\xB5\xFB][_\W]{0,3}m\b/i
-#diezepam, generic of valium
-body __DRUGS_ANXIETY4	/\bd\W?[i1!|l\xEC\xED\xEE\xEF]\W?[e3\xE9\xEA\xEB]\W?z\W?[ea3\xE9\xEA\xEB]\W?p\W?[a4\xE1\xE2\xE3@]\W?m\b/i
+body __DRUGS_ANXIETY3	/(?:\b|\s)[_\W]{0,3}(?:\\\/|V)[_\W]{0,3}[a4\xE0-\xE6@][_\W]{0,3}[l|][_\W]{0,3}[i1!|l\xEC-\xEF][_\W]{0,3}[u\xB5\xF9-\xFC][_\W]{0,3}m\b/i
+#diazepam, generic of valium
+body __DRUGS_ANXIETY4	/\b_{0,3}D[_\W]?[i1!|l\xEC-\xEF][_\W]?[a4\xE0-\xE6@][_\W]?z[_\W]?[ea3\xE9\xEA\xEB][_\W]?p[_\W]?[a4\xE0-\xE6@][_\W]?m_{0,3}\b/i
 #ativan
-body __DRUGS_ANXIETY5	/(?:\b|\s)[a4\xE1\xE2\xE3@]\W?t\W?[i1!|l\xEC\xED\xEE\xEF]\W?v\W?[a4\xE1\xE2\xE3@]\W?n\b/i
+body __DRUGS_ANXIETY5	/(?:\b|\s)[a4\xE0-\xE6@][_\W]?t[_\W]?[i1!|l\xEC-\xEF][_\W]?v[_\W]?[a4\xE0-\xE6@][_\W]?n_{0,3}\b/i
 #lorazepam - generic of ativan, uncommon in spam
-body __DRUGS_ANXIETY6	/\bl\W?[o0\xF3]\W?r\W?[a4\xE1\xE2\xE3@]\W?z\W?[e3\xE9\xEA\xEB]\W?p\W?[a4\xE1\xE2\xE3@]\W?m\b/i
+body __DRUGS_ANXIETY6	/\b_{0,3}l[_\W]?[o0\xF2-\xF6][_\W]?r[_\W]?[a4\xE0-\xE6@][_\W]?z[_\W]?[e3\xE8-\xEB][_\W]?p[_\W]?[a4\xE0-\xE6@][_\W]?m_{0,3}\b/i
 #clonazepam, generic.
-body __DRUGS_ANXIETY7	/\bc\W?l\W?[o0\xF3]\W?n\W?[a4\xE1\xE2\xE3@]\W?z\W?e\W?p\W?[a4\xE1\xE2\xE3@]\W?m\b/i
+body __DRUGS_ANXIETY7	/\b_{0,3}c[_\W]?l[_\W]?[o0\xF2-\xF6][_\W]?n[_\W]?[a4\xE0-\xE6@][_\W]?z[_\W]?e[_\W]?p[_\W]?[a4\xE0-\xE6@][_\W]?m\b/i
 #klonopin, brand of clonazepam, uncommon in spam
 body __DRUGS_ANXIETY8	/\bklonopin\b/i
 #rivotril, brand of clonazepam, uncommon in spam
 body __DRUGS_ANXIETY9	/\brivotril\b/i
 meta T_DRUGS_ANXIETY (__DRUGS_ANXIETY1 || __DRUGS_ANXIETY2 || __DRUGS_ANXIETY3 || __DRUGS_ANXIETY4 ||__DRUGS_ANXIETY5 ||__DRUGS_ANXIETY6 ||__DRUGS_ANXIETY7 ||__DRUGS_ANXIETY8 || __DRUGS_ANXIETY9 )
-describe T_DRUGS_ANXIETY 	Has ref to an anxiety control drug
+describe T_DRUGS_ANXIETY 	Refers to an anxiety control drug
 meta T_DRUGS_ANXIETY_OBFU ( (__DRUGS_ANXIETY1 &&! __DRUGS_ANXIETY_XAN) || (__DRUGS_ANXIETY3 && !__DRUGS_ANXIETY_VAL))
-describe T_DRUGS_ANXIETY_OBFU 	Has obfuscated ref to an anxiety control drug
+describe T_DRUGS_ANXIETY_OBFU 	Obfuscated reference to an anxiety control drug
 #antidepressant
 #prozac
-body __DRUGS_DEPRESSION1	/\bp\W?r\W?[o0\xF3]\W?z\W?[a4\xE1\xE2\xE3@]\W?c\b/i
+body __DRUGS_DEPRESSION1	/\b_{0,3}p[_\W]?r[_\W]?[o0\xF2-\xF6][_\W]?z[_\W]?[a4\xE0-\xE6@][_\W]?c_{0,3}\b/i
 #fluoxetine 
 body __DRUGS_DEPRESSION2	/\bfluoxetine\b/i
 #buspar
 body __DRUGS_DEPRESSION3	/\bbuspar\b/i
 #paxil
-body __DRUGS_DEPRESSION4	/\bp\W?[a4\xE1\xE2\xE3@]\W?x\W?[i1!|l\xEC\xED\xEE\xEF]\W?[l!|1](?:\b|\s)/i
+body __DRUGS_DEPRESSION4	/\b_{0,3}p[_\W]?[a4\xE0-\xE6@][_\W]?x[_\W]?[i1!|l\xEC-\xEF][_\W]?[l!|1]_{0,3}(?:\b|\s)/i
 #wellbutrin
 body __DRUGS_DEPRESSION5	/\bwellbutrin\b/i
 #lexapro
 body __DRUGS_DEPRESSION6	/\blexapro\b/i
 #zoloft
-body __DRUGS_DEPRESSION7	/\bz\W?[o0\xF3]\W?l\W?[o0\xF3]\W?f\W?t\b/i
+body __DRUGS_DEPRESSION7	/\b_{0,3}z[_\W]?[o0\xF2-\xF6][_\W]?l[_\W]?[o0\xF2-\xF6][_\W]?f[_\W]?t_{0,3}\b/i
 #elavil
 body __DRUGS_DEPRESSION8	/\belavil\b/i
 #sarafem
@@ -259,32 +268,29 @@
 #remeron
 body __DRUGS_DEPRESSION10	/\bremeron\b/i
 meta T_DRUGS_DEPRESSION (__DRUGS_DEPRESSION1 || __DRUGS_DEPRESSION2 || __DRUGS_DEPRESSION3 || __DRUGS_DEPRESSION4 ||__DRUGS_DEPRESSION5 ||__DRUGS_DEPRESSION6 ||__DRUGS_DEPRESSION7 ||__DRUGS_DEPRESSION8 || __DRUGS_DEPRESSION9 || __DRUGS_DEPRESSION10)
-describe T_DRUGS_DEPRESSION 	Contains a ref to a prescription antidepressant
+describe T_DRUGS_DEPRESSION 	Refers to an antidepressant
+
+body T_DRUGS_SMEAR1		/(?:Viagra|Valium|Xanax|Soma|Cialis){2}/i
+describe T_DRUGS_SMEAR1	Two or more drugs crammed together into one word
 
 #search for "weird" combinations that are unlikely to 
 #be prescribed together for a single event, thus unlikely to be
 #mentioned in the same email, except an online pharmacy ad.
-# (jm: this is ridiculous.  I've had to make these descriptions unreadable
-# because of the absurd 50-char limit. grrr!!)
 meta T_DRUGS_DIET_EREC	(T_DRUGS_ERECTILE && T_DRUGS_DIET)
-describe T_DRUGS_DIET_EREC 	Refers to both an E.D. and a diet drug
+describe T_DRUGS_DIET_EREC 	Refers to both an erectile and a diet drug
 meta T_DRUGS_PAIN_EREC	(T_DRUGS_ERECTILE && T_DRUGS_PAIN)
-describe T_DRUGS_PAIN_EREC 	Refers to both an E.D. and a painkiller
+describe T_DRUGS_PAIN_EREC 	Refers to both an erectile and a painkiller
 meta T_DRUGS_DEPR_EREC	(T_DRUGS_ERECTILE && T_DRUGS_DEPRESSION)
-describe T_DRUGS_DEPR_EREC 	Refers to both an E.D. and antidepressant
+describe T_DRUGS_DEPR_EREC 	Refers to both an erectile and an antidepressant
 meta T_DRUGS_ANXIETY_EREC (T_DRUGS_ERECTILE && T_DRUGS_ANXIETY)
-describe T_DRUGS_ANXIETY_EREC 	Refers to both an E.D. and anti-anxiety drug
+describe T_DRUGS_ANXIETY_EREC 	Refers to both an erectile and an anxiety drug
 meta T_DRUGS_DIET_PAIN	(T_DRUGS_DIET && T_DRUGS_PAIN)
-describe T_DRUGS_DIET_PAIN Refers to diet drugs and painkillers
+describe T_DRUGS_DIET_PAIN Refers to both a diet drug and a pain drug
 meta T_DRUGS_SLEEP_EREC	(T_DRUGS_ERECTILE && T_DRUGS_SLEEP)
-describe T_DRUGS_SLEEP_EREC 	Refers to an E.D. and prescription sleep aid
+describe T_DRUGS_SLEEP_EREC 	Refers to both an erectile and a sleep aid drug
 
-# Justin, if it's hard to describe, maybe it's not the right rule concept...
-# try a more natural meta rule and see how it works
-# the idea is to also see if the weird combinations are really needed,
-# I'm not really sure it's lower FP-wise anyway since someone could be
-# legitimately talking about bad drug interactions or something else
-# non-weird.
+# jm: not sure about this, TBH.  note that Matt does state:
+# "don't use this rule with a sum-total that fires off for 3 or less"
 meta T_DRUGS_TWO	(T_DRUGS_ERECTILE + T_DRUGS_DIET + T_DRUGS_PAIN + T_DRUGS_SLEEP + T_DRUGS_MUSCLE + T_DRUGS_ANXIETY + T_DRUGS_DEPRESSION == 2)
 describe T_DRUGS_TWO 	Refers to two different kinds of drugs
 meta T_DRUGS_THREE	(T_DRUGS_ERECTILE + T_DRUGS_DIET + T_DRUGS_PAIN + T_DRUGS_SLEEP + T_DRUGS_MUSCLE + T_DRUGS_ANXIETY + T_DRUGS_DEPRESSION == 3)
@@ -293,9 +299,10 @@
 # note: some 3 item combos are "normal" ie: a patient might legitimately
 # be prescribed depression, anxiety and sleep aid drugs all at once.
 # however, I know of no "normal" 4-item combinations.
-# don't use this rule with a sum-total that fires off for 3 or less
-meta T_DRUGS_MANY	(T_DRUGS_ERECTILE + T_DRUGS_DIET + T_DRUGS_PAIN + T_DRUGS_SLEEP + T_DRUGS_MUSCLE + T_DRUGS_ANXIETY + T_DRUGS_DEPRESSION > 3)
-describe T_DRUGS_MANY 	Refers to many different kinds of drugs
+meta T_DRUGS_MANYKINDS	(T_DRUGS_ERECTILE + T_DRUGS_DIET + T_DRUGS_PAIN + T_DRUGS_SLEEP + T_DRUGS_MUSCLE + T_DRUGS_ANXIETY + T_DRUGS_DEPRESSION >3)
+describe T_DRUGS_MANYKINDS 	Refers to at least four kinds of drugs
+
+###########################################################################
 
 # I'm curious, may help explain more ALL_TRUSTED fps
 body T_SA_MARKED_UP     /Spam detection software, running on the system /