3.8 KiB
3.8 KiB
0.4.0
Экспериментальная версия; полная взаимозаменяемость с Prosody не заявляется.
- SASL2 Bind2: опциональный модуль
sasl2_bind2(aliasbind2), inline SM, CSI, Carbons, MAM metadata, случайные ресурсы и замена сессии того же аккаунта с тем же валидным UUIDv4 устройства. SASL2 inline resume пока нет. - PubSub/PEP: full-JID blocklist во всех путях доставки и replay, соблюдение
include_payloadпри replay, native deliver_notifications/deliver_payloads, независимые правила notify_retract, корректные publish-options ошибки и сравнение native строковых лимитов max_items. - MUC: защита от понижения/исключения равного модератора без admin/owner, сохранность бинарной occupant_id_salt и приоритет native _affiliations. Нативные MUC-блокировки домена запрещают вход и исключают текущих участников.
- Федерация: общий deadline аутентификации, проверка положения TLS/SASL features в XML, нормализация регистра доменов, проверка DNS labels и безопасное переподключение до передачи stanza актору записи.
- Push: только текст настоящего body/subject в namespace сообщения включается в summary/importance; содержимое чужих XML extensions не раскрывается.
- Сообщения: fallback отсутствующего full JID на активные ресурсы, native правила headline/error/groupchat; offline-доставка bodyless receipts и no-permanent-store без сохранения последнего в MAM.
- HTTP: обрезка допустимого byte range до конца файла, квоты просроченных незагруженных слотов, синхронизация PUT с очисткой, регистронезависимый Bearer и сохранение XML namespaces WebSocket/BOSH. Поддержаны URL с завершающим слешем и WS CORS OPTIONS. BOSH продолжает обработку RID после HTTP disconnect, сохраняет ответ для повторного запроса и не выполняет stanza дважды. Число обработчиков и время выполнения ограничены.
- Каталог данных блокируется между процессами Rust, включая CLI create-user. Блокировка не защищает от одновременно работающей Prosody.
- Нагрузочный сценарий поддерживает несколько аккаунтов и несколько раундов сообщений; проверяется также адрес реального отправителя.
bash scripts/verify-local.shповторяет сборку и доступные локальные протокольные проверки. HTTP-тест требует Python packagewebsockets.
Изменений формата пользовательских файлов не требуется. Существующий конфиг не включает Bind2 автоматически. Для переключения рабочего сервера всё ещё требуются проверка копии данных и проверки целевых клиентов/окружения; актуальные пределы перечислены в COMPATIBILITY.md.