ADC INF
Материал из MyDC's Wiki
Команда протокола ADC.
Синтаксис
INF separator sid (separator param)+
Направления:
F, T, C
Стадии:
IDENTIFY, NORMAL
Описание
Данная команда призвана помочь получить обновлённую информацию о клиенте. При её получении, соответствующие параметры добавляются или обновляются. Имя каждого параметра определяется при помощи двух символов, за которыми следуют данные, определяющие значение этого параметра. Значение того или иного параметра может быть стёрто путём отсылки одного только названия параметра (без данных). Клиенты должны игнорировать неизвестные им параметры. Большинство из параметров данной команды интересны только при клиент-хаб соединении. При соединении клиент-клиент данная команда в основном используется только для идентификации. Хабы могут требовать или игнорировать какие-либо или все параметры. Многие из параметров, такие как шара и версия клиента, носят чисто информативный характер и должны быть взяты как есть, ибо их очень легко можно подделать. Однако, клиенты должны стремиться отсылать точные данные о себе для обеспечения общей целостности всей системы, так как неверная информация может раздражать некоторых людей. Для обновления каких-то параметров достаточно отослать только эти изменения, а не все параметры.
Параметры
Замечание
Обычно только один IP адрес (I4 or I6) используется для всех соединений. Нужно проявлять осторожность при приёме соединений с неизвестного IP. Только проверенным пользователям можно разрешать использовать различные IP адреса. Если пренебречь проверкой соответствия IP, то хаб может быть использован для организации DDoS атак.
Когда хаб получает данную команду на стадии IDENTIFY, он должен проверить параметры PD и ID, и либо перейти на стадию VERIFY, отослав команду PAS, либо перейти на стадию NORMAL, отослав собственную информацию командой INF (если это не было сделано раньше), затем отослать команды INF всех подключенных клиентов на стадии NORMAL, и в последнюю очередь отослать всем команду INF соединенного клиента. После того как хаб отослал свою команду INF, в параметре NI будет название хаба, в параметре VE - название платформы хаба и версия, и в параметре DE - топик хаба (описание хаба).
Когда клиент получает данную команду при соединении клиент-клиент на стадии IDENTIFY, он должен сопоставить параметры ID и TO, отосланные в команде INF и перейти на стадию NORMAL.
Примеры
IINF AAAA VEверсия\sхаба NIназвание\sхаба DEописание\sхаба
BINF AAB3 IDWYCH3RE46Z3JX3J3P3P33NYMVQSSBNVERQTNFVA NIник SL5 SS184304078130 SF1339 HO0 VEApexDC++\s1.3.6 US65536 SUNAT0 I410.10.10.10 HN7 HR1 FS4