From: Sergey Vlasov <vsu@altlinux.ru> To: smoke-room@lists.altlinux.org Subject: Re: [room] Postfix и багтрекер Date: Mon, 21 Feb 2011 00:25:37 +0300 Message-ID: <20110221002537.26817c28@atlas.home> (raw) In-Reply-To: <201102202243.50829.a_s_y@sama.ru> On Sun, 20 Feb 2011 22:43:49 +0300 Sergey wrote: > On Sunday 20 February 2011, you wrote: > > > > Одна вот из идей - баги развесить по поводу соблюдения RFC 1652. И вот > > > весь вечер по сайту Postfix лазию - тишина. В рассылках, что ли, пишут... > > > > Это бага разработчиков портала госуслуг. > > Не только. Допустить эту багу им позволила именно плохая поддержка RFC 1652 > рядом MTA. Иначе они на неё бы сразу наступили. В RFC 1652 написано конкретно: > > (4) one optional parameter using the keyword BODY is added to > the MAIL FROM command. The value associated with this > parameter is a keyword indicating whether a 7bit message > (in strict compliance with [1]) or a MIME message (in > strict compliance with [3]) with arbitrary octet content > is being sent. > > [1] - это > > [1] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821, > USC/Information Sciences Institute, August 1982. > > А там написано не менее конкретно: > > The mail data may contain any of the 128 ASCII characters. All > characters are to be delivered to the recipient's mailbox > including format effectors and other control characters. If > the transmission channel provides an 8-bit byte (octets) data > stream, the 7-bit ASCII codes are transmitted right justified > in the octets with the high order bits cleared to zero. На самом деле это требование относится к передающей стороне, где и находится настоящая ошибка. Про поведение принимающей стороны в старом RFC 821 ничего явно не сказано; а вот в RFC 2821 уже написано: Commands and replies are composed of characters from the ASCII character set [1]. When the transport service provides an 8-bit byte (octet) transmission channel, each 7-bit character is transmitted right justified in an octet with the high order bit cleared to zero. More specifically, the unextended SMTP service provides seven bit transport only. An originating SMTP client which has not successfully negotiated an appropriate extension with a particular server MUST NOT transmit messages with information in the high-order bit of octets. If such messages are transmitted in violation of this rule, receiving SMTP servers MAY clear the high-order bit or reject the message as invalid. In general, a relay SMTP SHOULD assume that the message content it has received is valid and, assuming that the envelope permits doing so, relay it without inspecting that content. Of course, if the content is mislabeled and the data path cannot accept the actual content, this may result in ultimate delivery of a severely garbled message to the recipient. Delivery SMTP systems MAY reject ("bounce") such messages rather than deliver them. No sending SMTP system is permitted to send envelope commands in any character set other than US-ASCII; receiving systems SHOULD reject such commands, normally using "500 syntax error - invalid character" replies. > Postfix же бит в ноль не сбрасывает, что есть ошибка. Так что, в теории, > надо чинить. :-) По букве RFC - не ошибка, поскольку написано MAY; более того, в качестве предпочтительного (SHOULD) предлагается как раз поведение Postfix - принимать и обрабатывать сообщение в том виде, в котором его передали, не обращая внимания на нарушение 7-битности. Объявлять такое поведение багом, скорее всего, бесполезно - вряд ли кто-то будет делать изменения, ухудшающие совместимость Postfix с реально встречающимися серверами. Впрочем, текущее поведение Sendmail (принудительный сброс старшего бита) этим MAY тоже разрешено.
next prev parent reply other threads:[~2011-02-20 21:25 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-02-20 17:09 Sergey 2011-02-20 17:33 ` Aleksey Novodvorsky 2011-02-20 18:32 ` Sergey 2011-02-20 18:52 ` Sergey 2011-02-20 19:08 ` Aleksey Novodvorsky 2011-02-20 19:43 ` Sergey 2011-02-20 19:47 ` Aleksey Novodvorsky 2011-02-20 20:33 ` Sergey 2011-02-20 19:49 ` Sergey 2011-02-20 21:25 ` Sergey Vlasov [this message] 2011-02-20 21:52 ` Sergey 2011-02-20 22:06 ` Sergey
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20110221002537.26817c28@atlas.home \ --to=vsu@altlinux.ru \ --cc=smoke-room@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Культурный офтопик This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \ smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com public-inbox-index smoke-room Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.smoke-room AGPL code for this site: git clone https://public-inbox.org/public-inbox.git