diff --git a/bms.py b/bms.py
index 2a6e4ede2f44ed489f89fd80d2a5de2f083b3208..f71d7ca227642ee1a1959e490ee658aabb4cfc00 100644
--- a/bms.py
+++ b/bms.py
@@ -1,6 +1,9 @@
 #!/usr/bin/env python
 # A simple milter that has grown quite a bit.
 # $Log$
+# Revision 1.113  2007/09/25 16:37:26  customdesigned
+# Tested on RH7
+#
 # Revision 1.112  2007/09/13 14:51:03  customdesigned
 # Report domain on reputation reject.
 #
@@ -1179,7 +1182,14 @@ class bmsMilter(Milter.Milter):
           # original sender (encoded in Message-ID) is blacklisted
 
     elif lname == 'from':
-      name,email = parseaddr(val)
+      fname,email = parseaddr(val)
+      # check for porn keywords
+      lval = fname.lower().strip()
+      for w in porn_words:
+        if lval.find(w) >= 0:
+          self.log('REJECT: %s: %s' % (name,val))
+          self.setreply('550','5.7.1','Watch your language')
+          return Milter.REJECT
       if email.lower().startswith('postmaster@'):
         # Yes, if From header comes last, this might not help much.
         # But this is a heuristic - if MTAs would send proper DSNs in