Re: email address in a URI

Etan Wexler wrote:
 
> The form <quoted-string> is neither listed as obsolete nor is
> obsolete in practice.

A quoted-pair for NO-WS-TL in a quoted-string is utter dubious,
the worst practical case is the quoted-pair "\" SP.

 [percent-ecoding] 
> The ambiguity is zero.

Yes, but you've to be very sure that nobody encodes or decodes
the tags more than once.

> tag-atext         = ALPHA / DIGIT /
>                      "!"   / "%23" /
>                      "$"   / "%25" /
>                      "&"   / "%27" /
>                      "*"   / "+"   /
>                      "-"   / "%2F" /
>                      "="   / "%3F" /
>                      "%5E" / "_"   /
>                      "%60" / "%7B" /
>                      "%7C" / "%7D" /
>                      "~"

That's IMHO very elegant...

> tag-no-fold-quote = "'" *tag-qtext "'"

...here it starts to get tricky, you'e replaced DQUOTE by "'"
avoiding the "%22" for a percent-encoded-DQUOTE, and then you
replace all quoted-pairs (backslash + whatever) by the escaped
character:  
 
> tag-qtext         = "%01" / "%02" / "%03" / "%04" /
[...]
>                      "%1D" / "%1E" / "%1F" / "%20" /

NO-WS-CTL is utter dubious, no matter what the standards say,
without "security considerations" I'd stay away from this crap.

>                      "!"   / "%22" / "%23" / "$"   /
>                      "%25" / "&"   / "%27" / "("   /

Maybe it's also elegant, but it's not obvious, you take the
"semantical content" of a quoted string as defined in 2822, in
other words, remove all backslashes from \x, and then you use
"'" instead of DQUOTE, and finally you percent-encode it, e.g.

1: "\\\"it's\ ugly\\\""@example            input address
2: "\"it's ugly \""@example                semantical content
3: '%5C%22it%27s%20ugly%5C%22'@example     percent-encoded

Works, but it's no straight forward scheme.  The alternative...

   %22%5C%5C%5C%22it's%22%20ugly%5C%5C%5C%22%22@example

...is much longer and a pain, but needs no special explanation.

> colon already has a reserved meaning within ?tag? URIs,

Yes, anything that's reserved must be encoded, ":" => "%3A".

> If the number sign were to appear literally, it would start
> a fragment identifier where none belongs.

The scheme has fragments, so ""#" => "%23" is clear.  It does
not define a path or query, I'm not sure about "/", "?", "=" -
do you propose to reserve it because it would be too confusing,
or is this actually necessary ?

[...]
>       ALPHA / "%5B" / "%5C" / "%5D" /

Be careful with ALPHA, local parts are case sensitive.   Bye.

Received on Sunday, 10 July 2005 15:15:26 UTC