chiark / gitweb /
Leave "Date" header alone.
[modbot-ulm.git] / stump / bin / submission.pl
index a6f05fd6c6f0cf8522cfc90e2f6996528b107c9b..73c72398696eb35a83bc9cf039e1d52209c9ff66 100755 (executable)
@@ -133,7 +133,10 @@ print STDERR "Too many newsgroups\n";
 # checks if poster needs acknowledgment of receipt
 #
 sub checkAck {
-  if( &nameIsInList( $From, "noack.list" ) ) {
+  my $fromaddr = $From;
+  $fromaddr =~ s/^[-A-Za-z]+\s*\:\s*//;
+  print STDERR "checking noack.list for \"$From|$fromaddr\"\n";
+  if( &nameIsInListExactly( $fromaddr, "noack.list" ) ) {
     $needAck = "no";
   } else {
     $needAck = "yes";
@@ -163,8 +166,8 @@ print STDERR "FromSig = $FromSig, good = $good\n" if $FromSig;
     return "$Command_Reject signature Your PGP signature does NOT match, or is not in our keyring";
   }
 
-  if( &nameIsInList( $From, $PGPMustList ) ||
-      ($PGPCheckPreapproved && &nameIsInList($From, $goodGuys) ) ) {
+  if( &nameIsInListRegexp( $From, $PGPMustList ) ||
+      ($PGPCheckPreapproved && &nameIsInListExactly($From, $goodGuys) ) ) {
     if( $FromSig eq "" ) {
       return "$Command_Reject signature You are REQUIRED to sign your posts.";
     } 
@@ -214,8 +217,8 @@ sub Filter {
     }
   }
 
-  if( &nameIsInList( $From, $badGuys ) ) {
-    return "$Command_Reject abuse";
+  if( &nameIsInListRegexp( $From, $badGuys ) ) {
+    return "$Command_Reject blocklist";
   }
 
   # note that if even a preapproved person uses "BAD words" (that is
@@ -223,7 +226,7 @@ sub Filter {
   # "suspicious" and will be forwarded to a humen mod for review.
   # As an example of a bad word may be "MAKE MONEY FAST - IT REALLY WORKS!!!"
   #
-  if( $badWord = &nameIsInList( $Body, $badWords ) ) {
+  if( $badWord = &nameIsInListRegexp( $Body, $badWords ) ) {
 print STDERR "BAD WORD $badWord FOUND!!!\n";
     return $Command_Suspicious; # messages from approved guys MAY be 
                          # suspicious if they write about
@@ -237,7 +240,7 @@ print STDERR "BAD WORD $badWord FOUND!!!\n";
   }
 
   # Checking preapproved list
-  if( &nameIsInList( $From, $goodGuys ) ) {
+  if( &nameIsInListExactly( $From, $goodGuys ) ) {
   local( $from ) = $From; $from =~ s/^From: //i;
 print STDERR "$from is a PREAPPROVED person\n";
     return $Command_Approve;
@@ -267,7 +270,6 @@ sub ignoreHeader {
   return 1 if( $header =~ /^Supersedes:/i );
   return 1 if( $header =~ /^Precedence:/i );
   return 1 if( $header =~ /^Apparently-To:/i );
-  return 1 if( $header =~ /^Date:/i );
   return 1 if( $header =~ /^Expires:/i );
   return 1 if( $header =~ /^Distribution:/i );
   return 1 if( $header =~ /^Path:/i );