# GETBODYINFO.RC # # EXTRACT IP ADDRESSES AND DOMAINS FROM EMAIL MESSAGE BODY # # This section extracts the IP addresses, hosts domains found in the # message body of this email, information that later recipes use. # # Last updated: 10/30/2005 # GET MESSAGE BODY HOSTS AND DOMAINS # # Now, get any hosts and/or domains in the message body. # EXTRACT FIRST BODY HOST/INFO # # Extract the first body host, extract domain and lookup # IP for host. # :0 * FIRSTBODYHOST ?? ^host\.example\.com$ * B ?? (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)\/([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$) { :0 { STRING=${MATCH} } :0 { FIRSTBODYHOST=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^A-Za-z]*$//'` } } # Extract the domain from the first body host. :0 * ! FIRSTBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN='example.com' LOCALHOST=${FIRSTBODYHOST} INCLUDERC=${SBDIR}/functions/get-domain.rc FIRSTBODYDOMAIN=${LOCALDOMAIN} } # Look up the IP for the first body host. :0 * ! SBCONFIG ?? Lite * ! FIRSTBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN=${FIRSTBODYDOMAIN} LOCALHOST=${FIRSTBODYHOST} LOCALIP='000.000.000.000' INCLUDERC=${SBDIR}/functions/get-ip.rc FIRSTBODYHOSTIP=${LOCALIP} } # Reverse the IP. :0 * ! SBCONFIG ?? Lite * ! FIRSTBODYHOSTIP ?? 000\.000\.000\.000 { LOCALIP=${FIRSTBODYHOSTIP} INCLUDERC=${SBDIR}/functions/reverseip.rc FIRSTBODYHOSTREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc FIRSTBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Extract the second body host and domain. # :0 * ! FIRSTBODYHOST ?? ^host\.example\.com$ * SECONDBODYHOST ?? ^host\.example\.com$ * B ?? (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)\/([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$) { :0 { STRING=${MATCH} } :0 { SECONDBODYHOST=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^A-Za-z]*$//'` } } # Extract the domain for the second body host. :0 * ! SECONDBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN='example.com' LOCALHOST=${SECONDBODYHOST} INCLUDERC=${SBDIR}/functions/get-domain.rc SECONDBODYDOMAIN=${LOCALDOMAIN} } # Look up the IP for the second body host. :0 * ! SBCONFIG ?? Lite * ! SECONDBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN=${SECONDBODYDOMAIN} LOCALHOST=${SECONDBODYHOST} LOCALIP='000.000.000.000' INCLUDERC=${SBDIR}/functions/get-ip.rc SECONDBODYHOSTIP=${LOCALIP} } # Reverse the IP. :0 * ! SBCONFIG ?? Lite * ! SECONDBODYHOSTIP ?? 000\.000\.000\.000 { LOCALIP=${SECONDBODYHOSTIP} INCLUDERC=${SBDIR}/functions/reverseip.rc SECONDBODYHOSTREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc SECONDBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Check to see if SECONDBODYHOST is same as FIRSTBODYHOST. # If it is, check to see whether FIRSTBODYHOST didn't # resolve, but SECONDBODYHOST did. If so, assign IP of # SECONDBODYHOST to FIRSTBODYHOST also. (Thwarts DNS # tricks some spammers are using.) # :0 * ! SBCONFIG ?? Lite * $ SECONDBODYHOST ?? ${FIRSTBODYHOST} * FIRSTBODYHOSTIP ?? ^000\.000\.000\.000$ * ! SECONDBODYHOSTIP ?? ^000\.000\.000\.000$ { FIRSTBODYHOSTIP=${SECONDBODYHOSTIP} FIRSTBODYHOSTREVIP=${SECONDBODYHOSTREVIP} FIRSTBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Extract the third body host and domain. # :0 * ! FIRSTBODYHOST ?? ^host\.example\.com$ * ! SECONDBODYHOST ?? ^host\.example\.com$ * THIRDBODYHOST ?? ^host\.example\.com$ * B ?? (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)\/([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$) { :0 { STRING=${MATCH} } :0 { THIRDBODYHOST=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^A-Za-z]*$//'` } } # Extract the domain for the third body host. :0 * ! THIRDBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN='example.com' LOCALHOST=${THIRDBODYHOST} INCLUDERC=${SBDIR}/functions/get-domain.rc THIRDBODYDOMAIN=${LOCALDOMAIN} } # Look up the IP for the third body host. :0 * ! SBCONFIG ?? Lite * ! THIRDBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN=${THIRDBODYDOMAIN} LOCALHOST=${THIRDBODYHOST} LOCALIP='000.000.000.000' INCLUDERC=${SBDIR}/functions/get-ip.rc THIRDBODYHOSTIP=${LOCALIP} } # Reverse the IP. :0 * ! SBCONFIG ?? Lite * ! THIRDBODYHOSTIP ?? 000\.000\.000\.000 { LOCALIP=${THIRDBODYHOSTIP} INCLUDERC=${SBDIR}/functions/reverseip.rc THIRDBODYHOSTREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc THIRDBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Check to see if THIRDBODYHOST is same as FIRSTBODYHOST # or SECONDBODYHOST. If it is, check to see whether # FIRSTBODYHOST or SECONDBODYHOST didn't resolve, but # THIRDBODYHOST did. If so, assign IP of THIRDBODYHOST to # FIRSTBODYHOST or SECONDBODYHOST also. (Thwarts DNS # tricks some spammers are using.) # :0 * ! SBCONFIG ?? Lite * $ THIRDBODYHOST ?? ${FIRSTBODYHOST} * FIRSTBODYHOSTIP ?? ^000\.000\.000\.000$ * ! THIRDBODYHOSTIP ?? ^000\.000\.000\.000$ { FIRSTBODYHOSTIP=${THIRDBODYHOSTIP} FIRSTBODYHOSTREVIP=${THIRDBODYHOSTREVIP} FIRSTBODYHOSTIPREGEXP=${LOCALIPREGEXP} } :0 * ! SBCONFIG ?? Lite * $ THIRDBODYHOST ?? ${SECONDBODYHOST} * SECONDBODYHOSTIP ?? ^000\.000\.000\.000$ * ! THIRDBODYHOSTIP ?? ^000\.000\.000\.000$ { SECONDBODYHOSTIP=${THIRDBODYHOSTIP} SECONDBODYHOSTREVIP=${THIRDBODYHOSTREVIP} SECONDBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Extract the fourth body host and domain. # :0 * ! FIRSTBODYHOST ?? ^host\.example\.com$ * ! SECONDBODYHOST ?? ^host\.example\.com$ * ! THIRDBODYHOST ?? ^host\.example\.com$ * FOURTHBODYHOST ?? ^host\.example\.com$ * B ?? (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)\/([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$) { :0 { STRING=${MATCH} } :0 { FOURTHBODYHOST=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^A-Za-z]*$//'` } } # Extract the domain for the fourth body host. :0 * ! FOURTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN='example.com' LOCALHOST=${FOURTHBODYHOST} INCLUDERC=${SBDIR}/functions/get-domain.rc FOURTHBODYDOMAIN=${LOCALDOMAIN} } # Look up the IP for the fourth body host. :0 * ! SBCONFIG ?? Lite * ! FOURTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN=${FOURTHBODYDOMAIN} LOCALHOST=${FOURTHBODYHOST} LOCALIP='000.000.000.000' INCLUDERC=${SBDIR}/functions/get-ip.rc FOURTHBODYHOSTIP=${LOCALIP} } # Reverse the IP. :0 * ! SBCONFIG ?? Lite * ! FOURTHBODYHOSTIP ?? 000\.000\.000\.000 { LOCALIP=${FOURTHBODYHOSTIP} INCLUDERC=${SBDIR}/functions/reverseip.rc FOURTHBODYHOSTREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc FOURTHBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Extract the fifth body host and domain. # :0 * ! FIRSTBODYHOST ?? ^host\.example\.com$ * ! SECONDBODYHOST ?? ^host\.example\.com$ * ! THIRDBODYHOST ?? ^host\.example\.com$ * ! FOURTHBODYHOST ?? ^host\.example\.com$ * FIFTHBODYHOST ?? ^host\.example\.com$ * B ?? (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)\/([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$) { :0 { STRING=${MATCH} } :0 { FIFTHBODYHOST=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^A-Za-z]*$//'` } } # Extract the domain for the fifth body host. :0 * ! FIFTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN='example.com' LOCALHOST=${FIFTHBODYHOST} INCLUDERC=${SBDIR}/functions/get-domain.rc FIFTHBODYDOMAIN=${LOCALDOMAIN} } # Look up the IP for the fifth body host. :0 * ! SBCONFIG ?? Lite * ! FIFTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN=${FIFTHBODYDOMAIN} LOCALHOST=${FIFTHBODYHOST} LOCALIP='000.000.000.000' INCLUDERC=${SBDIR}/functions/get-ip.rc FIFTHBODYHOSTIP=${LOCALIP} } # Reverse the IP. :0 * ! SBCONFIG ?? Lite * ! FIFTHBODYHOSTIP ?? 000\.000\.000\.000 { LOCALIP=${FIFTHBODYHOSTIP} INCLUDERC=${SBDIR}/functions/reverseip.rc FIFTHBODYHOSTREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc FIFTHBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Extract the sixth body host and domain. # :0 * ! FIRSTBODYHOST ?? ^host\.example\.com$ * ! SECONDBODYHOST ?? ^host\.example\.com$ * ! THIRDBODYHOST ?? ^host\.example\.com$ * ! FOURTHBODYHOST ?? ^host\.example\.com$ * ! FIFTHBODYHOST ?? ^host\.example\.com$ * SIXTHBODYHOST ?? ^host\.example\.com$ * B ?? (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)\/([0-9a-z][-_0-9a-z]*(ÿ|\.|=2]EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$) { :0 { STRING=${MATCH} } :0 { SIXTHBODYHOST=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^A-Za-z]*$//'` } } # Extract the domain for the sixth body host. :0 * ! SIXTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN='example.com' LOCALHOST=${SIXTHBODYHOST} INCLUDERC=${SBDIR}/functions/get-domain.rc SIXTHBODYDOMAIN=${LOCALDOMAIN} } # Look up the IP for the sixth body host. :0 * ! SBCONFIG ?? Lite * ! SIXTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN=${SIXTHBODYDOMAIN} LOCALHOST=${SIXTHBODYHOST} LOCALIP='000.000.000.000' INCLUDERC=${SBDIR}/functions/get-ip.rc SIXTHBODYHOSTIP=${LOCALIP} } # Reverse the IP. :0 * ! SBCONFIG ?? Lite * ! SIXTHBODYHOSTIP ?? 000\.000\.000\.000 { LOCALIP=${SIXTHBODYHOSTIP} INCLUDERC=${SBDIR}/functions/reverseip.rc SIXTHBODYHOSTREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc SIXTHBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # Extract the seventh body host and domain. # :0 * ! FIRSTBODYHOST ?? ^host\.example\.com$ * ! SECONDBODYHOST ?? ^host\.example\.com$ * ! THIRDBODYHOST ?? ^host\.example\.com$ * ! FOURTHBODYHOST ?? ^host\.example\.com$ * ! FIFTHBODYHOST ?? ^host\.example\.com$ * ! SIXTHBODYHOST ?? ^host\.example\.com$ * SEVENTHBODYHOST ?? ^host\.example\.com$ * B ?? (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$)\ (.*$)*.*\ (^|[^-_0-9a-z.=]|=[0-9a-f][0-9a-f]|/\.|(link|goto)=|[<>]\.|=20\.)\/([0-9a-z][-_0-9a-z]*(ÿ|\.|=2[EF]|%2E))+(ac|\ ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|\ ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|\ ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|\ de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|exp|fi|fj|fk|fm|fo|fr|\ ga|gd|ge|geek|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|\ hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jp|\ ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|llc|lnx|lr|ls|lt|ltd|\ lu|lv|ly|ma|mc|md|med|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|\ museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nic|nl|no|noc|\ np|nr|nu|null|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|porn|pr|pro|ps|\ pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|\ so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|\ ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xxx|ye|yt|yu|za|\ zm|zw)([^-a-z0-9.@=&]|=2[0F]|=$|$|\. |\./|\.$) { :0 { STRING=${MATCH} } :0 { SEVENTHBODYHOST=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^A-Za-z]*$//'` } } # Extract the domain for the seventh body host. :0 * ! SEVENTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN='example.com' LOCALHOST=${SEVENTHBODYHOST} INCLUDERC=${SBDIR}/functions/get-domain.rc SEVENTHBODYDOMAIN=${LOCALDOMAIN} } # Look up the IP for the seventh body host. :0 * ! SBCONFIG ?? Lite * ! SEVENTHBODYHOST ?? ^host\.example\.com$ { LOCALDOMAIN=${SEVENTHBODYDOMAIN} LOCALHOST=${SEVENTHBODYHOST} LOCALIP='000.000.000.000' INCLUDERC=${SBDIR}/functions/get-ip.rc SEVENTHBODYHOSTIP=${LOCALIP} } # Reverse the IP. :0 * ! SBCONFIG ?? Lite * ! SEVENTHBODYHOSTIP ?? 000\.000\.000\.000 { LOCALIP=${SEVENTHBODYHOSTIP} INCLUDERC=${SBDIR}/functions/reverseip.rc SEVENTHBODYHOSTREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc SEVENTHBODYHOSTIPREGEXP=${LOCALIPREGEXP} } # GET MESSAGE BODY IPS # # Now, get any IPs in the message body. # Get First message body IP. :0 * FIRSTBODYIP ?? 000\.000\.000\.000 * B ?? (^|[^0-9.])\/[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?([^0-9.@=&]|$) { :0 { STRING=${MATCH} } :0 { FIRSTBODYIP=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^0-9]*$//'` } } # Reverse first message body IP. :0 * ! FIRSTBODYIP ?? 000\.000\.000\.000 { LOCALIP=${FIRSTBODYIP} INCLUDERC=${SBDIR}/functions/reverseip.rc FIRSTBODYREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc FIRSTBODYIPREGEXP=${LOCALIPREGEXP} } # Get second message body IP. :0 * ! FIRSTBODYIP ?? 000\.000\.000\.000 * SECONDBODYIP ?? 000\.000\.000\.000 * B ?? (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])\/[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$) { :0 { STRING=${MATCH} } :0 { SECONDBODYIP=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^0-9]*$//'` } } # Reverse second message body IP. :0 * ! SECONDBODYIP ?? 000\.000\.000\.000 { LOCALIP=${SECONDBODYIP} INCLUDERC=${SBDIR}/functions/reverseip.rc SECONDBODYREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc SECONDBODYIPREGEXP=${LOCALIPREGEXP} } # Get third message body IP. :0 * ! FIRSTBODYIP ?? 000\.000\.000\.000 * ! SECONDBODYIP ?? 000\.000\.000\.000 * THIRDBODYIP ?? 000\.000\.000\.000 * B ?? (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])\/[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$) { :0 { STRING=${MATCH} } :0 { THIRDBODYIP=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^0-9]*$//'` } } # Reverse third message body IP. :0 * ! THIRDBODYIP ?? 000\.000\.000\.000 { LOCALIP=${THIRDBODYIP} INCLUDERC=${SBDIR}/functions/reverseip.rc THIRDBODYREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc THIRDBODYIPREGEXP=${LOCALIPREGEXP} } # Get fourth message body IP. :0 * ! FIRSTBODYIP ?? 000\.000\.000\.000 * ! SECONDBODYIP ?? 000\.000\.000\.000 * ! THIRDBODYIP ?? 000\.000\.000\.000 * FOURTHBODYIP ?? 000\.000\.000\.000 * B ?? (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])\/[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$) { :0 { STRING=${MATCH} } :0 { FOURTHBODYIP=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^0-9]*$//'` } } # Reverse fourth message body IP. :0 * ! FOURTHBODYIP ?? 000\.000\.000\.000 { LOCALIP=${FOURTHBODYIP} INCLUDERC=${SBDIR}/functions/reverseip.rc FOURTHBODYREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc FOURTHBODYIPREGEXP=${LOCALIPREGEXP} } # Get fifth message body IP. :0 * ! FIRSTBODYIP ?? 000\.000\.000\.000 * ! SECONDBODYIP ?? 000\.000\.000\.000 * ! THIRDBODYIP ?? 000\.000\.000\.000 * ! FOURTHBODYIP ?? 000\.000\.000\.000 * FIFTHBODYIP ?? 000\.000\.000\.000 * B ?? (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])\/[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$) { :0 { STRING=${MATCH} } :0 { FIFTHBODYIP=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^0-9]*$//'` } } # Reverse fifth message body IP. :0 * ! FIFTHBODYIP ?? 000\.000\.000\.000 { LOCALIP=${FIFTHBODYIP} INCLUDERC=${SBDIR}/functions/reverseip.rc FIFTHBODYREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc FIFTHBODYIPREGEXP=${LOCALIPREGEXP} } # Get sixth message body IP. :0 * ! FIRSTBODYIP ?? 000\.000\.000\.000 * ! SECONDBODYIP ?? 000\.000\.000\.000 * ! THIRDBODYIP ?? 000\.000\.000\.000 * ! FOURTHBODYIP ?? 000\.000\.000\.000 * ! FIFTHBODYIP ?? 000\.000\.000\.000 * SIXTHBODYIP ?? 000\.000\.000\.000 * B ?? (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$)(.*$)*.*\ (^|[^0-9.])\/[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)[0-9][0-9]?[0-9]?(ÿ|\.|=2E|%2E)\ [0-9][0-9]?[0-9]?([^0-9.@=&]|$) { :0 { STRING=${MATCH} } :0 { SIXTHBODYIP=`${ECHO} "${STRING}" | ${SED} -e 's/[=%]2[Ee]/\./g' -e 's/[^0-9]*$//'` } } # Reverse sixth message body IP. :0 * ! SIXTHBODYIP ?? 000\.000\.000\.000 { LOCALIP=${SIXTHBODYIP} INCLUDERC=${SBDIR}/functions/reverseip.rc SIXTHBODYREVIP=${LOCALREVIP} INCLUDERC=${SBDIR}/functions/cidrmatch.rc SIXTHBODYIPREGEXP=${LOCALIPREGEXP} }