Document supported invitation entry and call revocation policy

This commit is contained in:
evgeny committed 2026-11-04 01:51:51 +01:00
1 parent 9d12bbad39
commit 6f261cd5df
3 files changed
+8 -8

No files matched your search

-1
View File
@@ -394,7 +394,6 @@ UASYNC/LL_QUEUE/MEMORY/TIMING объединены в SYS, NORMALIZER/BBR — в
- `route_connectivity.c/h` - Прямые UDP/TCP-пробы адресов узла для оценки достижимости и RTT при выборе пиров
- `topo_group.c/h` - Сессии UTUN/CHAT (JOIN/ACCEPT, эпохи, READY), групповые запросы, NODEINFO/WITHDRAW и владение NCD
- `topo_group_connect.c/h` - Подбор пиров CHAT-группы по роли: суперузлы → desktop → mobile; история/RTT внутри класса, backoff и standby burst
- `topo_group_invite.c/h` - Получение описания канала через INVITE_INFO_REQ/RESP; добавление мембера реализовано в chat_join/chat_sync
- `topo_node.c/h` - Модель TOPO_NODE/TOPO_GROUP_NODE, подписанные снимки узлов, сериализация и общий node_registry
- `topo_node_sqlite.c/h` - Хранение подписанных снимков узлов, адресов, каналов и блоков мемберов в общей SQLite
- `topo_recovery.c/h` - Восстановление потерянных маршрутов группы через READY-сессии, отмена попыток при stop
+7 -6
View File
@@ -6,6 +6,8 @@ RADIO/BROADCAST/MULTICAST из этапа 3.
Из этапа 3 также закрыты текущий допуск DB_SYNC PUSH/ACK, MESSAGES и SOUND_SETTING.
MEMBERS переведён на отложенную проверку версий; JOIN/recovery проверены через настоящий Merkle.
Из этапа 4 доработаны FILE_TRANSFER, прямой DM, mailbox/custody и попарная доставка личных файлов.
CALL/аудио/видео и DEVGROUP подключены к общему допуску; отзыв отменяет звонок/приглашение без переноса группы.
Устаревший GROUP_INVITE удалён; STREAM проверяет допуск при приёме и выходе из общей FIFO управления.
Полная матрица ещё не закрыта.
Граница отмены дисковых операций согласована с пользователем и реализована (раздел 5).
Уточнение объёма: по указанию пользователя UTUN пока не дорабатывать.
@@ -126,7 +128,7 @@ STREAM имеет собственные сессии и проверки уча
2.4. Bootstrap, синхронизация и личные данные
Routed JOIN обслуживает A-C, уже состоящих в канале; ему применим групповой допуск
и защита controls. Новый J входит через raw CHAT_SYNC/GROUP_INVITE. Исключения
и защита controls. Новый J входит через raw CHAT_SYNC JOIN. Исключения
разрешают только конкретную команду добавления с проверенным invite/add_key,
целевой идентичностью, каналом, attempt и сроком действия. Временного членства нет.
@@ -137,7 +139,7 @@ MEMBERS/Merkle может требоваться до admitted=1 для полу
наличие строки, placeholder или tombstone нельзя молча объявить достаточным правом:
каждый разрешённый bootstrap/recovery случай должен иметь отдельный тест.
Последовательность следующей доработки MEMBERS:
Исходный план доработки MEMBERS (выполнение описано в записях от 04.11 ниже):
- Отделить обычный допуск от первого получения состава после JOIN_READY и восстановления
состава при неполной цепочке подписантов. Проверить каждую причину admitted=0 отдельно.
- Сейчас JOIN_INFO_RESP сохраняет запись connection-узла, JOIN_READY завершает локальный
@@ -149,10 +151,9 @@ MEMBERS/Merkle может требоваться до admitted=1 для полу
placeholder, tombstone и старый READY сами по себе не являются основанием восстановления.
Для повторного восстановления после restart отдельно определить проверяемое основание,
не превращая историческую подпись в бессрочный доступ удалённого участника.
- Проверить raw GROUP_INVITE отдельно: действующий INFO_REQ передаёт только group_id,
без invite-ключа, и выдаёт описание канала любому ETCP-пиру. Не считать его уже
ограниченным правилами CHAT_SYNC JOIN_INFO_REQ; унифицировать с актуальным входом JOIN
либо явно ограничить назначение этого старого API и добавить отрицательные тесты.
- Raw GROUP_INVITE не имел проверок invite-ключа и не использовался клиентами.
В доработке от 04.11 endpoint, клиентский API и модуль удалены; ID0x13 зарезервирован.
Описание канала при вступлении выдаёт только актуальный CHAT_SYNC JOIN_INFO_REQ.
Для DM/CALL/DEVGROUP/FILE_TRANSFER разделять право пользоваться маршрутом группы
и право на личную беседу, вызов или объект. Сохранить проверки адресата и E2E,
+1 -1
View File
@@ -120,7 +120,7 @@ EXCHANGE_REQ 37, EXCHANGE_RESP 68, SELECTED/ACK 37. Массивы на пров
request_id ненулевой; ноль пропускается при переполнении счётчика.
DIRECT_RESP и DISCONNECT удалены; неизвестные команды отклоняются с WARN.
Удалённый узел не может командой закрыть локальную потребность сервиса.
Добавление участников и получение описания канала — chat_join/member_sync и topo_group_invite.
Добавление участников и получение описания канала по ключу приглашения — chat_join/chat_sync и member_sync.
## Фоновые проверки и освобождение