Subject: ISSUE: 4.2. Moderation flag in checkgroups

From: Russ Allbery <[email-masked]>
Date: Wed, 02 May 2007 10:51:05 -0700

Julien ÉLIE pointed out in private e-mail a minor problem with how the
moderation flag is specified in section 4.2.  Currently, we have:

         newsgroups-line     = newsgroup-name
                                  [ 1*HTAB newsgroup-description ]
                                  [ 1*WSP moderation-flag ]
         newsgroup-description
                             = eightbit-utext *( *WSP eightbit-utext )
         moderation-flag     = %x28.4D.6F.64.65.72.61.74.65.64.29
                                  ; case sensitive "(Moderated)"
         eightbit-utext      = utext / %d127-255

This allows a tab before "(Moderated)" instead of a space.  I'm not sure
that existing software supports that, it doesn't match the informal
description on ftp.isc.org, and it contradicts the text in the following
paragraph:

   The <newsgroup-description> MUST NOT contain any occurrence of the
   string "(Moderated)" within it.  Moderated newsgroups MUST be marked
   by appending the case sensitive text " (Moderated)" at the end.

I propose changing the newsgroups-line production to instead read:

         newsgroups-line     = newsgroup-name
                                  [ 1*HTAB newsgroup-description ]
                                  [ *WSP moderation-flag ]

and moderation-flag to read:

         moderation-flag     = %x20.x28.4D.6F.64.65.72.61.74.65.64.29
                                  ; case sensitive " (Moderated)"

which makes it clearer that the space is part of the flag.  I had
considered just changing the 1*WSP to *WSP SP, but while writing this
message, I decided I liked the above approach better.

-- 
Russ Allbery ([email-masked])             <http://www.eyrie.org/~eagle/>

---

From: "Charles Lindsey" <[email-masked]>
Date: Thu, 3 May 2007 10:28:37 GMT

>message, I decided I liked the above approach better.

+1

It might be odd to see yadda-yadda<HTAB><SP>(Moderated), but then it would
be odd (though harmless) to see <HTAB>s there at all (except for the
obligatory ones after the <newsgroup-description>).

-- 
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: [email-masked]      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

---

From: Harald Alvestrand <[email-masked]>
Date: Thu, 03 May 2007 13:35:45 +0200

> message, I decided I liked the above approach better.
I'd prefer to say

  moderation-flag = SP %x28.4D.6F.64.65.72.61.74.65.64.29
                   ; SPACE + case sensitive "(Moderated)"

since it's the only place in all our grammars (that I can remember 
offhand) that we specify a SPACE using a hex value.

Otherwise, no problem.

                Harald

---

From: "Forrest J. Cavalier III" <[email-masked]>
Date: Thu, 03 May 2007 08:10:21 -0400

> offhand) that we specify a SPACE using a hex value.

I like the %x20.  Servers are not implemented as BNF parsers.
They look for %x28.4D.6F.64.65.72.61.74.65.64.29, not EBCDIC.  They need
the preceding %x20.

I do like the extra comment noting there is a SPACE there because it
gives attention.  How about...

    moderation-flag = %x20.28.4D.6F.64.65.72.61.74.65.64.29
                     ; SPACE + case sensitive "(Moderated)"

---

From: Frank Ellermann <[email-masked]>
Date: Thu, 03 May 2007 17:12:22 +0200

>                    ; SPACE + case sensitive "(Moderated)"

Yes, that's clearer.  We could also de-obscure 0x28 and 0x29,
and use hex. only for case-sensitive stuff like "Moderated"
or "poster":

    moderation-flag = SP "(" %x4D.6F.64.65.72.61.74.65.64 ")"
                     ; SPACE + case sensitive "(Moderated)"
Frank

---

From: Russ Allbery <[email-masked]>
Date: Fri, 18 May 2007 17:01:58 -0700

>                      ; SPACE + case sensitive "(Moderated)"

I like this version best.

Okay, the current proposal is to change this to:

         newsgroups-line     = newsgroup-name
                                  [ 1*HTAB newsgroup-description ]
                                  [ *WSP moderation-flag ]
         moderation-flag     = SP "(" %x28.4D.6F.64.65.72.61.74.65.64 ")"
                                  ; SPACE + case sensitive "(Moderated)"

If there are any objections, speak up now.  Unless there are objections by
Tuesday, May 22nd, I'm going to declare consensus and make this change.

I'm not following the previous procedure of requiring an open ticket and a
chair resolution for this, but it seemed like people didn't feel that was
necessary for this issue.  If anyone does, say so, and I'll go back to
requiring that.

---

From: Russ Allbery <[email-masked]>
Date: Fri, 18 May 2007 17:03:23 -0700

Forrest J Cavalier <[email-masked]> writes:

> I like the %x20.  Servers are not implemented as BNF parsers.  They look
> for %x28.4D.6F.64.65.72.61.74.65.64.29, not EBCDIC.  They need the
> preceding %x20.

Yeah, but we're already using SP in the "For your newsgroups file:" and no
one had noticed before.  And servers actually are looking for
strcmp(" (Moderated)"), which isn't any of those things.  You lose
something in translation to ABNF and the leading space is really easy to
miss in the mess of hex digits.

---

From: "Forrest J. Cavalier III" <[email-masked]>
Date: Fri, 18 May 2007 23:00:59 -0400

> Tuesday, May 22nd, I'm going to declare consensus and make this change.

Please fix the obvious typo.

---

From: Russ Allbery <[email-masked]>
Date: Fri, 18 May 2007 20:10:06 -0700

> Please fix the obvious typo.

Bleh, sorry.

         newsgroups-line     = newsgroup-name
                                  [ 1*HTAB newsgroup-description ]
                                  [ *WSP moderation-flag ]
         moderation-flag     = SP "(" %4D.6F.64.65.72.61.74.65.64 ")"
                                  ; SPACE + case sensitive "(Moderated)"

is the correct text.  Thank you for the catch.