Retained Mosquitto после изменения ACL: проверить права исходного издателя

Запросить

Фотография конкретного исполнения не приложена.

Сообщение могло быть опубликовано как retained, когда у источника было право записи. Позже это право могло измениться. Check_retain_source определяет проверку прав исходного источника перед повторной выдачей retained новому подписчику. Наличие сохранённого значения поэтому не всегда означает разрешённую повторную доставку в текущей политике.

При true, документированном значении по умолчанию, такая проверка выполняется. При false она отключена. Это глобальный параметр, действующий независимо от per_listener_settings. Его область нельзя выводить только из того, на каком listener сейчас проверяется конкретная новая подписка устройства.

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

В приёмке публикуют известное retained-состояние в тестовой ветке, меняют согласованное право источника и подключают нового разрешённого подписчика. Сверяют фактическую выдачу с политикой. Отсутствие нового PUBLISH от источника не подтверждает, что старое retained будет обрабатываться после изменения ACL так же, как прежде.

Основание — Eclipse Mosquitto official unversioned documentation snapshot; Download index observed 2.1.2, разделы check_retain_source. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Реальный брокер, его сборка, плагины и сеть не испытывались. Изменения конфигурации, учётных записей и прав не выполнялись; поддержку параметров проверяют по установленной версии.

Все разборы