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