Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.BINKD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.BINKD с датами от 14 Jul 13 17:53:22 до 25 Aug 24 19:42:02, всего сообщений: 1947
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 411 из 1947 ========================================== RU.BINKD =
От   : Pavel Gulchouck                  2:463/68           05 May 15 16:25:26
Кому : Mithgol the Webmaster                               05 May 15 16:25:26
Тема : Документы FTSC, поддерживаемые binkd
FGHI : area://RU.BINKD?msgid=2:463/68+5548d47a
На   : area://RU.BINKD?msgid=2:50/88+55433609
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.BINKD?msgid=2:5020/12000+4f5294e5
Ответ: area://RU.BINKD?msgid=2:50/88+5557a2cc
==============================================================================
Hi Mithgol!

01 May 15, Mithgol the Webmaster ==> Pavel Gulchouck:

PG>> Потом появилась NTLM-авторизация, криптование, компрессия и т.д. -
PG>> я не помню точно, в каком порядке в каком из мейлеров это всё
PG>> появлялось.

MtW> Существует ли документ, в котором крипто и компрессия (шифрование и сжатие)
MtW> описаны в таком виде, в каком они реализованы в нынешнем binkd?

Насколько мне известно - нет.
Скорее всего, описание должно быть где-то в архивах этой эхи, но найти его не очень просто.

Если в двух словах.

Компрессия.
Если при установке сессии была заявлена опция EXTCMD, то в команде FILE после четырёх необязательных параметров (имя файла, размер, mtime, offset) могут идти необязательные. Также в хендшейке любая сторона может заявить опции GZ и BZ2, что означает, соответственно, поддержку компресии gzip и bzip2.
Если при передаче файла в команде FILE пятым (или больше) параметром было указано GZ или BZ2, файл передаётся сжатым. Смещение в командах FILE и GET в любом случае относится к оригинальному, несжатому файлу.
Кроме того, в команде GET может быть опция NZ, что означает просьбу отправлять файл в несжатом виде (binkd эту опцию всегда исполняет, но в общем случае на это нельзя твёрдо рассчитывать).

Криптование.
При хендшейке любая сторона может заявить опцию CRYPT, что означает поддержку криптования сессии.
Криптование включается, если обе стороны предъявили опцию CRYPT, и только при парольной сессии, и только в случае CRAM-аутентификации. Если обе стороны поддерживают криптование и заявили об этом в хендшейке, но сессия непарольная, либо пароль был передан в открытом виде, криптование не включается.
Если же обе стороны передали CRYPT, пароль проверен, и не был передан открытым текстом, весь трафик после сообщений M_PWD и M_OK криптуется алгоритмом InfoZIP. Этот алгоритм представляет собой xor потока псевдослучайной последовательностью байт (на основе CRC32, т.е. полиномиальной), начальное состояние которой в binkd инициализируется паролем на сессию (с небольшой модификацией для звонящей и отвечающей стороны, чтобы эти последовательности не были одинаковыми). Конкретную реализацию проще посмотреть в исходниках infozip или binkd, чем пересказывать:

https://github.com/pgul/binkd/blob/master/crypt.c
https://github.com/pgul/binkd/blob/master/crypt.h
https://github.com/pgul/binkd/blob/master/protocol.c#L1586-1598

Если кто-нибудь найдёт время оформить эти расширения в виде документов (FTSC или просто в документации к binkd), было бы очень здорово.

              Lucky carrier,
                           Паша
                           aka  gul@gul.kiev.ua
--- GoldED+/LNX 1.1.5
* Origin: printf("%s", "How can I increase performance?\n"); (2:463/68)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.114505 секунды