From: Charles Lindsey (chl@clw.cs.man.ac.uk)
Date: Tue Sep 25 2001 - 09:12:50 CDT
In <B7D4CCFF.119B6%planb@newsreaders.com> "J.B. Moreno" <planb@newsreaders.com> writes:
>On 9/22/01 9:22 AM, Per Abrahamsen at <abraham@dina.kvl.dk> wrote:
>> list-ietf-wg-apps-usefor@faerber.muc.de (Claus Färber) writes:
>>
>>> Yes, and you only have to install the fix on every newsserver out
>>> there.
>>
>> No, only on ISP's for whom automatic newgroup handling on local
>> hierarchies that use UTF-8 newsgroup names are important. Even
>> without the fix, all the major Danish ISP's have created the test
>> group now less than two days after the newgroup message was send.
>Yep. Those that don't handle it automatically can do so manually via (I
>believe) ctlinnd (for INN of course, those using something else will
>probably have to do something else), and once created the group works
>normally. This makes more work for the news admin, but not that much, and
>if it ever does become a lot the admins will have a motive to upgrade.
Time for some CNews experience. I never saw the control message, but I
created the group manually with no problem (though I haven't managed to
attract any articles to it so far). BUT the next expire run barfed. That
was due to the program 'checkactive', to which I have now applied the
following not-so-pretty fix:
LC_COLLATE=C; export LC_COLLATE
# some awks, in some locales, do strange things with the collating order
if ls `which nawk` > /dev/null
then AWK=`which nawk`
else AWK=awk
fi; export AWK
# on systems which do not have 'nawk', 'awk' is probably, in fact, 'nawk'
$AWK 'BEGIN { status = 0 ; q = "\"" }
{ where = "line " NR ":" }
NF != 4 { print where, "has", NF, "not 4 fields" ; status = 1 }
$1 !~ /^([a-z]|([~-ý][~-¿]+))([a-z0-9+_-]|([~-ý][~-¿]+))*(\.([a-z0-9+_-]|([~-ý][~-¿]+))+)*$/
{
# not fully rigorous, but a good first cut
# The "([~-ý][~-¿]+)" should match any utf-8 character, except that
# the "~"s should really have been the character 0x80, but you
# cannot say that in awk; it should really be rewritten in Perl.
print where, "newsgroup name", q $1 q, "invalid" ; status = 1
}
$2 !~ /^[0-9]+$/ { print where, q $2 q, "is non-numeric" ; status = 1 }
$3 !~ /^[0-9]+$/ { print where, q $3 q, "is non-numeric" ; status = 1 }
$4 !~ /^([ynmx]|=.*)$/ {
print where, "field 4 (" q $4 q ") invalid" ; status = 1
}
'"$numcheck"'
END { exit status }' $file || exit
-- Charles H. Lindsey ---------At Home, doing my own thing------------------------ Tel: +44 161 436 6131 Fax: +44 161 436 6133 Web: http://www.cs.man.ac.uk/~chl Email: chl@clw.cs.man.ac.uk Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5