YM>>>> хэш 32 байта, количество AKA и их список, плюс пакованный блок YM>>>> текстовой инфы (5 юникод-строк: название софта, станции, YM>>>> имя сисопа, местоположение и прочая инфа). IA>>> А может ты вытащишь для теста наружу что-нибудь? IA>>> Буду логин тестить :-) YM>> Hу так мой же Soaron на стандартном для FTNMTP порту YM>> (fido.ym-com.net port 8502) отвечает давно уже :) YM>> Я мейлерную часть и тестировал на рабочей ноде - создав на соседнем YM>> компе фейковый узел с такой же софтиной и прописав его в линках. MW> Я тут ещё немного почитал и понял, что мне в FTNMTP ясно видятся MW> две проблемы, которые кажутся мне своего рода граблями, потому MW> что разработчики фидософта понаступали на них не раз и не два.
Всего две? Их значительно больше...
MW> Во-первых, в заголовке есть поля фиксированного размера, со временем MW> они будут переполняться. Хотя признаюсь: так как почитал я немного, MW> то могу этой проблеме придавать слишком большое значение. Однако я MW> всё же предпочёл бы некий формат навроде JSON или YAML,
Предлагаешь поменять очевидную граблю на неочевидную?
MW> который не сломается, если в нём тридцатидвухбайтовый хэш придётся со MW> временем переменить на шестидесятичетырёхбайтовый, например.
С хешом там другая проблема: Юра с какого-то перепуга жестко привязался к алгоритму Keccak, доверия которому - ноль целых хрен тысячных.
MW> И для которого есть вагон и маленькая тележка готовых парсеров MW> (навроде тех, которые в конце страницы http://json.org/ перечислены) MW> для большинства языков программирования, а не увлекательное MW> предложение сочинить свой собственный.
А зачем использовать какие-то парсеры (из которых как минимум половина будет дырявыми, а половина оставшихся просто кривыми), когда есть plain text?
Внутри функции - можно. А для данных, которыми мы будем обмениваться, есть специальные типы наподобие int32_t и специальные функции наподобие htonl().
MW> без того, чтобы вызвать несовместимость в общении одной и той же MW> программы, скомпилированной на системах с разным порядком байтов. MW> Хорошо ещё, что большей частью Фидонет работает на системах с MW> одним и тем же порядком байтов -- интеловским.
Это, наоборот, плохо - именно из-за этого процветает откровенно раздолбайское отношение к типам данных в фидошном софте, что препятствует его портированию.
MW> Во-вторых, опять свой собственный номер порта,
Номер порта может быть любым. Более того - никто не мешает использовать один порт для разных протоколов.
MW> который надо заново открывать на файерволле
Если тебе нужно что-то где-то "открывать" - у тебя что-то где-то настроено очень-очень неправильно.
MW> и на котором используется нестандартный протокол.
О! А не назовешь ли хоть один стандартный протокол?
MW> Интереснее было бы видеть реализацию передачи фидопочты поверх HTTP
Этот протокол для фидошных целей непригоден вообще никак. По определению.
MW> HTTP позволяет также всякие ценные штуки вытворять, навроде MW> организации нескольких виртуальных хостов на одном IP (чтоб MW> не открывать отдельный порт для каждого), разнесения API по MW> подкаталогам хоста (например, на /fido Фидонет, а на /oauth MW> можно OAuth повесить), настройки SSL и TLS и других страшных MW> слов.
Да? И что там слышно про HTTPS для VirtualHost?
MW> Правда, вполне понятно, что тогда это был бы уж и не FTNMTP, MW> а как у Кочарина AMFOW (Amfow mailer -- Fidonet over WWW)
Ты так и не понял, почему эта разработка провалилась?
-- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii