40 lines
3.8 KiB
Markdown
40 lines
3.8 KiB
Markdown
# 0.4.0
|
|
|
|
Экспериментальная версия; полная взаимозаменяемость с Prosody не заявляется.
|
|
|
|
- SASL2 Bind2: опциональный модуль `sasl2_bind2` (alias `bind2`), 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 package `websockets`.
|
|
|
|
Изменений формата пользовательских файлов не требуется. Существующий конфиг
|
|
не включает Bind2 автоматически. Для переключения рабочего сервера всё ещё
|
|
требуются проверка копии данных и проверки целевых клиентов/окружения;
|
|
актуальные пределы перечислены в COMPATIBILITY.md.
|