procmail
[Top] [All Lists]

Re: What is the most efficient way to query an RBL?

2004-05-24 02:27:10
Am 2004-05-23 23:32:02, schrieb Professional Software Engineering:

FTR, I don't read messages which arrive on discussion lists as 
_attachments_, so the only reason I even saw the above is that someone else 

My messages are GPG-Signed...

quoted your attachment back to the list.

If you're not _REVERSING_THE_IP_QUADS_:

       1.2.3.4

       becomes:

       4.3.2.1.<dnsbl_zone>

then you're not making the queries properly.

The IP's are reversed:

  ______ ( /home/michelle/.procmail/spamhaus ) _________________________
 /
|  SUB1=`formail -zxSubject:`
|  DATE1=`date +"%d/%m/%Y %T"`
|  
|  #################################################################
|  # Open Relay check from www.spamhaus.org
|  # uses sbl-xbl lists
|  #################################################################
|  #### first IP ####
|  :0H
|  * Received:.*\[\/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
|  { 
|   RECEIVIP=${MATCH} 
|   
|   :0
|   * ! RECEIVIP ?? 127.0.0.1
|   {
|    :0
|    *   RECEIVIP ?? ()\/[0-9]+
|    {
|      QUAD1=${MATCH}
|      :0
|      *  RECEIVIP ?? [0-9]+\.\/[0-9]+
|      {
|        QUAD2=${MATCH}
|        :0
|        *  RECEIVIP ?? [0-9]+\.[0-9]+\.\/[0-9]+
|        {
|       QUAD3=${MATCH}
|          :0
|          *  RECEIVIP ?? [0-9]+\.[0-9]+\.[0-9]+\.\/[0-9]+
|          {
|            RECEIVIPREV="${MATCH}.${QUAD3}.${QUAD2}.${QUAD1}"
|          }
|        }
|      }
|      
|      :0
|      { REVCHECKIP=`host ${RECEIVIPREV}.sbl-xbl.spamhaus.org 2>&1 | grep -v 
'not found.'` }
|    
|      :0
|      * $ REVCHECKIP ?? 127\.0\.0\.(2|4)
|      {
|       LOG="---=== SPAM by SPAMHAUS $DATE1 ===---${NL}"
|       :0fhw
|       | formail -A "X-YAVR: SPAMHAUS"
|       :0fhw
|       | formail -i "Subject: SPAMHAUS-$SUB1"
|     }
|    }
|   }
|  }
|    
|  #### second IP ####
|  :0H
|  * Received: from.*\[.*\](.*$)+Received:.*\[\/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
|  { 
|   RECEIVIP2=${MATCH} 
|   
|   :0
|   * ! RECEIVIP2 ?? 127.0.0.1
|   {
|    :0
|    *   RECEIVIP2 ?? ()\/[0-9]+
|    {
|      QUAD1=${MATCH}
|      :0
|      *  RECEIVIP2 ?? [0-9]+\.\/[0-9]+
|      {
|         QUAD2=${MATCH}
|         :0
|         *  RECEIVIP2 ?? [0-9]+\.[0-9]+\.\/[0-9]+
|         {
|           QUAD3=${MATCH}
|           :0
|           *  RECEIVIP2 ?? [0-9]+\.[0-9]+\.[0-9]+\.\/[0-9]+
|           {
|             RECEIVIP2REV="${MATCH}.${QUAD3}.${QUAD2}.${QUAD1}"
|           }
|         }
|      }
|    :0
|    { REV2CHECKIP=`host ${RECEIVIP2REV}.sbl-xbl.spamhaus.org 2>&1 | grep -v 
'not found.'` }
|    
|     :0
|     * $ REV2CHECKIP ?? 127\.0\.0\.(2|4)
|     {
|      LOG="---=== SPAM by SPAMHAUS $DATE1 ===---${NL}"    
|      :0fhw
|      | formail -A "X-YAVR: SPAMHAUS"
|  
|      :0fhw
|      | formail -i "Subject: SPAMHAUS-$SUB1"
|     }
|    }
|   }
|  }
|  
|  :0
|  * ^Subject.*(SPAMHAUS)
|  SPAMHAUS/
|  
|  ######################### END-OF-SPAMHAUS #########################
 \______________________________________________________________________

Greetings
Michelle

-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/ 
Michelle Konzack   Apt. 917                  ICQ #328449886
                   50, rue de Soultz         MSM LinuxMichi
0033/3/88452356    67100 Strasbourg/France   IRC #Debian (irc.icq.com)

_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail