Keith Moore | 1 Mar 2002 02:19
Picon

Re: Message Header Field Registry - revised proposal


>  Aren't experimental RFCs last-called?

they don't have to be.  IESG can ask for one, but it's not required.

ned+ietf-822 | 1 Mar 2002 08:40

Re: quoted strings within quoted strings


> This reflects a problem that has come up with a proposed feature in
> USEFOR, but it arises out of the syntax of MIME.

Perhaps I'm missing something, but I see no problem here whatsoever.

> Currently, various MIME headers (and some new USEFOR headers) can have
> parameters of the form

> 	attribute = value
> where
> 	attribute = token
> 	value = token / quoted-string

> There is provision for new parameters to be defined in later standards,
> and registered with IANA. Typically, the "values" involved are things like
> charsets and filenames.

Actually, an incredible variety of stuff has been placed in parameter values in
practice. Email addresses. Quoted strings. Extremely long strings. Strings
containing control characters. Strings in different charsets. MIME already
provides complete facilities for all of this.

> Now suppose someone invents a parameter where the "value" is to be a
> mailbox (I don't think that case has arisen yet in MIME, but it well
> might).

It arose years ago. The obvious example is filenames.

>  Perhaps something like:
(Continue reading)

Picon
Picon

Re: quoted strings within quoted strings


In <2147483647.1014899942 <at> [10.0.1.2]> Cyrus Daboo <daboo <at> cyrusoft.com> writes:

>sender = "\"John D. \\\"Cool\\\" Bloggs" <jdbloggs <at> example.com>"

That's Cool!

Does anyone know of any software out there that would actually unscramble
that? Or maybe it is the case that no (non-human) application actually has
the need to do so. I suppose the case would arise if the protocol required
you to send mail to the entity identified by the 'sender' parameter.

Anyway, I have tried something of the sort in the From header of this
message which, as I just wrote it, says:
	From: "Charles H. \"Usefor\" Lindsey" <chl <at> clw.cs.man.ac.uk>
Let us see if anything different is seen by anyone anywhere.

Actually, I now recall contructing such an example to test a
canonicalization rule in draft-lindsey-usefor-signed-01.txt.

tO:     "John (the Boss) Smith"  <bar <at> foo.example> ,
   "Bill \"fingers\"
 Sykes" <"#*\"~" <at> twist.example> (Observe unescaped \( and escaped "
 within quoted strings, and (properly matched) parentheses within
 comments)

--

-- 
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 <at> clw.cs.man.ac.uk      Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
(Continue reading)

Graham Klyne | 1 Mar 2002 13:01

Re: Message Header Field Registry - revised proposal


Thanks,  then I agree with Charles.

#g
--

At 08:19 PM 2/28/02 -0500, Keith Moore wrote:

> >  Aren't experimental RFCs last-called?
>
>they don't have to be.  IESG can ask for one, but it's not required.

------------------------------------------------------------
Graham Klyne                    Baltimore Technologies
Strategic Research              Content Security Group
<Graham.Klyne <at> Baltimore.com>    <http://www.mimesweeper.com>
                                 <http://www.baltimore.com>
------------------------------------------------------------

Charles Lindsey | 1 Mar 2002 12:07
Picon
Picon

Re: quoted strings within quoted strings


In <200202281732.g1SHWaF22699 <at> astro.cs.utk.edu> Keith Moore <moore <at> cs.utk.edu> writes:

>> So what is the proper way to do it?
>> Would it be

>        sender = "\"John D. Bloggs\" <jdbloggs <at> example.com>"

>IMHO yes.  and the value encded by that sender parameter is

>"John D. Bloggs" <jdbloggs <at> example.com>

OK. So is that behaviour written down anywhere (in RFC 2822 or RFC 2045)?
Or is it already implicit in those documents. Or, to put it another way,
does the first person who invents a parameter like that (which look like
it will be me) have to say anything special to cover that case? Well, I
shall of course draw attention to it in a NOTE, but need I do more than
that?

Answer: I think I do. There is special wording of that nature in RFC 2122
(Multipart/Related) when describing the syntax of related-param. So I
think I have to write something like

sender-parameter = [CFWS] "sender" [CFWS] "=" [CFWS]
                      <a quoted-string containing an escaped mailbox> [CFWS]

where I have to define "escaped" in the proper (recursive) way, and
probably also an "unescaping" operation.

Does that sound right?
(Continue reading)

ned+ietf-822 | 2 Mar 2002 00:03

Re: quoted strings within quoted strings


> In <200202281732.g1SHWaF22699 <at> astro.cs.utk.edu> Keith Moore <moore <at> cs.utk.edu> writes:

> >> So what is the proper way to do it?
> >> Would it be

> >        sender = "\"John D. Bloggs\" <jdbloggs <at> example.com>"

> >IMHO yes.  and the value encded by that sender parameter is

> >"John D. Bloggs" <jdbloggs <at> example.com>

> OK. So is that behaviour written down anywhere (in RFC 2822 or RFC 2045)?

It is explicitly and formally laid out in the general parameter ABNF. Formal
languages are really good at this sort of thing.

> Or is it already implicit in those documents.

The use of the syntax to represent this sort of value is implicit, but IMO
completely obvious. This is also the approach used in RFC822, RFC2822, and
countless other documents.

> Or, to put it another way,
> does the first person who invents a parameter like that (which look like
> it will be me) have to say anything special to cover that case?

No.

> Well, I
(Continue reading)

Charles Lindsey | 4 Mar 2002 12:39
Picon
Picon

Re: quoted strings within quoted strings


In <01KEUMXC96WE005KUQ <at> mauve.mrochek.com> ned+ietf-822 <at> mrochek.com writes:

>> So I think I have to write something like

>> sender-parameter = [CFWS] "sender" [CFWS] "=" [CFWS]
>>                       <a quoted-string containing an escaped mailbox> [CFWS]

>> where I have to define "escaped" in the proper (recursive) way, and
>> probably also an "unescaping" operation.

>The MIME specification used to have per-parameter ABNF like this. The problem
>is that this ABNF is inevitably at odds with the more general ABNF and ends up
>being hugely confusing.

OK, the underlying problem is that you want to say that some
mumble-parameter is both a case of a general 'parameter' (as defined by
some syntax), and also has to satisfy some particular syntax of its own.

ABNF does not allow you to say that sort of thing directly, although you
CAN get the effect by saying 
	<a quoted-string containing an escaped mailbox> 
as I did above. I can see some benefit in both approaches, but note your
preference for not doing it that way.

>And there is ample data to support this point. I received numerous queries and
>complaints about the overlapping ABNF in the original MIME specification. Your
>query is the first I've seen about this sort of thing since all this gratuitous
>junk was removed from the MIME documents.

(Continue reading)

Marc Mutz | 4 Mar 2002 16:19
Picon
Favicon

Re: quoted strings within quoted strings


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Monday 04 March 2002 12:39, Charles Lindsey wrote:
<snip>
> All of which boils down to saying 'you can put CFWS on either side of
> a ";" or on either side of an "="'.
>
> Is that correct?

- From my reading of the rfc's, it is.

> An alternative way would that I am toying with would be to say: 
> 
> token = 1*<any (US-ASCII) CHAR except SP, CTLs or tspecials>
> value = [CFWS] token [CFWS] / quoted-string
> attribute = [CFWS] token [CFWS]
<snip>

But that would imply that the CFWS is _part_ of value and attribute, 
resp. It isn't. CFWS is never semantically relevant.

Marc

- -- 
Marc Mutz <mutz <at> kde.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
(Continue reading)

Pete Resnick | 4 Mar 2002 16:42

Re: quoted strings within quoted strings


On 3/4/02 at 11:39 AM +0000, Charles Lindsey wrote:

>quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
>
>token = [CFWS] 1*<any (US-ASCII) CHAR except SP, CTLs or tspecials> [CFWS]

Or if you like:

ttext = ALPHA / DIGIT / "!" / "#" /
        "$" / "%" / "&" / "'" / "*" / "+" /
        "-" / "^" / "_" / "`" / "{" / "|" / "}" / "~"

token = [CFWS] 1*ttext [CFWS]

>value = token / quoted-string
>attribute = token
>parameter = attribute "=" value
>Foo-header = "Foo" ":" <Foo specific stuff> [CFWS] *(";" parameter) [CFWS]

The trailing [CFWS] in Foo-header is unnecessary. The parameter ends 
with value, which can either be a token or a quoted-string, each of 
which ends with [CFWS].

pr
--

-- 
Pete Resnick <mailto:presnick <at> qualcomm.com>
QUALCOMM Incorporated - Direct phone: (858)651-4478, Fax: (858)651-1102

(Continue reading)

Charles Lindsey | 5 Mar 2002 11:57
Picon
Picon

Re: quoted strings within quoted strings


In <a05100305b8a94361d6de <at> [216.43.25.67]> Pete Resnick <presnick <at> qualcomm.com> writes:

>On 3/4/02 at 11:39 AM +0000, Charles Lindsey wrote:

>>token = [CFWS] 1*<any (US-ASCII) CHAR except SP, CTLs or tspecials> [CFWS]

>Or if you like:

>ttext = ALPHA / DIGIT / "!" / "#" /
>        "$" / "%" / "&" / "'" / "*" / "+" /
>        "-" / "^" / "_" / "`" / "{" / "|" / "}" / "~"

Yes, but I was trying to stick to the style of RFC 2045 as closely as
possible.

>>Foo-header = "Foo" ":" <Foo specific stuff> [CFWS] *(";" parameter) [CFWS]

>The trailing [CFWS] in Foo-header is unnecessary. The parameter ends 
>with value, which can either be a token or a quoted-string, each of 
>which ends with [CFWS].

Yup, and probably the other one as well if <Foo specific stuff> is written
sensibly.

--

-- 
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 <at> 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
(Continue reading)


Gmane