Files
utun2/src/chat/chat_admin.h
T

34 lines
1.7 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* chat_admin.h — передача канального приватного ключа (прав админа) другому узлу
*
* Владелец канала (имеющий ed25519_privkey + x25519_privkey) может передать оба ключа
* выбранному узлу. Передача идёт через сервисный пакет etcp_router с
* ROUTE_CRYPTO_SIGN | ROUTE_CRYPTO_ENCRYPT: X25519 ECDH + AES-128-CCM и Ed25519-подпись.
* Получатель сверяет выведенные публичные ключи с уже известными ключами канала,
* сохраняет оба privkey атомарно и после commit синхронно публикует CHAT_EVT_ADMIN_KEY_RECEIVED.
* Ошибка SQL/crypto сохраняет прежнюю пару без события успеха; корректный повтор допустим.
* Внешняя SQL-транзакция отклоняет входящий импорт; незавершённый rollback требует restart.
* Модуль включается/отключается chat_sync; все вызовы — в потоке uasync.
*/
#ifndef CHAT_ADMIN_H
#define CHAT_ADMIN_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
struct UTUN_INSTANCE;
/* Зарегистрировать ETCP_RT_ID_ADMIN_KEY; 0/-1. inst обязателен, повтор заменяет callback. */
int chat_admin_init(struct UTUN_INSTANCE* inst);
/* Снять обработчик; NULL допустим, отсутствие регистрации логирует router. */
void chat_admin_destroy(struct UTUN_INSTANCE* inst);
#ifdef __cplusplus
}
#endif
#endif /* CHAT_ADMIN_H */