Path: blob/main/mail/adcomplain/files/patch-adcomplain.pl
18157 views
--- adcomplain.pl.orig 2015-12-17 16:02:13 UTC1+++ adcomplain.pl2@@ -1,15 +1,5 @@3-#! /bin/sh -- # -*- perl -*-4-# first line invokes sh. Some systems may need to refer to perl directly, i.e.:5-6#! /bin/perl78-# But the first way is preferable, because we have a trick (below) that9-# allows perl to be _anywhere_ in the user's path. The intent is to reduce10-# the need to edit this file.11-12-eval 'exec perl $0 ${1+"$@"}'13-if 0; # tee hee! This is on a separate line, so /bin/sh never sees it.14-15# use strict;1617#-----------------------------------------------18@@ -533,6 +523,7 @@ local(19$quiet, # control flag, limits interaction and output20%rematch_aliases, # heuristic list, resets priority of another header21$response, # text of letter we will send22+ @rusu_3level, # 3rd level .RU/.SU exceptions23$site, # site we will send the complaint to24@site_exceptions, # sites that have irregular syntactic form25$subject, # subject header of the ad26@@ -2520,7 +2511,17 @@ sub find_site {27($site2 = $host) =~ s/.*\.(.*\..*)/$1/;28($site3 = $host) =~ s/.*\.(.*\..*\..*)/$1/;29($junk = $host) =~ s/.*\.(.*)/$1/;30- if (length($junk) >= 3) {31+ if ($junk eq "ru" || $junk eq "su") {32+ ($junk = $site2) =~ s/(\W)/\\$1/g; # remove special characters33+34+ if (grep(/^$junk$/, @rusu_3level) != 0) {35+ $site = $site3;36+ }37+ else {38+ $site = $site2;39+ }40+ }41+ elsif (length($junk) >= 3) {42($junk = $site3) =~ s/(\W)/\\$1/g; # remove special characters4344if (grep(/^$junk$/, @site_exceptions) != 0) {45@@ -2618,6 +2619,7 @@ sub fqdn_name {46# Pick the alias with the _most_ dots47local($alias);48foreach $alias (split(' ', $aliases)) {49+ $alias =~ s/\.$//; # this adcomplain cannot deal with "foo.bar.com."50$cd = ($alias =~ tr/././);51if ($cd > $nd) {52$result = $alias;53@@ -3078,6 +3080,248 @@ sub get_constants_and_environment {54);55@site_exceptions = sort @site_exceptions; # needed for bsearch to work5657+ @rusu_3level = (58+ 'abkhazia.su',59+ 'adygeya.ru',60+ 'adygeya.su',61+ 'aktyubinsk.su',62+ 'alma-ata.su',63+ 'altai.ru',64+ 'altai.su',65+ 'amur.ru',66+ 'amur.su',67+ 'amursk.ru',68+ 'arkhangelsk.ru',69+ 'arkhangelsk.su',70+ 'armenia.su',71+ 'ashgabad.su',72+ 'astrakhan.ru',73+ 'astrakhan.su',74+ 'azerbaijan.su',75+ 'baikal.ru',76+ 'balashov.su',77+ 'bashkiria.ru',78+ 'bashkiria.su',79+ 'belgorod.ru',80+ 'belgorod.su',81+ 'bir.ru',82+ 'bishkek.su',83+ 'bryansk.ru',84+ 'bryansk.su',85+ 'bukhara.su',86+ 'buriatia.su',87+ 'buryatia.ru',88+ 'cbg.ru',89+ 'chel.ru',90+ 'chel.su',91+ 'chelyabinsk.ru',92+ 'chimkent.su',93+ 'chita.ru',94+ 'chita.su',95+ 'chukotka.ru',96+ 'chuvashia.ru',97+ 'chuvashia.su',98+ 'cmw.ru',99+ 'com.ru',100+ 'dagestan.ru',101+ 'dagestan.su',102+ 'dubna.su',103+ 'dudinka.ru',104+ 'e-burg.ru',105+ 'e-burg.su',106+ 'east-kazakhstan.su',107+ 'engels.su',108+ 'fareast.ru',109+ 'georgia.su',110+ 'grozny.ru',111+ 'grozny.su',112+ 'irkutsk.ru',113+ 'irkutsk.su',114+ 'ivanovo.ru',115+ 'ivanovo.su',116+ 'izhevsk.ru',117+ 'jamal.ru',118+ 'jambyl.su',119+ 'jar.ru',120+ 'joshkar-ola.ru',121+ 'k-uralsk.ru',122+ 'kalmykia.ru',123+ 'kalmykia.su',124+ 'kaluga.ru',125+ 'kaluga.su',126+ 'kamchatka.ru',127+ 'kamchatka.su',128+ 'karacol.su',129+ 'karaganda.su',130+ 'karakol.su',131+ 'karelia.ru',132+ 'karelia.su',133+ 'kazan.ru',134+ 'kazan.su',135+ 'kchr.ru',136+ 'kemerovo.ru',137+ 'kemerovo.su',138+ 'khabarovsk.ru',139+ 'khabarovsk.su',140+ 'khakassia.ru',141+ 'khakassia.su',142+ 'khv.ru',143+ 'kirov.ru',144+ 'kms.ru',145+ 'koenig.ru',146+ 'koenig.su',147+ 'komi.ru',148+ 'komi.su',149+ 'kostroma.ru',150+ 'kostroma.su',151+ 'krasnodar.su',152+ 'krasnoyarsk.ru',153+ 'krasnoyarsk.su',154+ 'kuban.ru',155+ 'kuban.su',156+ 'kurgan.ru',157+ 'kurgan.su',158+ 'kursk.ru',159+ 'kursk.su',160+ 'kustanai.ru',161+ 'kustanai.su',162+ 'kuzbass.ru',163+ 'lipetsk.ru',164+ 'lipetsk.su',165+ 'magadan.ru',166+ 'magadan.su',167+ 'magnitka.ru',168+ 'mangyshlak.su',169+ 'mari-el.ru',170+ 'mari.ru',171+ 'mari.su',172+ 'marine.ru',173+ 'marine.su',174+ 'moldova.su',175+ 'mordovia.ru',176+ 'mordovia.su',177+ 'mosreg.ru',178+ 'msk.ru',179+ 'msk.su',180+ 'murmansk.ru',181+ 'murmansk.su',182+ 'mytis.ru',183+ 'nakhodka.ru',184+ 'nalchik.ru',185+ 'nalchik.su',186+ 'naryn.su',187+ 'navoi.su',188+ 'net.ru',189+ 'nkz.ru',190+ 'nnov.ru',191+ 'nnov.su',192+ 'norilsk.ru',193+ 'north-kazakhstan.su',194+ 'nov.ru',195+ 'nov.su',196+ 'novosibirsk.ru',197+ 'nsk.ru',198+ 'nsk.su',199+ 'obninsk.su',200+ 'omsk.ru',201+ 'omsk.su',202+ 'orenburg.ru',203+ 'orenburg.su',204+ 'org.ru',205+ 'oryol.ru',206+ 'oryol.su',207+ 'osh.su',208+ 'oskol.ru',209+ 'palana.ru',210+ 'pavlodar.su',211+ 'penza.ru',212+ 'penza.su',213+ 'perm.ru',214+ 'perm.su',215+ 'pokrovsk.su',216+ 'pp.ru',217+ 'pskov.ru',218+ 'pskov.su',219+ 'ptz.ru',220+ 'pyatigorsk.ru',221+ 'pyatigorsk.su',222+ 'rnd.ru',223+ 'rostov-na-donu.su',224+ 'rubtsovsk.ru',225+ 'ryazan.ru',226+ 'ryazan.su',227+ 'sakhalin.ru',228+ 'sakhalin.su',229+ 'samara.ru',230+ 'samara.su',231+ 'saratov.ru',232+ 'saratov.su',233+ 'semsk.su',234+ 'serpukhov.su',235+ 'simbirsk.ru',236+ 'simbirsk.su',237+ 'smolensk.ru',238+ 'smolensk.su',239+ 'sochi.su',240+ 'spb.ru',241+ 'spb.su',242+ 'stavropol.ru',243+ 'stavropol.su',244+ 'stv.ru',245+ 'surgut.ru',246+ 'surgut.su',247+ 'syzran.ru',248+ 'tambov.ru',249+ 'tambov.su',250+ 'tashkent.su',251+ 'tatarstan.ru',252+ 'termez.su',253+ 'togliatti.su',254+ 'tom.ru',255+ 'tomsk.ru',256+ 'tomsk.su',257+ 'troitsk.su',258+ 'tsaritsyn.ru',259+ 'tsaritsyn.su',260+ 'tselinograd.su',261+ 'tsk.ru',262+ 'tula.ru',263+ 'tula.su',264+ 'tuva.ru',265+ 'tuva.su',266+ 'tver.ru',267+ 'tver.su',268+ 'tyumen.ru',269+ 'tyumen.su',270+ 'udm.ru',271+ 'udmurtia.ru',272+ 'udmurtia.su',273+ 'ulan-ude.ru',274+ 'vdonsk.ru',275+ 'vladikavkaz.ru',276+ 'vladikavkaz.su',277+ 'vladimir.ru',278+ 'vladimir.su',279+ 'vladivostok.ru',280+ 'volgograd.ru',281+ 'vologda.ru',282+ 'vologda.su',283+ 'voronezh.ru',284+ 'voronezh.su',285+ 'vrn.ru',286+ 'vyatka.ru',287+ 'vyatka.su',288+ 'yakutia.ru',289+ 'yakutia.su',290+ 'yamal.ru',291+ 'yaroslavl.ru',292+ 'yaroslavl.su',293+ 'yekaterinburg.ru',294+ 'yuzhno-sakhalinsk.ru',295+ 'zgrad.ru',296+ 'zgrad.su',297+ );298+299%rematch_aliases = (300'nonexistent.com', 'X-NNTP-Posting-Host:',301'nym.alias.net', 'Message-Id:',302303304