Date: Wed, 27 Sep 2000 13:08:19 -0700 (PDT) From: dhw@whistle.com To: FreeBSD-gnats-submit@freebsd.org Subject: bin/21600: Case-insensitive sort/summary for mail rejects Message-ID: <200009272008.e8RK8J815962@pau-amma.whistle.com>
next in thread | raw e-mail | index | archive | help
>Number: 21600
>Category: bin
>Synopsis: /etc/periodic/daily/460.status-mail-rejects is case-sensitive
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 27 13:10:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: David Wolfskill
>Release: FreeBSD 4.1-STABLE i386
>Organization:
Whistle Communications
>Environment:
/etc/periodic/daily/460.status-mail-rejects is at 1.8.2.2.
>Description:
Host names are case-insensitive (as far as DNS is concerned,
at least). It is thus a bit counter-intuitive to have the
output (under "Checking for rejected mail hosts:") in the "daily
run output" show such things as:
Checking for rejected mail hosts:
156 interjetnet.net
63 whistle.com
13 INTERJETNET.NET
7 interjetnet.com
3 [203.69.38.37]
3 WHISTLE.COM
2 INTERJETNET.COM
1 mail.com
1 InterJetNet.net
1 <dts1.domedia.com.tw
when the "interjetnet.net" and "INTERJETNET.NET" entries refer
to effectively the same (broken) destination.
>How-To-Repeat:
Be the recipient of messages from spammers who use inconsistent
capitalization in host names.... :-}
>Fix:
Well, I'd suggest the following, which takes care of the
immediate problem:
===================================================================
RCS file: RCS/460.status-mail-rejects,v
retrieving revision 1.1
diff -u -r1.1 460.status-mail-rejects
--- 460.status-mail-rejects 2000/09/27 19:17:41 1.1
+++ 460.status-mail-rejects 2000/09/27 19:18:58
@@ -37,6 +37,6 @@
} |
perl -ne "print \"\$2\n\"
if (/reject=/ and /^$start.*ruleset=check_\S+,\s+arg1=(<[^@]+@)?([^>,]+).*reject=/o);" |
- sort | uniq -c | sort -nr
+ sort -f | uniq -ic | sort -fnr
fi;;
esac
It does not nesessarily ensure any sort of consistency in the
output, though -- before:
Checking for rejected mail hosts:
156 interjetnet.net
63 whistle.com
13 INTERJETNET.NET
7 interjetnet.com
3 [203.69.38.37]
3 WHISTLE.COM
2 INTERJETNET.COM
1 mail.com
1 InterJetNet.net
1 <dts1.domedia.com.tw
and after:
Checking for rejected mail hosts:
170 INTERJETNET.NET
66 WHISTLE.COM
9 INTERJETNET.COM
3 [203.69.38.37]
1 mail.com
1 <dts1.domedia.com.tw
So it's a bit of a hack, but it makes life a little easier on a
postmaster.... :-} Another alternative would be to hack the Perl
part to lowercase the hostnames that are emitted:
===================================================================
RCS file: RCS/460.status-mail-rejects,v
retrieving revision 1.1
diff -u -r1.1 460.status-mail-rejects
--- 460.status-mail-rejects 2000/09/27 19:17:41 1.1
+++ 460.status-mail-rejects 2000/09/27 19:55:02
@@ -35,8 +35,8 @@
done
cat /var/log/maillog
} |
- perl -ne "print \"\$2\n\"
- if (/reject=/ and /^$start.*ruleset=check_\S+,\s+arg1=(<[^@]+@)?([^>,]+).*reject=/o);" |
+ perl -ne 'print lc($2) . "\n"
+ if (/reject=/ and /^$start.*ruleset=check_\S+,\s+arg1=(<[^@]+@)?([^>,]+).*reject=/o);' |
sort | uniq -c | sort -nr
fi;;
esac
(So, a bit of time elapsed while I got the quoting right, which
is why the numbers differ.) Here's a result from this version:
Checking for rejected mail hosts:
268 interjetnet.net
111 whistle.com
16 interjetnet.com
8 sginet.com
6 www.bhes.wash.k12.ut.us.
6 www.bhes.wash.k12.ut.us
5 [203.69.38.37]
1 www.bhes.wash.k12.ut.us.com
1 whispersintimates.cominfo@whistle.com
1 mail.com
1 <dts1.domedia.com.tw
(That trailing dot is a bit annoying... but I'm running low on
time to fix it....)
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009272008.e8RK8J815962>
