freebsd-ports/mail/adcomplain/files/patch-aa
Andrey A. Chernov 94fe11a957 Fix for address with last "."
Submitted by:	obrien
2000-02-21 00:28:53 +00:00

326 lines
6.5 KiB
Text

*** adcomplain.pl.orig Mon Feb 21 03:23:03 2000
--- adcomplain.pl Mon Feb 21 03:24:27 2000
***************
*** 1,3 ****
--- 1,4 ----
+ #!%PERL5%
#! /bin/sh -- # -*- perl -*-
# first line invokes sh. Some systems may need to refer to perl directly, i.e.:
***************
*** 7,14 ****
# allows perl to be _anywhere_ in the user's path. The intent is to reduce
# the need to edit this file.
! eval 'exec perl $0 ${1+"$@"}'
! if 0; # tee hee! This is on a separate line, so /bin/sh never sees it.
# use strict;
--- 8,15 ----
# allows perl to be _anywhere_ in the user's path. The intent is to reduce
# the need to edit this file.
! #eval 'exec perl $0 ${1+"$@"}'
! #if 0; # tee hee! This is on a separate line, so /bin/sh never sees it.
# use strict;
***************
*** 533,538 ****
--- 534,540 ----
$quiet, # control flag, limits interaction and output
%rematch_aliases, # heuristic list, resets priority of another header
$response, # text of letter we will send
+ @rusu_3level, # 3rd level .RU/.SU exceptions
$site, # site we will send the complaint to
@site_exceptions, # sites that have irregular syntactic form
$subject, # subject header of the ad
***************
*** 2520,2526 ****
($site2 = $host) =~ s/.*\.(.*\..*)/$1/;
($site3 = $host) =~ s/.*\.(.*\..*\..*)/$1/;
($junk = $host) =~ s/.*\.(.*)/$1/;
! if (length($junk) >= 3) {
($junk = $site3) =~ s/(\W)/\\$1/g; # remove special characters
if (grep(/^$junk$/, @site_exceptions) != 0) {
--- 2522,2538 ----
($site2 = $host) =~ s/.*\.(.*\..*)/$1/;
($site3 = $host) =~ s/.*\.(.*\..*\..*)/$1/;
($junk = $host) =~ s/.*\.(.*)/$1/;
! if ($junk eq "ru" || $junk eq "su") {
! ($junk = $site2) =~ s/(\W)/\\$1/g; # remove special characters
!
! if (grep(/^$junk$/, @rusu_3level) != 0) {
! $site = $site3;
! }
! else {
! $site = $site2;
! }
! }
! elsif (length($junk) >= 3) {
($junk = $site3) =~ s/(\W)/\\$1/g; # remove special characters
if (grep(/^$junk$/, @site_exceptions) != 0) {
***************
*** 2618,2623 ****
--- 2630,2636 ----
# Pick the alias with the _most_ dots
local($alias);
foreach $alias (split(' ', $aliases)) {
+ $alias =~ s/\.$//; # this adcomplain cannot deal with "foo.bar.com."
$cd = ($alias =~ tr/././);
if ($cd > $nd) {
$result = $alias;
***************
*** 3077,3082 ****
--- 3090,3337 ----
'xs4all.nl',
);
@site_exceptions = sort @site_exceptions; # needed for bsearch to work
+
+ @rusu_3level = (
+ 'abkhazia.su',
+ 'adygeya.ru',
+ 'adygeya.su',
+ 'aktyubinsk.su',
+ 'alma-ata.su',
+ 'altai.ru',
+ 'altai.su',
+ 'amur.ru',
+ 'amur.su',
+ 'amursk.ru',
+ 'arkhangelsk.ru',
+ 'arkhangelsk.su',
+ 'armenia.su',
+ 'ashgabad.su',
+ 'astrakhan.ru',
+ 'astrakhan.su',
+ 'azerbaijan.su',
+ 'baikal.ru',
+ 'balashov.su',
+ 'bashkiria.ru',
+ 'bashkiria.su',
+ 'belgorod.ru',
+ 'belgorod.su',
+ 'bir.ru',
+ 'bishkek.su',
+ 'bryansk.ru',
+ 'bryansk.su',
+ 'bukhara.su',
+ 'buriatia.su',
+ 'buryatia.ru',
+ 'cbg.ru',
+ 'chel.ru',
+ 'chel.su',
+ 'chelyabinsk.ru',
+ 'chimkent.su',
+ 'chita.ru',
+ 'chita.su',
+ 'chukotka.ru',
+ 'chuvashia.ru',
+ 'chuvashia.su',
+ 'cmw.ru',
+ 'com.ru',
+ 'dagestan.ru',
+ 'dagestan.su',
+ 'dubna.su',
+ 'dudinka.ru',
+ 'e-burg.ru',
+ 'e-burg.su',
+ 'east-kazakhstan.su',
+ 'engels.su',
+ 'fareast.ru',
+ 'georgia.su',
+ 'grozny.ru',
+ 'grozny.su',
+ 'irkutsk.ru',
+ 'irkutsk.su',
+ 'ivanovo.ru',
+ 'ivanovo.su',
+ 'izhevsk.ru',
+ 'jamal.ru',
+ 'jambyl.su',
+ 'jar.ru',
+ 'joshkar-ola.ru',
+ 'k-uralsk.ru',
+ 'kalmykia.ru',
+ 'kalmykia.su',
+ 'kaluga.ru',
+ 'kaluga.su',
+ 'kamchatka.ru',
+ 'kamchatka.su',
+ 'karacol.su',
+ 'karaganda.su',
+ 'karakol.su',
+ 'karelia.ru',
+ 'karelia.su',
+ 'kazan.ru',
+ 'kazan.su',
+ 'kchr.ru',
+ 'kemerovo.ru',
+ 'kemerovo.su',
+ 'khabarovsk.ru',
+ 'khabarovsk.su',
+ 'khakassia.ru',
+ 'khakassia.su',
+ 'khv.ru',
+ 'kirov.ru',
+ 'kms.ru',
+ 'koenig.ru',
+ 'koenig.su',
+ 'komi.ru',
+ 'komi.su',
+ 'kostroma.ru',
+ 'kostroma.su',
+ 'krasnodar.su',
+ 'krasnoyarsk.ru',
+ 'krasnoyarsk.su',
+ 'kuban.ru',
+ 'kuban.su',
+ 'kurgan.ru',
+ 'kurgan.su',
+ 'kursk.ru',
+ 'kursk.su',
+ 'kustanai.ru',
+ 'kustanai.su',
+ 'kuzbass.ru',
+ 'lipetsk.ru',
+ 'lipetsk.su',
+ 'magadan.ru',
+ 'magadan.su',
+ 'magnitka.ru',
+ 'mangyshlak.su',
+ 'mari-el.ru',
+ 'mari.ru',
+ 'mari.su',
+ 'marine.ru',
+ 'marine.su',
+ 'moldova.su',
+ 'mordovia.ru',
+ 'mordovia.su',
+ 'mosreg.ru',
+ 'msk.ru',
+ 'msk.su',
+ 'murmansk.ru',
+ 'murmansk.su',
+ 'mytis.ru',
+ 'nakhodka.ru',
+ 'nalchik.ru',
+ 'nalchik.su',
+ 'naryn.su',
+ 'navoi.su',
+ 'net.ru',
+ 'nkz.ru',
+ 'nnov.ru',
+ 'nnov.su',
+ 'norilsk.ru',
+ 'north-kazakhstan.su',
+ 'nov.ru',
+ 'nov.su',
+ 'novosibirsk.ru',
+ 'nsk.ru',
+ 'nsk.su',
+ 'obninsk.su',
+ 'omsk.ru',
+ 'omsk.su',
+ 'orenburg.ru',
+ 'orenburg.su',
+ 'org.ru',
+ 'oryol.ru',
+ 'oryol.su',
+ 'osh.su',
+ 'oskol.ru',
+ 'palana.ru',
+ 'pavlodar.su',
+ 'penza.ru',
+ 'penza.su',
+ 'perm.ru',
+ 'perm.su',
+ 'pokrovsk.su',
+ 'pp.ru',
+ 'pskov.ru',
+ 'pskov.su',
+ 'ptz.ru',
+ 'pyatigorsk.ru',
+ 'pyatigorsk.su',
+ 'rnd.ru',
+ 'rostov-na-donu.su',
+ 'rubtsovsk.ru',
+ 'ryazan.ru',
+ 'ryazan.su',
+ 'sakhalin.ru',
+ 'sakhalin.su',
+ 'samara.ru',
+ 'samara.su',
+ 'saratov.ru',
+ 'saratov.su',
+ 'semsk.su',
+ 'serpukhov.su',
+ 'simbirsk.ru',
+ 'simbirsk.su',
+ 'smolensk.ru',
+ 'smolensk.su',
+ 'sochi.su',
+ 'spb.ru',
+ 'spb.su',
+ 'stavropol.ru',
+ 'stavropol.su',
+ 'stv.ru',
+ 'surgut.ru',
+ 'surgut.su',
+ 'syzran.ru',
+ 'tambov.ru',
+ 'tambov.su',
+ 'tashkent.su',
+ 'tatarstan.ru',
+ 'termez.su',
+ 'togliatti.su',
+ 'tom.ru',
+ 'tomsk.ru',
+ 'tomsk.su',
+ 'troitsk.su',
+ 'tsaritsyn.ru',
+ 'tsaritsyn.su',
+ 'tselinograd.su',
+ 'tsk.ru',
+ 'tula.ru',
+ 'tula.su',
+ 'tuva.ru',
+ 'tuva.su',
+ 'tver.ru',
+ 'tver.su',
+ 'tyumen.ru',
+ 'tyumen.su',
+ 'udm.ru',
+ 'udmurtia.ru',
+ 'udmurtia.su',
+ 'ulan-ude.ru',
+ 'vdonsk.ru',
+ 'vladikavkaz.ru',
+ 'vladikavkaz.su',
+ 'vladimir.ru',
+ 'vladimir.su',
+ 'vladivostok.ru',
+ 'volgograd.ru',
+ 'vologda.ru',
+ 'vologda.su',
+ 'voronezh.ru',
+ 'voronezh.su',
+ 'vrn.ru',
+ 'vyatka.ru',
+ 'vyatka.su',
+ 'yakutia.ru',
+ 'yakutia.su',
+ 'yamal.ru',
+ 'yaroslavl.ru',
+ 'yaroslavl.su',
+ 'yekaterinburg.ru',
+ 'yuzhno-sakhalinsk.ru',
+ 'zgrad.ru',
+ 'zgrad.su',
+ );
%rematch_aliases = (
'nonexistent.com', 'X-NNTP-Posting-Host:',