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


Присутствуют сообщения из эхоконференции RU.FTN.DEVELOP с датами от 12 Jul 13 20:52:30 до 25 Apr 24 08:46:43, всего сообщений: 2456
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 156 из 2456 ==================================== RU.FTN.DEVELOP =
От   : Mithgol the Webmaster            2:5063/88          02 Jan 14 22:27:18
Кому : All                                                 02 Jan 14 22:27:18
Тема : PhiDo, скриншот 3
FGHI : area://RU.FTN.DEVELOP?msgid=2:5063/88+52c5b6e8
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.FTN.DEVELOP?msgid=2:5020/830.36+52c9739d
==============================================================================

Как нетрудно видеть на нижеследующем скриншоте, мне удалось сделать эхолист
в PhiDo по своему содержанию подобным эхолисту в GoldED-NSF. По сравнению
с предыдущим скриншотом я добавил в него столбец количества новых сообщений.

Двигаясь по этому пути, я пришёл к более глубокому разочарованию в нынешнем
фидонетовском программном обеспечении, нежели то разочарование, которое было
первоначально вызвано просто негипертекстовостью.



Во-первых, я никак не могу понять, по какой причине GoldED-NSF создаёт такие
.JLR-файлы, в которых первые четыре байта в шестнадцатеричной системе счисления
имеют вид 7C 34 12 5B, и следующие четыре байта также имеют вид 7C 34 12 5B.

По стандарту JAM первые четыре байта должны быть хэшем CRC-32 от имени
пользователя, взятого в нижнем регистре (что означает, что буквы 'A-Z' в имени
становятся буквами 'a-z', но больше никаких изменений), а вторые четыре байта
должны содержать уникальный идентификатор пользователя.

Я так понимаю, что создатели GoldED+ решили, что CRC-32 ── достаточно уникален
для идентификатора, и этим объясняется подобие второй четвёрки байтов и первой.

А вот почему именно 7С 34 12 5B ── то есть число 0x5b12347c (в записи языка Си
или JavaScript) ── этого я никак не могу себе объяснить.

В конфигурации GoldED-NSF первое значение UserName стоит Mithgol the Webmaster,
однако CRC-32 от строки 'mithgol the webmaster' будет 0xa4edcb83.

В конфигурации GoldED-NSF параметру RegisterName задано значение SysOp, однако
CRC-32 от строки 'sysop' будет 0x8ab05249.

Если вдруг только от строки 'mithgol' брать CRC-32, то выходит 0x41cfb294.

Откуда тогда 0x5b12347c берётся-то?

(В итоге я плюнул и научил PhiDo пренебрегать содержимым первых восьми байтов.)



Во-вторых, я убедился, что поле activemsgs в структуре FixedHeaderInfoStruct
внутри .JHR-файла может содержать неверное число сообщений, не совпадающее
с количеством записей в .JDX-файле, не содержащих -1 в полях CRC32 и смещения.
Так как к JAM я обращался только посредством Голдеда и Husky, то теперь я гляжу
на эти программы с некоторым подозрением. Хорошо ещё, что sqpack (также часть
Husky) восстановил мне корректные значения activemsgs в заголовках .JHR-файлов.



В-третьих, я убедился, что для выяснения количества новых сообщений приходится
читать минимум три файла: сперва .JLR (в котором указан номер последнего
прочитанного сообщения), затем .JHR (в котором указан номер BaseMsgNum,
от которого ── а не от единицы ── в общем случае идёт нумерация), и наконец
.JDX (чтобы сосчитать, сколько после этого номера идёт других сообщений,
не подвергнутых удалению).

Можно также просто читать (и считать) сообщения от новых к старым до тех пор,
пока у очередного сообщения в заголовке MessageFixedHeader поле MessageNumber
не будет искомым номером. Однако читать их нужно по смещениям, взятым из .JDX,
а сами заголовки лежат в .JHR, так что опять же те же три файла читать в общем.



Всё это несколько мрачно. Я посмотрел на даты и убедился, что формат баз JAM
создан в 1993 году и что формат баз Squish создан с 1991 по 1994 год (однако
уступает JAM по числу одновременно хранимых ссылок на ответы к сообщению ──
так что этот чуть более новый формат едва ли не хуже старого JAM). Двадцать лет
фидошники принуждены были пользоваться ими, но никто не создал ничего получше?!






* изначально написано в эхоконференцию Ru.Fidonet.Today
* также было отослано в эхоконференцию Ru.FTN.Develop


Фидонет будет великим и гипертекстовым!    [Ru.Mozilla]     http://Mithgol.Ru/
Mithgol the Webmaster.                    [Братство Нод] [Team А я меняю subj]

... Правительство не решает проблем, оно финансирует их.      (Рональд Рейган)
--- Знаешь ли ты, что "гравёр" пишется через "ё"?
* Origin: А что нам йети           //          Да на это ответит? (2:5063/88)

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