Процесс входа

  1. client показывается список доступных методов авторизации
  2. server выбранный метод авторизации + SALT (если необходим)
  3. client авторизация
  4. server сообщение об удачном или неудачном входе
  5. client подверждение готовности приёма (+ открытый ключ)
  1. client отсылка контакного списка на сервер
  2. server уведомление о подключенных ползователях из списка

Пакеты

[client] список методов авторизации

hello
version:plain1
method:md5:sha

[server] выбранный метод авторизации

hello
method:md5
salt:<salt>

[client] авторизация

login
uin:<uin>
pass:<digest>
authority:admin

server - успешный вход

accept

server - предупреждение о разрыве коннекта

reject
reason:<N>:<text>

[client] готовность связи

ready
nick:<nick>
rsa:<key>

[client,server] сообщение

message
uin:<N>
crypt:rsa
enc:cp1251
form:plain
text:<raw>

[client] запрос открытого ключа

key-get
uin:<uin>
date:<date>
crypt:rsa

[server] пересылка открытого ключа

key
uin:<uin>
date:<date>
crypt:rsa
md5:<digest>
value:<raw>

[client] установка контактного списка

list
<uin1>
<uin2>
<uin3>
<...>

[server] подключение пользователя(лей)

online
<uin1>:<nick1>
<uin2>:<nick2>
...

[server] отключение пользователя

offline
uin:<uin>

[client] добавление в список

add
uin:<uin>

[client] удаление из списокa

del
uin:<uin>

[client,server] запрос подписи ключа

key-get-sig
uin:<uin>
crypt:rsa
method:<md5>

[client,server] подпись ключа

key-sig
uin:<uin>
crypt:rsa
method:<md5>
value:<value>

[client,server] сообщение об ошибке

warning
uin:<uin>
text:<text>

Чаты

[client,server]создание чата

chat-make
name:<name>
id:<id>

[client,server]выход из чата

chat-part
uin:<uin>
id:<id>

[client,server]вход в чат

chat-join
uin:<uin>:<nick>
id:<id>

[server] сообщение о отсуствии чата на сервере

chat-reject
id:<id>
Данный пакет должен приходить при любом упоминании чата, который на сервере уже закрыт. Для того чтобы клиент который не знает об этом мог удалить его из памяти.

[client,server] приглашение в чат

chat-invite
uin:<uin>
id:<id>
name:<name;>
crypt:<blowfish>
pass:<pass>
method:rsa

[client,server] сообщение чата

chat-msg
uin:<uin>
id:<id>
text:<text>

[server] контакный список чата

chat-list
id:<name>
<uin>:<nick>
<uin>:<nick>
...

Администрирование

[client] Кикнуть юзера

adm-user-kick
uin:<uin>

[client,server] Удалить юзера

adm-user-remove
uin:<uin>

[client,server] Запретить юзера

adm-user-disable
uin:<uin>

[client,server] Разрешить юзера

adm-user-enable
uin:<uin>

[server] создан чат

adm-chat-add
uin:<uin>
id:<id>
name:<name>

[server] удалён чат

adm-chat-del
id:<id>

[client,server] добавить юзера

adm-user-add
uin:<uin>
pass:<pass>

[client] запрос настроек

adm-setup-get

[server] список настроек

adm-setup-list
<name>:<value>
<name>:<value>
...

[client] изменение настроек

adm-setup-set
<name>:<value>
<name>:<value>
...

Система безопастности

Hosted by uCoz