qmail a spatne odesilani (To:) [trosku delsi]
Vladimír Solnický
solnicky na vegacom.cz
Čtvrtek Květen 23 16:06:55 CEST 2002
23. 5. 2002 napsal(a) Lubos Kaspar na téma ,Re: qmail a spatne odesilani (To:)`:
[...]
LK> > ...
LK> > > To: =?iso-8859-2?Q?Obad=E1lek_Martin=2C_Ing.?= <Martin.Obadalek na csc.cz>
LK> > ...
LK> > Mohl by být v tečce -- ve From: a v To: nesmí byt volně tečka (musí být
LK> > buď v uvozovkách, uvozena obráceným lomítkem nebo v tomto případě
LK> > zakódována v kódování Q jako =XY).
LK>
LK> Myslím, že nikoliv. Pokud je skutečná adresa v <> jako zde, tak to předtím
LK> je všechno tzv. full-name a tam klidně tečka být může. Kromě toho MTA
LK> doručuje podle obálkových adres (RFC2821) nikoliv podle hlavičkových (RFC2822).
LK> Asi by bylo dobré se podívat do mail-logu - tam by se asi dalo vystopovat,
LK> kdo za to může. Osobně tipuji, že viníkem je nějaký nekorektní MUA.
Protože v hlavě nosím spíše starší RFC, podíval jsem se zběžně do RFC 2822
a myslím si, že není možno použít tam tečku.
Důvod 1 (možná méně důležitý):
##############################
Pokud jsem něco nepřehlédl, je ve formě ,,text <adresa na doména>`` na místě
slova text možno použít prvek zvaný ,,phrase``, který je definován jako
phrase = 1*word / obs-phrase
a po dalších definicích dostanu:
word = atom / quoted-string
quoted-string = [CFWS]
DQUOTE *([FWS] qcontent) [FWS] DQUOTE
[CFWS]
atom = [CFWS] 1*atext [CFWS]
atext = ALPHA / DIGIT / ; Any character except controls,
"!" / "#" / ; SP, and specials.
"$" / "%" / ; Used for atoms
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~"
Vaši tečku obsahuje prvek zvaný ,,dot-atom-text``, který tam ale uveden
není:
dot-atom = [CFWS] dot-atom-text [CFWS]
dot-atom-text = 1*atext *("." 1*atext)
Nestudoval jsem formy ,,obs*``, které budou přísnější, protože
zachovávají funkčnost/kompatibilitu s se staršími, dnes už
nedoporučovanými typy adresování.
Důvod2:
########
Definice kódování Q z RFC 2047 (MIME v hlavičkách) zakazuje mít ve
výsledku znak tečka v položce To:, neboť:
(3) As a replacement for a 'word' entity within a 'phrase', for example,
one that precedes an address in a From, To, or Cc header. The ABNF
definition for 'phrase' from RFC 822 thus becomes:
phrase = 1*( encoded-word / word )
In this case the set of characters that may be used in a "Q"-encoded
'encoded-word' is restricted to: <upper and lower case ASCII
letters, decimal digits, "!", "*", "+", "-", "/", "=", and "_"
(underscore, ASCII 95.)>. An 'encoded-word' that appears within a
'phrase' MUST be separated from any adjacent 'word', 'text' or
'special' by 'linear-white-space'.
Závěr:
#######
Ať už původní chyba byla způsobena tečkou nebo nebyla, doporučoval bych
tazateli, aby nainstaloval opravenou verzi klientského programu, protože
omezení nejsou cucána z prstu, ale zajišťují ošetření kolizí nových
způsobů adresování se starými. Zájemci si mohou přečíst verzi o
překonaných způsobech adresování v RFC 2822 (sekce 4.4. Obsolete
Addressing) nebo je možno si přečíst starší verzi RFC 822.
S pozdravem
V. S.
--
Mgr. Vladimír Solnický <solnicky na vegacom.cz>, sys. administrace IT,
Vegacom, a. s., Šenovská 434, 182 03 Praha 8-Ďáblice, CZ,
telefón +420 2 66005154, MT +420 603 855154, telefax +420 2 66005560.
Píši pouze za sebe, ne za Vegacom / Speaking for myself only ...
Další informace o konferenci Sendmail