medzera v adrese

Dan Lukes dan na obluda.cz
Sobota Červen 29 03:28:19 CEST 2002


Peter Mann wrote:


>>podla rfc821 sa mi zdalo, ze by to malo byt mozne, avsak neviem to
>>nastavit vo virtusertable.


> podla mna sa to neda, urcite sa najde niekto, kto prida aj patricnu cast
> z RFC ... btw rfc821 je nahradene novym rfc2821

	Vidim, ze ty citace zustanou na me ... ;-)

	Vybiram samozrejme jen pro nas pripad relevantni cast.

RFC2821:
Local-part     =  Dot-string / Quoted-string
Dot-string     =  Atom *("." Atom)
Atom           =  1*atext

Quoted-string  =  DQUOTE *qcontent DQUOTE

Pro zbytek definic ale musime sahnout uz jinam - do RFC2822:
atext           =       ALPHA / DIGIT / ; Any character except controls,
                         "!" / "#" /     ;  SP, and specials.
                         "$" / "%" /     ;  Used for atoms
                         "&" / "'" /
                         "*" / "+" /
                         "-" / "/" /
                         "=" / "?" /
                         "^" / "_" /
                         "`" / "{" /
                         "|" / "}" /
                         "~"

qcontent        =       qtext / quoted-pair
quoted-pair     =       ("\" text) / obs-qp
qtext           =       NO-WS-CTL /     ; Non white space controls

                         %d33 /          ; The rest of the US-ASCII
                         %d35-91 /       ;  characters not including "\"
                         %d93-126        ;  or the quote character

DQUOTE, ASCII value 34 (")

NO-WS-CTL       =       %d1-8 /         ; US-ASCII control characters
                         %d11 /          ;  that do not include the
                         %d12 /          ;  carriage return, line feed,
                         %d14-31 /       ;  and white space characters
                         %d127
text            =       %d1-9 /         ; Characters excluding CR and LF
                         %d11 /
                         %d12 /
                         %d14-127 /
                         obs-text


Navzdory tomu, ze formalni specifikace takove veci dovoluje, v textu 
odstavce 4.1.2 je explicitne zakazano definovat mailboxy obsahujici 
kontrolni znaky tj. 1-31 a 127.

Takze, bud adresu uzavreme do uvozovek (varianta "quoted-string") - pak 
muze obsahovat ASCII pocinaje mezerou (32) a konce "~" (126) s tim, ze 
v uvozovkach je nutne backlash a samotne uvozovky quotovat backslashem.

Nicmene, text 4.1.2 dale odrazuje (SHOULD NOT) od pouzivani takovych 
jmen, ktera vyzaduji zapis pomoci uvozovek, takze pokud budeme 
respektovat toto omezeni musime si vystacit s variantou "dot-string" a 
ta nam oproti predchozi variante nedovoluje pouzit znaky  "(),:;<>@[\] - 
a krome nich ani mezeru.

Jen na okraj bych podotkl, ze definice emailovych adres tak, jak ji 
definuje RFC2822 je daleko sirsi (ta totiz v uvozovkach povoluje uplne 
vsechny US-ASCII znaky vcetne konmtrolnich krome NUL) a tak tedy 
existuje cela velka trida emailovych adres, ktere jsou sice regulernimi 
adresami, ale ktere nelze vubec prenest pomoci (E)SMTP ...

------------

	Vratim-li se tedy od teorie zpet k praxi - zkuste quotovany zapis bez 
uvozovek, tedy
Janko\ Hrasko na domena.cz
nicmene je take docela dobre mozne, ze s ohledem na zminene "SHOULD NOT" 
proste virtusertable takovy format vubec nebude podporovat, protoze 
takovouhle adresu proste vubec nemate mit ...

							Dan




-- 
Dan Lukes,  SISAL, MFF UK  tel: +420 2 21914205, fax: +420 2 21914206
AKA: dan na obluda.cz, dan na freebsd.cz, dan na kolej.mff.cuni.cz, dan na fio.cz



Další informace o konferenci Sendmail