Re: Re: connection is broken - держаться больше нету сил!

От: Maxim Cherniavsky <CGatePro_at_mx_ru>
Дата: Sat 24 Dec 2005 - 13:59:36 MSK

Долго читал, много думал, считаю что тема broken не раскрыта :) Даже вот и не знаю как на сей опус отвечать, повестись что ли в очередной раз......
Видимо поведусь, а то как то скучно и слишком предсказуемо все закончилось

> On Fri, 23 Dec 2005 10:45:28 +0300
> "Maxim Cherniavsky" <CGatePro@mx.ru> wrote:
>
>> Vladimir A. Butenko wrote:
>>
>>>
>>> Очень хорошо ответил - то есть мы опять же в качестве гуманитарной
>>> помощи выдаем RSET в подобных ситуациях. На него вообще то-то надо
>>> отвечать 250, но если ответили 421 - мы понимаем, что серверу очень
>>> плохо, он нас не любит (нас, а не письмо - письмо уже обработалось,
>>> про него тут нигде речи нет), и мы САМИ тут закрываем соединение. А
>>> обрабатывается такая (в общем-то нестандартная) ситуация как и любой
>>> другой подобный "сбой того конца" - то есть как обрыв связи.
>>>
>>>
>> Вот на счет гуманитарной помощи я не понял :) Вот как это выглядит в
>> telnet сессии
>> ......
>> RCPT TO: skuzn@comail.ru
>> 450 <skuzn@comail.ru>: Recipient address rejected: Acc
ount skuzn is
>> temporary blocked, please visit http://noc.comstar.ru/mail_blocked.html
>> 421 mx1.comstar.ru Error: too many errors
>> Connection closed by foreign host.
>>
>> Т.е приходит подряд два ответа, что на мой вгляд ничему не
>> противоречит (rfc 2821)
>>
>> An SMTP server MUST NOT intentionally close the connection except:
>>
>> - After receiving a QUIT command and responding with a 221 reply.
>>
>> - After detecting the need to shut down the SMTP service and
>> returning a 421 response code. This response code can be issued
>> after the server receives any command or, if necessary,
>> asynchronously from command receipt (on the assumption that the
>> client will receive it after the next command is issued).
>> ключевое слово asynchronously что на самом деле и происходит, и по
>> логам CGP мы видим как будто 421 вернулся на RSET, что на самом деле
>> не так.
>
>
> Вчитайтесь внимательнее. Это как раз тот самый пример, мягко говоря,
> неквалифицировнности - у авторов всяко разных "расширений протоколов".

Ну какое расширение то? В 821ой тоже было про 421 вообще на любую команду, в разделе sequence of commands

>
> НИКАКОЙ асинхронности в SMTP НЕТУ: "on the assumption that the
> client will receive it after the next command is issued". То есть что
> происходит если кто-то, переболев менингитом и выжив, будет следовать
> этому правилу: мне захотелось что-то клиенту сказать. Понятия
> "асинхронного ответа" у меня в протоколе нет. Но я очень хочу. Поэтому
> я ему посылаю - "on the assumption". Вот такой получается диалог:
>
> C: Хочешь пряник?
> S: Да.
> S - пробует, не нравится
> S: нет!
> С: Хочешь жить?
> С - пиф-паф.

Я конечно давно ничего уже не писал, но мне почему то кажется что 421 будет лежать в буфере на клиентской стороне, поэтому особых проблем с асинхронностью быть не должно
Послав любую команду и сделав очередной read до CRLF выдаст этот 421 (помним что сервер после 421 уже соединение разорвал)

>
> Разговор на уровне того мальчика-тормоза. Выдача RSET НЕМНОЖНО
> приводит в себя таких заторможенных. Потому что появляется шанс, что
> их яростное
> "421 НЕТ Кстплуатации народных ресурсов" попадёт туда, куда они
> хотели, а не на следующий запрос MAIL FROM, например.
Выдача RSET куда? В закрытый сокет? Ну-ну, для собственного успокоения конечно можно, только это гуманитарная помощь уже себе И чем плохо сказать 421 на MAIL FROM?
>
> Собственно, протокол (настоящий, а не "улучшенный красной
> профессурой") настоятельно рекомендует выдавать RSET - именно поэтому.
> А можно было бы и бритовкой-та: выдать просто QUIT, а получив на QUIT
> 421 - отложить подобных творцов "assumptions" на весьма конкретное
> время (Retry Every), потому как писать им явно надо медленно, быстро
> оне не читают.

"Настоящий" это какой? Именя меня любимого Володи Бутенко? Такого RFC еще не читал.

>
>>
>>
>> " after the server receives any command" говорит так же что 421 может
>> быть на любую команду, если я конечно все правильно понимаю
>
>
> ВЫ - понимаете правильно. То, что написано. А оне - писатели - не
> понимали (вааще никак) - к чему подобные "советы" могут приводить. Я
> вот и пытаюсь Вам это об"яснить (им об"яснять бесполезно, иных уж нет).

Писатели в 89 году видимо тоже не понимали, если "писатели" за 12 лет это не выкинули, то может у писателей мысль какая была? Наша с вами задача ведь этим письменам следовать, не так ли?

>>
>> Мне кажется что будет достаточно еще одной опции, отключить
>> сериализацию по домену и позволить дать каждому письму жить своей
>> жизнью, это самое ж простое
>
>
> И открывать на каждое письмо по соединению? То есть упал в очередной
> раз hotmail.com. И скопилось у вас на него 100,000 писем - очень
> частая ситуация. После чего бросаем всё и открывает 100000 соединений
> в hotmail.com, да? У них хоть и нету CGatePro там - но даже их
> самоделка это дело пресечет быстро - "connections per host", думаю,
> там стоит - и будут у вас письма болтаться еще больше.

Ну тут, извините конечно, полный бред. Ну где и как это следует из того что я пишу третий день? Как интересно связано открытие одновременно 100000 соединений с темой обсуждения? Это извините chanels per host назвается

Еще раз попытаюсь обьяснить для тех кто в танке: 1. Неудачные попытки соединения (таймауты, обрывы связи и прочие проблемы сетевого уровня) - первая категория ошибок с соответствующим delay, но PER MESSAGE !
2. 421 обычная 4хх ошибка со своим delay, но PER MESSAGE! Я вот например просто в каске, и не понимаю зачем весь хост блокировать и о какой экономии ресурсов тут идет речь. Для борцов за чистоту протоколов, можно даже галочку оставить, чтобы их любимый CGPro продолжал недоставлять большой процент корреспонденции.

>
>> А по поводу "Субж" - это первый раз когда мы получили развернутый
>> ответ что же есть на самом деле "connection broken", последний ответ
>> который мы получали на данный вопрос это "играйтесь с временными
>> настройками", так что я приятно удвилен :)
>
>
> Чем чаще Вы будете приводить выдержки из логов, тем более глубоким и
> частым будет Ваше удивление.
>
> Далее - уже сугубо личное мнение (пользуясь непробиваемым
> гостеприимством владельца списка).

Владелец молодец - держится еще! Его меткие и четкие замечания дарят мне отличное настроение :)

> Борьба с доставками писем на всякие hotmail.com, yahoo.zu и прочие
> подобные службы - это выполнение работ этих служб по обслуживанию ИХ
> клиентов. Если кто-то заводит себе аккаунт на чем-то подобном для
> целей, отличных от сбора спама (Internet-продавцу отдать в качестве
> адреса, молодому человечку - вместо "телефончика"), то он[а] сам[а]
> ищет приключение на свою косую сажень. Зачем мешать е[й|му] в этом
> увлекательнейшем занятии?

Не лукавьте :) Религия же позовляет вам в телефонной станции описывать workarounds для разных телефонов? Целую страничку сделали, или там материальная заинтересованность выше?

>
> Вы же, увидев мужичонку, корчащегося в муках страсти от выпитого
> бесплатного денатурата - не кидаетесь перепланировать свой под"езд,
> увеличивая число углов, в которых ему, болезному, было бы сподручнее
> расставаться с радостно потреблённым? А вот задержками в доходе почты
> до него, халявшика-денатуратчика - Вы обеспокоены безмерно...
>

Вот эту глубокую мысль про денатурат я если честно до конца не понял. Ключевое слово "бесплатный" или "денатурат" ? :)

Вообще, если честно, я немного огорчен что никто собственно в полемику не вступил ни с одной стороны (а я не верю что проблемы с broken только меня преследуют)
Или нашей "кипучей" энергии хватает только на написание хвалебных од? Странно что поэмы в стихах еще нет
Да и российское представительство хранит гордое молчание, видимо не хочет пачкаться.

-- 
Best regards,
                Maxim Cherniavsky, разбивший голову об ветряную мельницу
                mailto: maxim (at) comstar.ru 
Получено Sat Dec 24 10:59:53 2005

Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:17:58 MSK