Mercurial > hg > nginx
view docs/dtd/changes.dtd @ 7841:ccdf83bee8c1
Mail: fixed backslash handling in IMAP literals.
Previously, s->backslash was set if any of the arguments was a quoted
string with a backslash character. After successful command parsing
this resulted in all arguments being filtered to remove backslashes.
This is, however, incorrect, as backslashes should not be removed from
IMAP literals. For example:
S: * OK IMAP4 ready
C: a01 login {9}
S: + OK
C: user\name "pass\"word"
S: * BAD internal server error
resulted in "Auth-User: username" instead of "Auth-User: user\name"
as it should.
Fix is to apply backslash filtering on per-argument basis during parsing.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 19 May 2021 03:13:23 +0300 |
parents | 5e3bda6f5208 |
children | e79c7521aaf4 |
line wrap: on
line source
<!ENTITY nbsp " " > <!ENTITY mdash " - " > <!ELEMENT change_log (changes)* > <!ATTLIST change_log title CDATA #REQUIRED > <!ELEMENT changes (change)* > <!ATTLIST changes ver CDATA #REQUIRED date CDATA #REQUIRED > <!ELEMENT change (para)* > <!ATTLIST change type (bugfix | feature | change | security | workaround) #IMPLIED > <!ELEMENT para (#PCDATA | at | br | nobr)* > <!ATTLIST para lang (ru | en) #REQUIRED > <!ELEMENT at EMPTY > <!ELEMENT br EMPTY > <!ELEMENT nobr (#PCDATA) >