broken-auth-clients

<source>устарела

Устаревшая, без описания и без названной замены
в конфигурации это строкаbroken-auth-clientsвнутри блока <source>
Имя есть, содержания нет

Раздел § 3.3.7.16 состоит из одного слова: «Deprecated». Ни описания, ни синтаксиса, ни умолчания, ни имени замены — руководство не говорит даже, что директива делала, пока была живой.

Таких случаев в каталоге два: так же, одним словом, помечена pickup-retry-interval. У большинства прочих устаревших директив замена названа: smtp-ip отсылает к smtp-listener, max-msg-per-hour — к max-msg-rate. Здесь отсылки нет, и карточка не показывает плашку «вместо неё» не потому, что мы её не заполнили, а потому, что подставлять нечего.

Что известно точно. Директива относилась к блоку <source>, то есть к приёму почты, и стоит сразу за группой настроек входа и шифрования (§ 3.3.7.7–3.3.7.15): от allow-auth и require-auth до require-starttls-before-auth. Указатель директив главы 15 имя знает и ссылается на этот же пустой раздел.

Что подсказывает имя — и чего оно не доказывает. «Клиенты со сломанным входом» читается как послабление для программ, реализовавших команду AUTH не по правилам. Это чтение имени, а не факт из руководства: чем именно строка послабляла и в какую сторону, вендор не написал. Строить на такой догадке настройку нельзя — а вот узнать имя в старом файле она помогает.

Главная ловушка — принять пустой раздел за упущение вендора и додумать поведение. Директива названа устаревшей, и это всё, что о ней известно; догадка о смысле имени останется догадкой, сколько её ни повторяй. Строку в унаследованной конфигурации надо не толковать, а убирать — и, если после этого какой-то клиент перестанет входить, разбираться с ним по журналу входа, а не возвращать строку обратно.
Что делает Хаб. Не пишет — и написать не мог бы: неизвестно, что строка задаёт.

Настройки входа у Хаба только описанные: логин на каждую отправляющую пару и общий логин пула — в источниках с require-auth; вход открытым паролем разрешён (allow-unencrypted-plain-auth), STARTTLS предлагается, но не требуется. Послаблений для нестандартных клиентов там нет. Подают почту платформы рассылки и прогрев Хаба; если чей-то клиент не сможет войти, разбираться придётся по журналу входа, а не этой строкой.

Рекомендуемые значения

Что ставить. Ничего. Строку следует убрать из конфигурации — это единственная рекомендация, которую можно дать, не выдумывая.

Значение Когда
не писать всегда
что-либо никогда: чем строка управляет, неизвестно

Если строка нашлась в унаследованном файле — убрать и проверить вход тех клиентов, что подают почту на этот узел. Обратная замена не потребуется: по смыслу имени строка могла лишь разрешать нестандартное поведение, а не запрещать, и её удаление ужесточает проверку, а не ослабляет её.

Пометка об устаревании и принадлежность блоку подачи — из руководства, § 3.3.7.16. Чтение имени и порядок действий с унаследованной строкой — наши; поведения директивы руководство не описывает нигде.
Пример в конфигурации
# примера руководство не даёт — вот как строка выглядит
# в унаследованной конфигурации, и её надо убрать
<source 0/0>
    broken-auth-clients yes    require-auth true
</source>
Форма значения выведена по типу директивы, а не взята из руководства: примера у неё нет. Верхнюю строку убирают, нижнюю оставляют — она и есть настоящая настройка входа.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается3 ошибки▶

Ищут описание в другом разделе руководства

§ 3.3.7.16

Чем чреватоЕго нет нигде: ни в главе о входе, ни в указателе директив — указатель ссылается на тот же пустой раздел. Время уходит на поиск того, чего вендор не написал.
Как заметитьПоиск по имени находит оглавление, сам раздел и указатель — и всё ведёт к пометке «устарела».
Как правильноПринять как есть: содержания нет. Строку убрать, а поведение входа настраивать директивами, которые описаны.

Оставляют строку «на всякий случай»

§ 3.3.7.16

Чем чреватоУстаревшая директива без описания — это строка, о которой никто в команде не сможет сказать, что она делает. При разборе проблемы со входом она будет отвлекать внимание каждый раз.
Как заметитьВ конфигурации есть настройка, объяснить которую не может ни один участник команды.
Как правильноУбрать. Если вход клиента после этого сломается, причина найдётся в журнале и лечится описанными директивами.

Толкуют имя как документацию

§ 3.3.7.16

Чем чревато«Клиенты со сломанным входом» — правдоподобное чтение, но не описание. Настройка, построенная на догадке о чужом коде, ведёт себя непредсказуемо, и проверить догадку не по чему.
Как заметитьВ обсуждении конфигурации звучит «эта строка, кажется, для клиентов, которые…».
Как правильноРазделять, что известно и что предполагается. Здесь известно только имя, блок и слово «устарела».
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
broken-auth-clients <boolean>
Значения
не документировано — раздел руководства состоит из пометки об устаревании
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
По типу записи — слияние по совпадающим блокам <source>, узкая запись перекрывает широкую, как у прочих настроек подачи. Проверить это на поведении нельзя: чем директива управляет, неизвестно, и наблюдать за результатом слияния не за чем.
Как проверить на узле
Ищут её только для того, чтобы убрать:
grep -rn 'broken-auth-clients' /etc/pmta/
pmta test config
Вторая команда проверит, что после удаления строки конфигурация по-прежнему разбирается. Убедиться, что удаление ничего не сломало, можно только по журналу входа: вход клиентов после перезагрузки конфигурации должен идти как раньше.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Жизненный цикл конфигурации