• qico 0.60.0

    From Alexey Matrosov@2:203/910 to All on Fri Sep 18 17:05:51 2026
    Hej All,

    Выпущен qico 0.60.0

    Проект выглядел заброшенным и неподдерживаемым. Перечитал эху с 2010. Цель релиза - собрать полезные фиксы и фичи из разрозненных форков и вернуть сборку на современных тулчейнах.

    Дальше больше: появились несколько удобных фич, которых не хватало :)
    Из заметного: share (shared AKA как в binkd, failover нетмейла), rootdomain, интернет-флаги нодлиста INA/IBN/IFC, плюс фиксы для переносимости. Полный лог на гитхабе.

    Сборка и живые тесты проведены на Debian 12/13, Ubuntu 24.04, Fedora 44, Alpine 3.20 (musl), RPi OS (aarch64). Сборка также на FreeBSD 15.1, NetBSD 11, OpenBSD 7.9.

    Репозиторий: https://github.com/glasslike/qico
    Как собрать: https://github.com/glasslike/qico/blob/master/BUILD.md

    Может быть, что-то еще добавить, со временем? ;)

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Eugene Subbotin@2:5075/35 to Alexey Matrosov on Fri Sep 18 19:08:20 2026
    Hello Alexey!

    Friday September 18 2026 17:05, you wrote to All:

    Проект выглядел заброшенным и неподдерживаемым. Перечитал эху с 2010.
    Цель релиза - собрать полезные фиксы и фичи из разрозненных форков и вернуть сборку на современных тулчейнах.

    Дальше больше: появились несколько удобных фич, которых не хватало :)
    Из заметного: share (shared AKA как в binkd, failover нетмейла), rootdomain, интернет-флаги нодлиста INA/IBN/IFC, плюс фиксы для переносимости. Полный лог на гитхабе.

    Сборка и живые тесты проведены на Debian 12/13, Ubuntu 24.04, Fedora
    44, Alpine 3.20 (musl), RPi OS (aarch64). Сборка также на FreeBSD
    15.1, NetBSD 11, OpenBSD 7.9.

    Репозиторий: https://github.com/glasslike/qico
    Как собрать: https://github.com/glasslike/qico/blob/master/BUILD.md

    Может быть, что-то еще добавить, со временем? ;)

    Спасибо, вот это дельная задача! qcc работает нормально везде?
    Есть ещё смысл ещё обновить реализацию binkp исходя из https://github.com/pgul/binkd

    Eugene

    ... It's full of stars!
    --- GoldED+/BSD 2.0.0-b20260912 (NetBSD 11.0 Intel Xeon Icelake)
    * Origin: FireFox Station (2:5075/35)
  • From Alexey Matrosov@2:203/910 to Eugene Subbotin on Fri Sep 18 18:28:10 2026
    Hello Eugene,

    Friday September 18 2026 19:08, you wrote to me:

    Репозиторий: https://github.com/glasslike/qico
    Может быть, что-то еще добавить, со временем? ;)

    Спасибо, вот это дельная задача! qcc работает нормально везде?

    Да, qcc сейчас без проблем, но проверял только на своем хосте Debian 12 (aarch64).
    В целом, все замеченные косяки поправил и сам пока пользуюсь с удовольствием. Binkd хорош, но qico - комбайн, нельзя забрасывать такой :)

    Есть ещё смысл ещё обновить реализацию binkp исходя из https://github.com/pgul/binkd

    Это в планах, да. екоторые фичи, которых мне не хватало, уже принес из binkd. В binkp сначала дыры закрою.

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Eugene Subbotin@2:5075/35 to Alexey Matrosov on Fri Sep 18 19:40:08 2026
    Hello Alexey!

    Friday September 18 2026 18:28, you wrote to me:

    Спасибо, вот это дельная задача! qcc работает нормально везде?

    Да, qcc сейчас без проблем, но проверял только на своем хосте Debian
    12 (aarch64). В целом, все замеченные косяки поправил и сам пока
    пользуюсь с удовольствием. Binkd хорош, но qico - комбайн, нельзя забрасывать такой :)

    а NetBSD qcc виснет, как раньше. Возможно связано с тем, что там не ncurses, а родной системный curses.

    Eugene

    ... It's full of stars!
    --- GoldED+/BSD 2.0.0-b20260912 (NetBSD 11.0 Intel Xeon Icelake)
    * Origin: FireFox Station (2:5075/35)
  • From Alexey Matrosov@2:203/910 to Eugene Subbotin on Fri Sep 18 18:46:44 2026
    Hello Eugene,

    Friday September 18 2026 19:40, you wrote to me:

    Да, qcc сейчас без проблем, но проверял только на своем хосте
    Debian 12 (aarch64). В целом, все замеченные косяки поправил и
    сам пока пользуюсь с удовольствием. Binkd хорош, но qico -
    комбайн, нельзя забрасывать такой :)

    а NetBSD qcc виснет, как раньше. Возможно связано с тем, что там не ncurses, а родной системный curses.

    да, qcc на NetBSD по-прежнему с libcurses.
    нужно поставить ncurses, и попробовать вот так:

    export CPPFLAGS="-I/usr/pkg/include"
    export LDFLAGS="-L/usr/pkg/lib -Wl,-R/usr/pkg/lib"
    ./autogen.sh
    ./configure -blablabla

    и в логе что-то такое смотреть:

    checking for main in -lncurses... yes
    checking for ncurses.h... yes
    checking for qcc support... yes
    ..
    gmake

    у меня нет продакшен BSD, но попробую собрать, проверить..

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Eugene Subbotin@2:5075/35 to Alexey Matrosov on Fri Sep 18 20:19:44 2026
    Hello Alexey!

    Friday September 18 2026 18:46, you wrote to me:

    Да, qcc сейчас без проблем, но проверял только на своем хосте
    Debian 12 (aarch64). В целом, все замеченные косяки поправил и
    сам пока пользуюсь с удовольствием. Binkd хорош, но qico -
    комбайн, нельзя забрасывать такой :)

    а NetBSD qcc виснет, как раньше. Возможно связано с тем, что там
    не ncurses, а родной системный curses.

    да, qcc на NetBSD по-прежнему с libcurses.
    нужно поставить ncurses, и попробовать вот так:

    export CPPFLAGS="-I/usr/pkg/include"
    export LDFLAGS="-L/usr/pkg/lib -Wl,-R/usr/pkg/lib"
    ./autogen.sh
    ./configure -blablabla

    и в логе что-то такое смотреть:

    checking for main in -lncurses... yes
    checking for ncurses.h... yes
    checking for qcc support... yes
    ..
    gmake

    у меня нет продакшен BSD, но попробую собрать, проверить..

    Ага, спасибо. И неплохо было бы научить работе с curses BSD-шным, чтобы оно не висло :)

    Eugene

    ... It's full of stars!
    --- GoldED+/BSD 2.0.0-b20260912 (NetBSD 11.0 Intel Xeon Icelake)
    * Origin: FireFox Station (2:5075/35)
  • From Dmitry Protasoff@2:5001/100 to Alexey Matrosov on Fri Sep 18 17:47:08 2026
    Hello Alexey!

    In a message of 18 Sep 26 18:28, Alexey wrote to Eugene:

    Binkd хорош, но qico - комбайн, нельзя забрасывать такой :)

    Там очень плохо все в модемной части, большую часть надо переписывать.


    See you,
    dp.
    --- FidoMail v0.1.4-117-g0bf6376
    * Origin: livin' on the edge (2:5001/100)
  • From Alexey Matrosov@2:203/910 to Dmitry Protasoff on Fri Sep 18 19:57:51 2026
    Hello Dmitry,

    Friday September 18 2026 17:47, you wrote to me:

    Binkd хорош, но qico - комбайн, нельзя забрасывать такой :)
    Там очень плохо все в модемной части, большую часть надо переписывать.

    Собираюсь до нее тоже дойти, потестить. о у нас с этим сложно сейчас - реальных линий уже нет.

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Eugene Subbotin on Fri Sep 18 19:58:59 2026
    Hello Eugene,

    Friday September 18 2026 20:19, you wrote to me:

    у меня нет продакшен BSD, но попробую собрать, проверить..
    Ага, спасибо. И неплохо было бы научить работе с curses BSD-шным,
    чтобы оно не висло :)

    Можно попробовать! ;)

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Eugene Subbotin on Fri Sep 18 21:04:28 2026
    Hello Eugene,

    Friday September 18 2026 18:46, I wrote to you:

    у меня нет продакшен BSD, но попробую собрать, проверить..

    Взял NetBSD 11. Пока собрал вот так для теста:

    export CPPFLAGS="-I/usr/pkg/include -I/usr/pkg/include/ncurses"
    export LDFLAGS="-L/usr/pkg/lib -Wl,-R/usr/pkg/lib"
    ./autogen.sh
    ./configure --enable-binkp --enable-perl --prefix=/usr/local
    gmake -j$(sysctl -n hw.ncpu)

    с такими зависимостями:

    pkg_add pkgin git gmake autoconf automake pkgconf flex bison ncurses

    qcc не падает, сделал тестовый poll на себя, всё норм :)

    Посмотрю потом, как на родной curses сделать.

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Sergey Anohin@2:5034/10.1 to Dmitry Protasoff on Sun Sep 20 14:29:41 2026
    Hello, Dmitry!

    Binkd хорош, но qico - комбайн, нельзя забрасывать такой :)
    Там очень плохо все в модемной части, большую часть надо переписывать.

    Там этих форков я помню было, один вроде даже рабочий. о если перечитали архив эхи я думаю контекста достаточно.

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Sergey Anohin@2:5034/10.1 to Eugene Subbotin on Sun Sep 20 14:58:26 2026
    Hello, Eugene!

    Ага, спасибо. И неплохо было бы научить работе с curses BSD-шным, чтобы оно не висло :)

    Если че на BSD можно мне потестить будет, плюс я вроде там мейнтейнер, можно и порт обновить будет, а то щас там на какой-то форк ссылается.
    Если текущий рабочий можно переключиться будет.


    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Alexey Matrosov@2:203/910 to Sergey Anohin on Sun Sep 20 14:43:00 2026
    Hello Sergey,

    Sunday September 20 2026 14:29, you wrote to Dmitry Protasoff:

    Binkd хорош, но qico - комбайн, нельзя забрасывать такой :)
    Там очень плохо все в модемной части, большую часть надо
    переписывать.

    Там этих форков я помню было, один вроде даже рабочий. о если
    перечитали архив эхи я думаю контекста достаточно.

    Да, там было много форков, я перпелопатил все, что нашел (указал их в https://github.com/glasslike/qico/blob/master/README также):
    https://github.com/askovpen/qico
    https://github.com/evs38/qico
    https://github.com/leenooks/qico
    https://github.com/uncleeugene/qico
    https://github.com/kosfango/qico
    + cvs + репо RJ Clay

    у и перечитал всю эту эху, чтобы понять, как вообще всё развилось до сегодняшнего :)

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Sergey Anohin on Sun Sep 20 14:40:18 2026
    Hello Sergey,

    Sunday September 20 2026 14:58, you wrote to Eugene Subbotin:

    Ага, спасибо. И неплохо было бы научить работе с curses BSD-шным,
    чтобы оно не висло :)

    Если че на BSD можно мне потестить будет, плюс я вроде там мейнтейнер, можно и порт обновить будет, а то щас там на какой-то форк ссылается.
    Если текущий рабочий можно переключиться будет.

    Это было бы здорово! Могу добавить контрибьютором в репо?

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Dmitry Protasoff@2:5001/100 to Sergey Anohin on Sun Sep 20 13:34:37 2026
    Hello Sergey!

    In a message of 20 Sep 26 14:29, Sergey wrote to Dmitry:

    Там этих форков я помню было, один вроде даже рабочий. о если
    перечитали архив эхи я думаю контекста достаточно.

    Я все их собирал, когда тестировал FidoMail. К сожалению - будь готов даже гидру переделывать.

    See you,
    dp.
    --- FidoMail v0.1.4-122-g97f43bf5
    * Origin: livin' on the edge (2:5001/100)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Mon Sep 21 00:01:04 2026
    Hello, Alexey!

    Это было бы здорово! Могу добавить контрибьютором в репо?


    Думаю в этом нет необходимости, спасибо!


    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Mon Sep 21 00:03:44 2026
    Hello, Alexey!

    Да, там было много форков, я перпелопатил все, что нашел (указал их в https://github.com/glasslike/qico/blob/master/README также):
    https://github.com/askovpen/qico
    https://github.com/evs38/qico
    https://github.com/leenooks/qico
    https://github.com/uncleeugene/qico
    https://github.com/kosfango/qico
    + cvs + репо RJ Clay
    у и перечитал всю эту эху, чтобы понять, как вообще всё развилось до сегодняшнего :)

    Был ещё какой то репо, ща вспомню, но он тут отсвечивал

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Alexey Matrosov@2:203/910.1 to Sergey Anohin on Sun Sep 20 23:17:01 2026
    Hello, Sergey!

    Sergey Anohin wrote:

    Да, там было много форков, я перпелопатил все, что нашел (указал
    их в https://github.com/glasslike/qico/blob/master/README также):
    https://github.com/askovpen/qico
    https://github.com/evs38/qico
    https://github.com/leenooks/qico
    https://github.com/uncleeugene/qico
    https://github.com/kosfango/qico
    + cvs + репо RJ Clay
    у и перечитал всю эту эху, чтобы понять, как вообще всё развилось
    до сегодняшнего :)

    Был ещё какой то репо, ща вспомню, но он тут отсвечивал

    Гут. Если есть - присылай, я тоже проверю, есть ли там что-то дельное, перенесу, если не устарело уже.

    Mvh,
    Alex.

    --- FidoMailMobile/0.1.9+90 (Android)
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910.1)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Mon Sep 21 00:23:40 2026
    Hello, Alexey!

    Да, там было много форков, я перпелопатил все, что нашел (указал их в https://github.com/glasslike/qico/blob/master/README также):
    https://github.com/askovpen/qico
    https://github.com/evs38/qico
    https://github.com/leenooks/qico
    https://github.com/uncleeugene/qico
    https://github.com/kosfango/qico
    + cvs + репо RJ Clay

    кажется ты упустил это

    https://icelan.ru/svn/qicoxe/trunk/
    https://icelan.ru/svn/gentoo-overlays/qico-xe/
    Кто-то ваще сбоку пилит.
    Я ничё сбоку не пилю :) Я взял последние известные мне сорцы оригинального qico-xe (всмысле именно этого оригинального форка), наложил на них известные мне последние патчи от автора, не попавшие в релизы, и засунул в свою репу,
    потому что больше было некуда и у меня всё работало.
    За версиями и развитием других форков не слежу, в этом ничё не правлю кроме gentoo ebuild, да и тот актуальная версия в отдельной репе уже.
    Вот относительно недавно наконец-то переехал с x86 на x64, та же версия qico-xe по-прежнему собирается и работает.
    Вполне возможно, что я там патчил что-то для фикса компиляции когда-нибудь давно, но это маловероятно, большинство фиксов, которые я не могу проверить сборкой на других системах, я делаю исключительно патчами в gentoo ebuild.
    А идти в history и проверять мне лень :)

    в общем там куча форков и как все смержить, только на ИИ надежда )

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Mon Sep 21 00:28:36 2026
    Hello, Alexey!

    Да, там было много форков, я перпелопатил все, что нашел (указал
    их в https://github.com/glasslike/qico/blob/master/README также):
    https://github.com/askovpen/qico
    https://github.com/evs38/qico
    https://github.com/leenooks/qico
    https://github.com/uncleeugene/qico
    https://github.com/kosfango/qico
    + cvs + репо RJ Clay
    у и перечитал всю эту эху, чтобы понять, как вообще всё развилось
    до сегодняшнего :)
    Был ещё какой то репо, ща вспомню, но он тут отсвечивал
    Гут. Если есть - присылай, я тоже проверю, есть ли там что-то дельное, перенесу, если не устарело уже.

    Я полистал архив эхи, это не так и давно было, много всяких фиксов, пилителей и тп. Там даже чет обсуждения были, баги, фиксы, как собрать все патчи в нормальный реп.
    о сейчас наверно жпт справится без проблем.

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Alexey Matrosov@2:203/910.1 to Sergey Anohin on Sun Sep 20 23:42:15 2026
    Hello, Sergey!

    Sergey Anohin wrote:

    Hello, Alexey!

    кажется ты упустил это

    https://icelan.ru/svn/qicoxe/trunk/
    https://icelan.ru/svn/gentoo-overlays/qico-xe/

    Всё верно, svn на icelan тоже проверял. Там ничего нового - старые фиксы по переносимости, но уже не актуальны. Всё уже было перенесено в какой-то из форков на гитхабе.

    Единственное - не видел того, который gentoo. Посмотрю тоже, спасибо :)

    в общем там куча форков и как все смержить, только на ИИ надежда )

    адо смержить. Скорее всего не буквально, а по смыслу. Ибо во многих местах код уже был исправлен. Поэтому моя идея была - собрать всё вместе, чтобы не плодить кучу форков, которые потом сложно мержить :)

    Mvh,
    Alex.

    --- FidoMailMobile/0.1.9+90 (Android)
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910.1)
  • From Alexey Matrosov@2:203/910.1 to Sergey Anohin on Sun Sep 20 23:46:18 2026
    Hello, Sergey!

    Sergey Anohin wrote:

    Гут. Если есть - присылай, я тоже проверю, есть ли там что-то
    дельное, перенесу, если не устарело уже.

    Я полистал архив эхи, это не так и давно было, много всяких фиксов, пилителей и тп. Там даже чет обсуждения были, баги, фиксы, как
    собрать все патчи в нормальный реп.
    о сейчас наверно жпт справится без проблем.

    Да, верно, я всё это перечитывал две недели назад. И 15 лет за пару дней пролетели. о там много интересного было, очень здорово, что народ делал.
    Без агента такое множество форков собирать воедино - времени не хватит, но сейчас всё проще стало.

    Mvh,
    Alex.

    --- FidoMailMobile/0.1.9+90 (Android)
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910.1)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Mon Sep 21 00:54:47 2026
    Hello, Alexey!

    https://icelan.ru/svn/qicoxe/trunk/
    https://icelan.ru/svn/gentoo-overlays/qico-xe/
    Всё верно, svn на icelan тоже проверял. Там ничего нового - старые фиксы по переносимости, но уже не актуальны. Всё уже было перенесено в какой-то из форков на гитхабе.
    Единственное - не видел того, который gentoo. Посмотрю тоже, спасибо :)
    в общем там куча форков и как все смержить, только на ИИ надежда )
    адо смержить. Скорее всего не буквально, а по смыслу. Ибо во многих местах код уже был исправлен. Поэтому моя идея была - собрать всё вместе, чтобы не плодить кучу форков, которые потом сложно мержить :

    Еще проблема протестить модемную часть, это прям будет сложно, хотя реально, надо просто чтобы на другом конце был мылер который все умеет. Кстати помню недавно пилили же Bforce, вроде как это тоже комбаин похлеще qico

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Mikhail Markovskiy@2:5020/378 to Alexey Matrosov on Mon Sep 21 13:52:06 2026
    Hello Alexey!

    Friday September 18 2026 17:05, Alexey Matrosov (2:203/910) => All:

    Выпущен qico 0.60.0
    Может быть, что-то еще добавить, со временем? ;)

    Предлагаю добавить сохранение бинарных логов в одном из форматов, поддерживаемых моей утилитой T-Hist.

    T-Hist не работает с текстовыми логами, а только с бинарными. Для генерации T-Hist'ом статистики для qico приходится конвертировать его текстовый файл истории в бинарный формат, понимаемый T-Hist. Именно так сейчас создаётся статистика qico на узле 2:5020/715 - Alex Barinov написал простенький конвертер в бинарный лог формата Binkd, который уже обрабатывает T-Hist.

    Информацию о форматах, в которых имеет смысл сохранять бинарный лог, можно посмотреть тут: https://github.com/klug378/T-Hist/blob/main/ADD-NEW-MAILER-ru.md

    а выбор предлагается три формата:

    1. Формат Binkd - минимальный размер записей (28 байт); нет возможности отметить, была ли сессия с паролем или без; нет возможности сохранить текстовую информацию; 32-битные значения для количества переданных/принятых байт, что не позволяет корректно записать данные о трафике, превышающем 4 гигабайта.

    2. Формат T-Mail версий 2603 и новее - средний размер записей (100 байт); можно отмечать парольные/непарольные сессии; можно сохранить до 63 символов текстовой информации (например, имя узла, локацию, ip-адрес и т.д.); те же самые проблемы с записью информации от величине трафика из-за 32-битных величин.

    3. Собственный формат T-Hist - большой размер записей (256 байт); 64-битные значения для трафика, позволяющие корректно сохранять информацию о сессиях, во время которых было передно или получено более 4 гигабайт; отметка парольных/непарольных сессий; размер текстовой информации - до 206 символов.

    В настоящее время я работаю над второй версией формата T-Hist. В ней будут записи переменной длины: от 50 до 256 байт в зависимости от размера текстовой информации. Если текст не сохранять, то размер записей будет не намного больше, чем у Binkd, но с 64-битными величинами для трафика.


    Mikhail

    --- GoldED+/LNX 2.0.0-b20260917
    * Origin: https://klug-photo.dreamwidth.org (2:5020/378)
  • From Alexey Matrosov@2:203/910 to Sergey Anohin on Mon Sep 21 17:30:23 2026
    Hello Sergey,

    Monday September 21 2026 00:54, you wrote to me:

    Еще проблема протестить модемную часть, это прям будет сложно, хотя реально, надо просто чтобы на другом конце был мылер который все
    умеет. Кстати помню недавно пилили же Bforce, вроде как это тоже
    комбаин похлеще qico

    Было бы здорово, чтобы кто-нибудь, у кого есть реальная телефонная линия и модем, протестили бы модемную часть!
    К сожалению, у меня сейчас нет ни медной линии (в Швеции с этим проблема), ни модема - пока тестирую на простом эмуляторе hayes модема, который позволяет мейлеру получать ответ на все AT-команды, законнектиться, EMSI и т.д.

    Bforce - интересно, надо попробовать тоже.

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Mon Sep 21 17:37:56 2026
    Hello Mikhail,

    Monday September 21 2026 13:52, you wrote to me:

    Выпущен qico 0.60.0
    Может быть, что-то еще добавить, со временем? ;)

    Предлагаю добавить сохранение бинарных логов в одном из форматов, поддерживаемых моей утилитой T-Hist.

    Да, я как раз на днях хотел протестить T-Hist, но не нашел исходников, чтобы собрать себе на aarch64 (писал об этом в локалке /715).
    Хорошая идея - иметь возможность сохранения нормальных бинарных логов, можно сделать. О формате надо порассуждать.

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Mikhail Markovskiy@2:5020/378 to Alexey Matrosov on Mon Sep 21 19:30:47 2026
    Hello Alexey!

    Monday September 21 2026 17:37, Alexey Matrosov (2:203/910) => Mikhail Markovskiy:

    Предлагаю добавить сохранение бинарных логов в одном из форматов,
    поддерживаемых моей утилитой T-Hist.

    Да, я как раз на днях хотел протестить T-Hist, но не нашел исходников, чтобы собрать себе на aarch64 (писал об этом в локалке /715). Хорошая
    идея - иметь возможность сохранения нормальных бинарных логов, можно сделать. О формате надо порассуждать.

    Мне не очень хочется выкладывать исходники, потому что просто стыдно за такой код. T-Hist я начал делать в 1996 году, и куски кода есть с тех времён, когда я вообще не думал о какой-то культуре ведения кода, структурировании (всё свалено в один файл) и т.п. Там в коде даже один goto есть, и трогать я его не буду, потому что оно работает :).

    23 года я в исходники не заглядывал - с 2003 года, когда была сделана последняя версия под DOS, OS/2, NT. А тут вот летом перенёс ноду под линукс, и встал вопрос о генерации статистики. Полез я в старый код - кровь из глаз.

    Всё-таки довёл более-менее до чего-то работающего. Спасибо /715, который стал тестером новых версий. а его хорошо загруженном узле легче было баги вылавливать, чем у меня с одним единственным аплинком.


    Mikhail

    --- GoldED+/LNX 2.0.0-b20260917
    * Origin: https://klug-photo.dreamwidth.org (2:5020/378)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Mon Sep 21 19:40:34 2026
    Hello, Alexey!

    Было бы здорово, чтобы кто-нибудь, у кого есть реальная телефонная линия и модем, протестили бы модемную часть!
    К сожалению, у меня сейчас нет ни медной линии (в Швеции с этим проблема), ни модема - пока тестирую на простом эмуляторе hayes модема, который позволяет мейлеру получать ответ на все AT-команды, законнектиться, EMSI и т.д.

    У меня только PAP2T есть ))) в целом через него можно гонять тесты, ну и астериск свой )

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Mon Sep 21 19:52:41 2026
    Hello Mikhail,

    Monday September 21 2026 19:30, you wrote to me:

    Мне не очень хочется выкладывать исходники, потому что просто стыдно
    за такой код.

    Imho, в наше время стыдиться кода, написанного самостоятельно и вручную, не то что не стоит - им гордиться надо! :)
    Тем более, всё можно причесать различными способами, если уж нашлась причина стыдиться ;)
    о это лучше, чем вообще ничего! У меня сейчас нет для qico ничего, кроме старенького osastat. К сожалению.

    T-Hist я начал делать в 1996 году, и куски кода есть с
    тех времён, когда я вообще не думал о какой-то культуре ведения кода, структурировании (всё свалено в один файл) и т.п. Там в коде даже один goto есть, и трогать я его не буду, потому что оно работает :).

    23 года я в исходники не заглядывал - с 2003 года, когда была сделана последняя версия под DOS, OS/2, NT. А тут вот летом перенёс ноду под линукс, и встал вопрос о генерации статистики. Полез я в старый код - кровь из глаз.

    Всё-таки довёл более-менее до чего-то работающего. Спасибо /715,
    который стал тестером новых версий. а его хорошо загруженном узле
    легче было баги вылавливать, чем у меня с одним единственным аплинком.

    Аналогично. Я вернулся в fidonet после 23 лет отсутствия. Последнее, что было у меня на ноде в те времена - KittenMail, FTrack, GoldEd. Скорее всего, тогда же и T-Hist юзал в этой связке. Сейчас для qico ничего дельного не нашел, переплевался от найденных скриптов для binkd и сделал свой простой скрипт, правда для разбора текстовых логов (ибо в бинарных от binkd не всё интересующее попадает - например, список неудачный сессий с причинами и деталями). Заодно, убрал из отчета cps, который сейчас неактуален, заменив на время сессии. Мне было нужно что-то простое, вот такого вида. Пример двух видов отчета, которые делает мой скрипт:

    = rabarber.robots (2:203/910) =================================================
    From : Daily Reports 2:203/910 08 Sep 26 00:00:04
    Subj : Binkd report =============================================================================== Period: yesterday: 2026-09-07
    binkd-r 0.4.1

    Successful Sessions ----------------------------------------------------------------------------
    Remote | Out | In | Sent | Received | Duration ----------------------------------------------------------------------------
    2:201/127 | 0 | 144 | 0 | 0 | 7s
    2:203/0 | 1 | 71 | 0 | 482.0k | 41s
    2:203/910.1 | 0 | 7 | 69.5k | 720 | 1s
    2:240/1120 | 0 | 40 | 0 | 96.6k | 6m 48s
    2:292/854 | 0 | 1 | 0 | 120.7k | 21s
    2:5001/100 | 0 | 143 | 0 | 7.5k | 40s
    2:5001/5001.5001 | 0 | 1 | 0 | 0 | 11s
    2:5015/46 | 0 | 24 | 0 | 22.5k | 6s
    2:5020/715 | 0 | 13 | 0 | 102.8k | 3m 40s
    2:5030/1374 | 1 | 0 | 0 | 0 | 7s
    2:9999/9999.9 | 0 | 5 | 0 | 1.7k | 34s ----------------------------------------------------------------------------
    Total received 834.5k Successful sessions 451
    Total sent 69.5k Outgoing / Incoming 2 / 449
    Total traffic 904.0k Total duration 13m 16s ----------------------------------------------------------------------------

    Payload Files ----------------------------------------------------------------------------
    Dir | File | Size | Remote ----------------------------------------------------------------------------
    in | Z2DAILY.250 | 119.7k | 2:292/854
    in | FNEWTH36.ZIP | 13.1k | 2:203/0
    in | ech01042.zip | 13.6k | 2:5020/715 ----------------------------------------------------------------------------
    Sent files 0 (0) Received files 3 (146.4k) ----------------------------------------------------------------------------

    Failed Sessions ----------------------------------------------------------------------------
    Total failed: 14
    Distinct reasons: 3

    Dir | Secure AKA 2:5020/715@fidonet busy, drop the session | Count ----------------------------------------------------------------------------
    in | 95.143.217.246 (New World; Alex Barinov) | 8

    Dir | recv: connection closed by foreign host | Count ----------------------------------------------------------------------------
    in | o030.scanner.modat.io [85.217.149.29] | 2
    in | ahmad.probe.onyphe.net [91.231.89.9] | 1
    in | martinez.probe.onyphe.net [91.231.89.15] | 1
    in | 2:5020/715 (New World; Alex Barinov) | 1

    Dir | recv: Connection reset by peer | Count ----------------------------------------------------------------------------
    in | 216.25.89.78 | 1

    Session List ----------------------------------------------------------------------------
    Date/Time Address | S/R | Result ----------------------------------------------------------------------------
    i* 02/08 00:01 2:5015/46 | 0/1k | OK
    i* 02/08 00:01 2:5020/715 | 0/632 | OK
    i?! 02/08 00:16 2:203/910.2 | 0/0 | incorrect password
    i ! 02/08 01:16 132.145.41.221 | 0/0 | Secure AKA 2:5001/100@fidonet bus o*! 02/08 01:16 2:5001/100 | 903/0 | recv: connection closed by foreig
    i* 02/08 01:17 2:203/0 | 0/5k | OK
    i* 02/08 01:21 2:203/0 | 0/6k | OK
    o*! 02/08 01:22 2:5001/100 | 1k/0 | recv: connection closed by foreig
    o* 02/08 01:22 2:5001/100 | 0/0 | OK
    i ! 02/08 11:52 85.217.149.17 | 0/0 | recv: connection closed by foreig
    i* 02/08 11:54 2:203/0 | 0/9k | OK
    i ! 02/08 12:07 85.217.149.42 | 0/0 | recv: connection closed by foreig
    i* 02/08 12:10 2:5001/100 | 0/0 | OK ---------------------------------------------------------------------------- Total sessions: 240

    Session Result: ' ' - Success '!' - Failure
    Direction : 'i' - Incoming 'o' - Outgoing
    Password : '*' - Present ' ' - Absent '?' - Error

    --- binkd-r by map
    * Origin: Rabarber Skellefte! (2:203/910.0)

    ==== End golded_out.txt ====

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Vladislav Muschinskikh@2:5010/278.1 to Alexey Matrosov on Tue Sep 22 10:15:14 2026
    Hello, Alexey.

    18 сен 26 17:05, Alexey Matrosov -> All:
    Может быть, что-то еще добавить, со временем? ;)
    Авто-тоссинг по завершении сессии починил? :)

    У меня почта тоссится по крону, т.к. *не всегда* кика запускает скрипт тоссера.

    (я тут выше жаловался на это, но так и не победил)


    With best regards, Vladislav
    --- Me on Telegram http://t.me/VladisMus
    * Origin: (2:5010/278.1)
  • From Alexey Matrosov@2:203/910 to Vladislav Muschinskikh on Tue Sep 22 07:28:49 2026
    Hello Vladislav,

    Tuesday September 22 2026 10:15, you wrote to me:

    Авто-тоссинг по завершении сессии починил? :)
    У меня почта тоссится по крону, т.к. *не всегда* кика запускает скрипт тоссера.

    ет, хук тоссинга в qico не трогал, но были нарекания к тоссингу - да. о проблема оказалась не в qico.
    А как запускаете? У меня вот так:

    aftermail $(binz)/toss

    И работает стабильно, не замечал пропусков:

    22 Sep 26 07:25:24 binkp[801385]: options: Binkp/LST/PWD/MB/MD5/CRYPT
    22 Sep 26 07:25:24 binkp[801385]: start recv: b211a907.tu0, 851 bytes, estimated time 00:00:01
    22 Sep 26 07:25:24 binkp[801385]: rcvd: b211a907.tu0, 851 bytes, 851 cps [ok] 22 Sep 26 07:25:24 binkp[801385]: total: 0:00:00 online, 0b sent, 851b received 22 Sep 26 07:25:24 binkp[801385]: session with 2:5020/715 successful [ok]
    22 Sep 26 07:25:24 binkp[801385]: starting /home/map/ftn/usr/bin/toss 2:5020/715 I 1
    22 Sep 26 07:25:24 binkp[801385]: exiting with rc=0

    Toss log:

    [2026-09-22 07:25:24] script triggered

    Теперь о том, что было найдено.
    Проблема была не в самом toss, а в том, что systemd убивал его сразу после старта.

    В логе qico писалось starting .../toss, но это строка до запуска. aftermail зовёт execnowait(): fork --> stdout/stderr в /dev/null --> setsid() --> execl без shell, и родитель ребёнка не ждёт. Поэтому в логе starting есть даже если скрипт тут же умирает, а его ошибки никуда не попадают.

    а входящем вызове binkp сессия идёт через короткий unit qico-binkp@.service (socket activation: один коннект - один процесс). Сессия кончается, главный qico -abinkp выходит, и systemd с обычным KillMode (control group) сносит всю группу, включая только что отфорканный toss. а исходящих из долгоживущего qico.service этого не было: демон остаётся, и ребёнок доживает.

    Решение: в qico-binkp@.service поставил KillMode=process. Тогда при выходе unit systemd убивает только главный процесс сессии и не трогает toss. Тот же режим затем перенесен и на qico-ifc@.service. Побочный эффект: systemctl stop сессии не прибьёт уже запущенный toss - он доработает сам. Этим побочным эффектом можно принебречь :)

    Посмотрите мои юниты для debian в qico/systemd/

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Tue Sep 22 20:12:55 2026
    Hello Mikhail,

    Monday September 21 2026 13:52, you wrote to me:

    Предлагаю добавить сохранение бинарных логов в одном из форматов, поддерживаемых моей утилитой T-Hist.
    а выбор предлагается три формата:

    3. Собственный формат T-Hist - большой размер записей (256 байт); 64-битные значения для трафика, позволяющие корректно сохранять
    информацию о сессиях, во время которых было передно или получено более
    4 гигабайт; отметка парольных/непарольных сессий; размер текстовой информации - до 206 символов.

    В настоящее время я работаю над второй версией формата T-Hist. В ней
    будут записи переменной длины: от 50 до 256 байт в зависимости от
    размера текстовой информации. Если текст не сохранять, то размер
    записей будет не намного больше, чем у Binkd, но с 64-битными
    величинами для трафика.

    Формат "T-Hist v1 (256 байт)" - этот формат, наверное, наиболее оптимален. Можно взять его, и не ждать v2.
    Или есть смысл подождать, и потом не переделывать? :)

    2. Формат T-Mail версий 2603 и новее - средний размер записей (100
    байт); можно отмечать парольные/непарольные сессии; можно сохранить до
    63 символов текстовой информации (например, имя узла, локацию,
    ip-адрес и т.д.); те же самые проблемы с записью информации от
    величине трафика из-за 32-битных величин.

    Дело в том, что сейчас qico имеет signed 32-bit (int) счетчики сессии.
    Поэтому, сам по себе формат T-Hist v1 не спасет от потолка в 4Гб. Для увеличения, нужно будет перейти на uint64_t, убрав бутылочное горлышко.
    о придется так же переделать протокол qico <-> qcc (там прогресс шлется пакетами из 10 32-битных полей). Прогресс-бар в qcc - тоже int, размеры в очереди, некоторые перловые хуки возможно..

    Я бы не стал пока переделывать счетчики, а просто реализовал бы бинарное логирование в современный формат, с заделом набудущее. При этом нужно оставить текстовый history, для совместимости, а бинарный лог - как опция.

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Mikhail Markovskiy@2:5020/378 to Alexey Matrosov on Tue Sep 22 23:50:36 2026
    Hello Alexey!

    Tuesday September 22 2026 20:12, Alexey Matrosov (2:203/910) => Mikhail Markovskiy:

    Формат "T-Hist v1 (256 байт)" - этот формат, наверное, наиболее
    оптимален. Можно взять его, и не ждать v2. Или есть смысл подождать, и потом не переделывать? :)

    Вторая версия формата будет такая: сначала в памяти делаем точно такую же запись, как в первой версии формата, только не 256, а 255 байт длиной, предварительно обнулив эти 255 байт перед заполнением. Затем смотрим индекс последнего ненулевого байта (N, считая от нуля), увеличиваем на единицу (N+1), считаем эту величину размером данной записи и пишем в бинарный лог сначала один байт размера записи (N+1), а потом N+1 байт от начала записи до последнего ненулевого байта.

    А T-Hist при чтении будет сначала читать из бинарного лога один байт, считать его размером данной записи, после чего считывать указанное число байт.

    Выгода тут будет, если в записи мало текстовой информации - чтобы не писать хвост нулей в файл. Если же предполагается сохранять побольше текстовой информации, так, что суммарные длины строк будут ближе к 200, то можно не заморачиваться этим форматом переменной длины и писать одинаковые 256-байтовые записи.

    T-Hist будет различать форматы по 5-му байту сигнатуры в начале файла лога. Первые 4 байта - символы 'H', 'I', 'S', 'T', пятый байт у первой версии формата равен 1, у второй будет равен 2.

    В ближайшие дни, может даже завтра, я обновлю файл ADD-NEW-MAILER.md, где сделаю описание второй версии. Поддержку в T-Hist сделаю в версии 1.5.0, но перед этим ещё выпущу 1.4.2 без неё.


    Mikhail

    --- GoldED+/LNX 2.0.0-b20260917
    * Origin: https://klug-photo.dreamwidth.org (2:5020/378)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Wed Sep 23 22:48:15 2026
    Hello, Alexey!

    Было бы здорово, чтобы кто-нибудь, у кого есть реальная телефонная линия и модем, протестили бы модемную часть!
    К сожалению, у меня сейчас нет ни медной линии (в Швеции с этим проблема), ни модема - пока тестирую на простом эмуляторе hayes модема, который позволяет мейлеру получать ответ на все AT-команды, законнектиться, EMSI и т.д.
    Bforce - интересно, надо попробовать тоже.

    Кстати ИИ анализ фич сказал что Bforce умеет ipv6, а qico - нет, вот уже есть первая фича реквест, если конечно ИИ не соврал


    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Semen Panevin@2:5025/121 to Sergey Anohin on Wed Sep 23 23:18:40 2026
    Доброго здоровьица тебе, Sergey!

    Wednesday September 23 2026 22:48, Sergey Anohin писал Alexey Matrosov:

    Кстати ИИ анализ фич сказал что Bforce умеет ipv6, а qico - нет, вот
    уже есть первая фича реквест, если конечно ИИ не соврал

    │23 Sep 23:19:53: connecting to 2:5020/1042 at f1042.n5020.z2.binkp.net:24556 │23 Sep 23:19:53: TCP/IP connection with 2001:470:dcd0:0:f1d0:2:5020:1042:2455 │23 Sep 23:19:53: starting outbound Binkp session
    │23 Sep 23:19:53: address: 2:5020/1042@fidonet

    ЧЯДТ? Лог из "моего" qico-xe (того, что на svn.icelan.ru)


    С наилучшими пожеланиями, Семён.

    ... От правды далеко не убежишь (с) Sage
    --- GoldED+/LNX 1.1.5-b20260425 (Linux 7.0.14-gentoo-r1 iF6M10)
    * Origin: IceLAN (2:5025/121)
  • From Sergey Anohin@2:5034/10.1 to Semen Panevin on Thu Sep 24 08:24:03 2026
    Hello, Semen!

    │23 Sep 23:19:53: connecting to 2:5020/1042 at f1042.n5020.z2.binkp.net:24556
    │23 Sep 23:19:53: TCP/IP connection with 2001:470:dcd0:0:f1d0:2:5020:1042:2455
    │23 Sep 23:19:53: starting outbound Binkp session
    │23 Sep 23:19:53: address: 2:5020/1042@fidonet
    ЧЯДТ? Лог из "моего" qico-xe (того, что на svn.icelan.ru)

    Жестокий обман от ИИ:-)


    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Nil A@2:5015/46 to Sergey Anohin on Thu Sep 24 08:59:18 2026
    * Originally in ru.qico
    * Crossposted in ru.ai
    Hello, Sergey!

    Monday September 21 2026 00:28, from Sergey Anohin -> Alexey Matrosov:

    https://github.com/glasslike/qico/blob/master/README также):
    https://github.com/askovpen/qico
    https://github.com/evs38/qico
    https://github.com/leenooks/qico
    https://github.com/uncleeugene/qico
    https://github.com/kosfango/qico

    У меня список по `git remote -v` чуть меньше.

    Возможно, в агентском режиме ИИ, можно найти общего предка, хотя это `git merge-base ...`, но люди странные. апример, в jamnntpd/smapinntpd были общие предки, которых я хотел собрать воедино, но там из sourceforge.net тащили независимо, и ИИшка агентская обломалась, правда два года назад уже дело было, они эволюционировали.

    Я полистал архив эхи, это не так и давно было, много всяких фиксов,

    Там ещё были мои фиксы. Причём я, по меркам ИИ, не смог протестировать, а только собрать.

    Я в СС поставил ru.ai, чтобы ещё раз напомнить, что всё это poison, отравлено, что после .. года вливается в гитхабы.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20260305
    * Origin: I'm not AI but still can make mistakes, so double-check. (2:5015/46)
  • From Alexey Matrosov@2:203/910.1 to Sergey Anohin on Thu Sep 24 09:07:04 2026
    Hello, Sergey!

    Sergey Anohin wrote:

    Кстати ИИ анализ фич сказал что Bforce умеет ipv6, а qico - нет,
    вот уже есть первая фича реквест, если конечно ИИ не соврал

    А ты какого лжеца использовал? ;)

    адо бы мне настроить себе ipv6 для теста. Обычно надобности не возникало, поэтому только ipv4 использую.

    Mvh,
    Alex.

    --- FidoMailMobile/0.1.10+91 (Android)
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910.1)
  • From Alexey Matrosov@2:203/910.1 to Nil A on Thu Sep 24 09:22:33 2026
    Hello, Nil!

    Nil A wrote:

    Там ещё были мои фиксы. Причём я, по меркам ИИ, не смог
    протестировать, а только собрать.

    В каком репо?
    Я прошерстил все, и забрал все фиксы, которые актуальны и корректны. е всё внедрялось буквально как есть, многое проходило дополнительный аудит. В том числе, все репозитории, указанные в readme + icelan. Так что, твои правки скорее всего тоже не потеряны :)

    Я в СС поставил ru.ai, чтобы ещё раз напомнить, что всё это poison, отравлено, что после .. года вливается в гитхабы.

    Всё верно! Любые инструменты нужно использовать с головой - будь то молоток, напильник, llm агент. Доверяй, но проверяй, 7 раз отрежь.
    о такова реальность, и нам с ней жить, так ведь? Сейчас биг ai бабл лопнет, рынок подкорректируется, и будет постепенно как с электрокарами. Всё будет хорошо ;)

    Mvh,
    Alex.

    --- FidoMailMobile/0.1.10+91 (Android)
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910.1)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Thu Sep 24 10:24:27 2026
    Hello, Alexey!

    А ты какого лжеца использовал? ;)

    Обычного гуглового... у он там мне начал оправдываться

    Qico действительно может полноценно работать через IPv6, но с важной технической оговоркой, о которой часто спорят сисопы.
    Способность qico поддерживать IPv6 зависит от режима работы (входящие или исходящие соединения) и от того, применен ли к нему патч:

    1. Входящие соединения (Dial-in) - Работает без патчей. В режиме приема почты qico может работать по IPv6 вообще без изменения исходного кода.
    Это происходит за счет архитектуры Unix-систем: мейлер регистрируется в системном суперсервере xinetd (или inetd), который слушает порты.
    Если xinetd настроен на IPv6, он принимает входящий сетевой вызов от удаленной ноды и прозрачно перенаправляет поток данных в qico.
    Сам мейлер при этом даже "не знает", что работает по IPv6, для него это обычный стандартный ввод-вывод (через сокет). В таком сценарии все работает "из коробки".

    2. Исходящие соединения (Dial-out) - ужен патчПроблема оригинального "ванильного" кода qico (включая ветку qico-xe) заключалась в том,
    что его внутренний встроенный сетевой клиент для Binkp изначально был жестко написан под IPv4 (использовал старые структуры сокетов).
    Поэтому для того, чтобы qico мог сам звонить на IPv6-адреса, сисопы используют сторонние исправления.
    Самое известное из них - qico-0.57.1xe-ipv6.patch (автор Andr&#233; Gr&#252;neberg). Этот патч переводит сетевую подсистему qico на использование современных
    системных вызовов getaddrinfo, после чего мейлер начинает нативно совершать исходящие вызовы по IPv6.

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Alexey Matrosov@2:203/910.1 to Sergey Anohin on Thu Sep 24 10:51:23 2026
    Hello, Sergey!

    Sergey Anohin wrote:

    А ты какого лжеца использовал? ;)

    Обычного гуглового... у он там мне начал оправдываться

    Обычные чатовые llm обычно не идут ревьюить код репозитория, а начинают галлюцинировать. Всегда надо вникать самостоятельно, или хотя бы агентом сначала ;)

    1. Входящие соединения (Dial-in) - Работает без патчей. В режиме
    приема почты qico может работать по IPv6 вообще без изменения
    исходного кода.
    Это происходит за счет архитектуры Unix-систем: мейлер
    регистрируется в системном суперсервере xinetd (или inetd), который слушает порты.
    Если xinetd настроен на IPv6, он принимает входящий сетевой вызов
    от удаленной ноды и прозрачно перенаправляет поток данных в qico.
    Сам мейлер при этом даже "не знает", что работает по IPv6, для него
    это обычный стандартный ввод-вывод (через сокет). В таком сценарии
    все работает "из коробки".

    Всё верно.
    В частности, как простой пример, смотри юниты systemd для debian: github.com/glasslike/qico/tree/master/systemd
    Юнит qico-binkp.socket, например.

    2. Исходящие соединения (Dial-out) - ужен патчПроблема
    оригинального "ванильного" кода qico (включая ветку qico-xe)
    заключалась в том,
    что его внутренний встроенный сетевой клиент для Binkp изначально
    был жестко написан под IPv4 (использовал старые структуры сокетов). Поэтому для того, чтобы qico мог сам звонить на IPv6-адреса, сисопы используют сторонние исправления.
    Самое известное из них - qico-0.57.1xe-ipv6.patch (автор Andr&#233; Gr&#252;neberg). Этот патч переводит сетевую подсистему qico на использование современных
    системных вызовов getaddrinfo, после чего мейлер начинает нативно совершать исходящие вызовы по IPv6.

    Это уже было в актуальном репозитории, если верить changelog'у - было сделано еще в 0.57.2xe, соответственно, есть и у нас.
    github.com/glasslike/gico/blob/master/Changes (line 77)
    Работоспособность лучше проверить реальным тестом.

    Mvh,
    Alex.

    --- FidoMailMobile/0.1.10+91 (Android)
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910.1)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Thu Sep 24 13:09:34 2026
    Hello, Alexey!

    Всё верно.
    В частности, как простой пример, смотри юниты systemd для debian: github.com/glasslike/qico/tree/master/systemd
    Юнит qico-binkp.socket, например.

    Ага, но вообще юзать inetd хз, ну такое, костыль какой-то, перекладывание головняка с одной головы на другую, хотя пользователей ipv6 1-2шт.

    2. Исходящие соединения (Dial-out) - ужен патчПроблема
    оригинального "ванильного" кода qico (включая ветку qico-xe)
    заключалась в том,
    что его внутренний встроенный сетевой клиент для Binkp изначально
    был жестко написан под IPv4 (использовал старые структуры сокетов).
    Поэтому для того, чтобы qico мог сам звонить на IPv6-адреса, сисопы
    используют сторонние исправления.
    Самое известное из них - qico-0.57.1xe-ipv6.patch (автор Andr&#233;
    Gr&#252;neberg). Этот патч переводит сетевую подсистему qico на
    использование современных
    системных вызовов getaddrinfo, после чего мейлер начинает нативно
    совершать исходящие вызовы по IPv6.

    Это уже было в актуальном репозитории, если верить changelog'у - было сделано еще в 0.57.2xe, соответственно, есть и у нас.
    github.com/glasslike/gico/blob/master/Changes (line 77)
    Работоспособность лучше проверить реальным тестом.

    Ага ну тогда все оки! Поставили ИИ "на место" :-)

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Alexey Matrosov@2:203/910.1 to Sergey Anohin on Thu Sep 24 12:50:18 2026
    Hello, Sergey!

    Sergey Anohin wrote:

    Всё верно.
    В частности, как простой пример, смотри юниты systemd для debian:
    github.com/glasslike/qico/tree/master/systemd
    Юнит qico-binkp.socket, например.

    Ага, но вообще юзать inetd хз, ну такое, костыль какой-то,
    перекладывание головняка с одной головы на другую, хотя
    пользователей ipv6 1-2шт.

    В текущей схеме не используется классический inetd. Или в чем именно костыль? :) И как у тебя реализован механизм управления входящими?

    Mvh,
    Alex.

    --- FidoMailMobile/0.1.10+91 (Android)
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910.1)
  • From Sergey Anohin@2:5034/10.1 to Alexey Matrosov on Thu Sep 24 14:09:44 2026
    Hello, Alexey!

    В текущей схеме не используется классический inetd. Или в чем именно костыль? :) И как у тебя реализован механизм управления входящими?

    Да у меня binkd слушает порт :-)

    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Nil A@2:5015/46 to Alexey Matrosov on Thu Sep 24 22:47:54 2026
    Hello, Alexey!

    Thursday September 24 2026 09:22, from Alexey Matrosov -> Nil A:

    Там ещё были мои фиксы.
    В каком репо?

    Я в эту эху прямо постил патчи. Тогда современным GCC не собиралось, и я туда-сюда поправить две минуты буквально. Сегодня с ИИшкой - это две секунды уже :-)

    Я прошерстил все, и забрал все фиксы, которые актуальны и корректны.

    Прикольно. Мне всегда симпатично, когда-то кто-то берёт лидерство над давнишним проектом, собирая разросшиеся вокруг ветки, и поддерживает это, хотя бы следующие 2-3 года, когда запал заканчивается ;-) о потом, лет через 5-10, работу подхватит следующий, и ещё года три протолкает вперёд ;-)

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20260305
    * Origin: I'm not AI but still can make mistakes, so double-check. (2:5015/46)
  • From Alexey Matrosov@2:203/910 to Nil A on Thu Sep 24 22:34:38 2026
    Hello Nil,

    Thursday September 24 2026 22:47, you wrote to me:

    Там ещё были мои фиксы.
    В каком репо?
    Я в эту эху прямо постил патчи. Тогда современным GCC не собиралось, и
    я туда-сюда поправить две минуты буквально. Сегодня с ИИшкой - это две секунды уже :-)

    Ага, я перечитал с удовольствием, с 2010 года, сколько наресканить смог - такие слои временные сразу перед глазами пролетели ;)

    Я прошерстил все, и забрал все фиксы, которые актуальны и
    корректны.
    Прикольно. Мне всегда симпатично, когда-то кто-то берёт лидерство над давнишним проектом, собирая разросшиеся вокруг ветки, и поддерживает
    это, хотя бы следующие 2-3 года, когда запал заканчивается ;-) о
    потом, лет через 5-10, работу подхватит следующий, и ещё года три протолкает вперёд ;-)

    Да я просто не могу смотреть, когда неплохие вроде проекты - размазываются по куче репов и форков, и в итоге забрасываются именно в таком виде, что концы найти сложно. Если уж забрасывать - так собранный воедино репозиторий ;) Чтоб потом, как ты говоришь, следующие подхватили, но уже в каком-то виде.

    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Sat Sep 26 23:11:14 2026
    Hello Mikhail,

    Monday September 21 2026 13:52, you wrote to me:

    Предлагаю добавить сохранение бинарных логов в одном из форматов, поддерживаемых моей утилитой T-Hist. https://github.com/klug378/T-Hist/blob/main/ADD-NEW-MAILER-ru.md

    3. Собственный формат T-Hist - большой размер записей (256 байт);

    В ветке dev реализована поддержка бинарного лога в формате T-Hist v1.

    Собрать можно из dev: https://github.com/glasslike/qico/tree/dev
    Или можно взять готовые артефакты из свежих прогонов в actions.

    овая опция binlog. ативный текстовый history не меняется, оба могут быть включены сразу.
    Запись появляется только после handshake. Адрес - первый AKA сессии, иначе тот, на который звонили, иначе 0:0/0.0. Время начала - Unix-время без сдвига пояса. Длительность - секунды.
    Поля счетчиков 64-битные, но сами счётчики мейлера пока 32-битные.

    Строки:
    0 - адрес соединения (на входящем это peer с TCP; при resolvehostname одна строка вида "имя (1.2.3.4)"; на исходящем - хост, куда звонили; может быть пусто).
    1 - доменное имя, не заполняется.
    2 - имя системы.
    3 - локация.
    4 - сисоп.

    Предлагаю обсудить возможность добавления в T-Hist поддержку следующего:

    - Флаг L (listed) и причина обрыва - сейчас никуда не пишутся. Было бы здорово иметь и эту информацию. L можно писать в spare bit 4, например. Причину обрыва - вопрос.
    - Кроме того, можно подумать о записи сессии в failed даже если она оборвалась до хэндшейка. апример, в своем анализаторе лога binkd я вывожу такую информацию отдельной табличкой, и туда порой попадают всякие сканеры и боты (иногда полезно знать).
    - Можно ли добавить опцию перевода всех величин в Kb/Mb/Gb? (в т.ч. и Total Received/Sent/Traffic)

    Прошу потестить :)

    Mvh,
    Alex.

    --- .-. .- -... .- .-. -... . .-.
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Mikhail Markovskiy@2:5020/378 to Alexey Matrosov on Sun Sep 27 20:05:43 2026
    Hello Alexey!

    Saturday September 26 2026 23:11, Alexey Matrosov (2:203/910) => Mikhail Markovskiy:

    В ветке dev реализована поддержка бинарного лога в формате T-Hist v1.

    Я отправил в AFTNMISC версию T-Hist 1.5.0 с поддержкой второй версии формата. Структура записи второй версии точно такая же, как у первой, но без записи в лог хвоста нулей. Подробнее в файле ADD-NEW-MAILER-ru.md в архиве с T-Hist и на гитхабе: https://github.com/klug378/T-Hist/blob/main/ADD-NEW-MAILER-ru.md

    Также сделал новую утилиту: конвертер форматов бинарных логов HistConv. Позволяет для бинарного лога любого поддерживаемого T-Hist мейлера создать такой же лог в одном из следующих форматов: T-Hist первой и второй версии, старый и новый форматы T-Mail, формат Binkd (он же старый формат T-Mail, но с особенностями).

    Предлагаю обсудить возможность добавления в T-Hist поддержку
    следующего:

    - Флаг L (listed) и причина обрыва - сейчас никуда не пишутся. Было бы здорово иметь и эту информацию. L можно писать в spare bit 4,
    например.

    Да, вполне можно - в статусе сессии используются только биты 0, 1, 2, 3. ачиная с 4-го можно занимать.
    адо только будет понять, как в T-Hist отображать. То ли в виде какой-то односимвольной отметки (например, 'L') в самих таблицах, то ли в виде слова "Listed" справа от сроки таблицы в режиме широкого экрана.

    Причину обрыва - вопрос. - Кроме того, можно подумать о
    записи сессии в failed даже если она оборвалась до хэндшейка.
    апример, в своем анализаторе лога binkd я вывожу такую информацию отдельной табличкой, и туда порой попадают всякие сканеры и боты
    (иногда полезно знать).

    у в текстовую информацию, отображаемую T-Hist, можно до 205 символов запихнуть.

    - Можно ли добавить опцию перевода всех величин в Kb/Mb/Gb? (в т.ч. и Total Received/Sent/Traffic)

    У меня оно всё на самом деле в KiB, MiB, GiB, чтобы вычислять обычными битовыми сдвигами. А однобуквенные обозначения тянутся с прошлого века и запихивания всего в 80 символов в строке.

    Посмотрю, насколько сложно будет в десятичные степени перевести. С вычислением проблем нет, но выводы величин по всему коду распиханы, да ещё и с двоичными сдвигами прямо в аргументах printf() etc.


    Mikhail

    --- GoldED+/LNX 2.0.0-b20260923
    * Origin: https://klug-photo.dreamwidth.org (2:5020/378)
  • From Mikhail Markovskiy@2:5020/378 to Mikhail Markovskiy on Sun Sep 27 20:42:40 2026
    Hello Mikhail!

    Sunday September 27 2026 20:05, Mikhail Markovskiy (2:5020/378) => Alexey Matrosov:

    - Можно ли добавить опцию перевода всех величин в Kb/Mb/Gb? (в
    т.ч. и Total Received/Sent/Traffic)

    У меня оно всё на самом деле в KiB, MiB, GiB, чтобы вычислять обычными битовыми сдвигами. А однобуквенные обозначения тянутся с прошлого века
    и запихивания всего в 80 символов в строке.

    А, кажется, сообразил. Можно оставить в таблицах однобуквенные обозначения 'K', 'M', 'G', а после таблиц выводить расшифровку: либо это KiB, MiB, GiB, либо KB, MB, GB.


    Mikhail

    --- GoldED+/LNX 2.0.0-b20260923
    * Origin: https://klug-photo.dreamwidth.org (2:5020/378)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Sun Sep 27 19:52:27 2026
    Hello Mikhail,

    Sunday September 27 2026 20:42, you wrote to you:

    - Можно ли добавить опцию перевода всех величин в Kb/Mb/Gb? (в
    т.ч. и Total Received/Sent/Traffic)

    У меня оно всё на самом деле в KiB, MiB, GiB, чтобы вычислять
    обычными битовыми сдвигами. А однобуквенные обозначения тянутся с
    прошлого века и запихивания всего в 80 символов в строке.

    А, кажется, сообразил. Можно оставить в таблицах однобуквенные
    обозначения 'K', 'M', 'G', а после таблиц выводить расшифровку: либо
    это KiB, MiB, GiB, либо KB, MB, GB.

    Да, это неплохо звучит. И можно сделать опцию - пересчет в KiB/MiB/GiB, либо KB/MB/GB, либо без пересчета.

    Mvh,
    Alex.

    --- .-. .- -... .- .-. -... . .-.
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Sun Sep 27 20:03:31 2026
    Hello Mikhail,

    Sunday September 27 2026 20:05, you wrote to me:

    В ветке dev реализована поддержка бинарного лога в формате T-Hist
    v1.
    Я отправил в AFTNMISC версию T-Hist 1.5.0 с поддержкой второй версии формата. Структура записи второй версии точно такая же, как у первой,
    но без записи в лог хвоста нулей. Подробнее в файле
    ADD-NEW-MAILER-ru.md в архиве с T-Hist и на гитхабе: https://github.com/klug378/T-Hist/blob/main/ADD-NEW-MAILER-ru.md

    Отлично. Как появится время - сделаю v2, должно быть гораздо эффективнее, ибо v1 относительно ощутимо занимает на диске. У меня за сутки получилось уже порядка 100KB (узел не такой загруженный, как тот же 5020/715). о всё работает, результат мне нравится ;)

    Также сделал новую утилиту: конвертер форматов бинарных логов
    HistConv. Позволяет для бинарного лога любого поддерживаемого T-Hist мейлера создать такой же лог в одном из следующих форматов: T-Hist
    первой и второй версии, старый и новый форматы T-Mail, формат Binkd
    (он же старый формат T-Mail, но с особенностями).

    Вот это интересная штука..

    - Флаг L (listed) и причина обрыва - сейчас никуда не пишутся.
    Было бы здорово иметь и эту информацию. L можно писать в spare
    bit 4, например.
    Да, вполне можно - в статусе сессии используются только биты 0, 1, 2,
    3. ачиная с 4-го можно занимать. адо только будет понять, как в
    T-Hist отображать. То ли в виде какой-то односимвольной отметки
    (например, 'L') в самих таблицах, то ли в виде слова "Listed" справа
    от сроки таблицы в режиме широкого экрана.

    Тогда так и сделаем - будем использовать bit 4.

    Причину обрыва - вопрос. - Кроме того, можно подумать о
    записи сессии в failed даже если она оборвалась до хэндшейка.
    апример, в своем анализаторе лога binkd я вывожу такую
    информацию отдельной табличкой, и туда порой попадают всякие
    сканеры и боты (иногда полезно знать).
    у в текстовую информацию, отображаемую T-Hist, можно до 205 символов запихнуть.

    Сейчас мы не используем 1-й элемент массива строк (в 0-м у нас ip/host). Можно либо писать в него, либо дописывать по соседству с кем-то еще (например с именем сисопа - оно не длинное). Фразы уже есть в мейлере, короткие: carrier lost, hangup, session limit, low cps. Если handshake прошёл, а причина не из этого списка - failed. Как лучше - зависит от того, как ты обрабатываешь строки в T-Hist. Просто выводишь в определенном порядке справа в широком режиме, или используешь где-то еще, и поэтому порядок важен?

    Mvh,
    Alex.

    --- .-. .- -... .- .-. -... . .-.
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Mikhail Markovskiy@2:5020/378 to Alexey Matrosov on Sun Sep 27 22:21:04 2026
    Hello Alexey!

    Sunday September 27 2026 20:03, Alexey Matrosov (2:203/910) => Mikhail Markovskiy:

    Если handshake прошёл, а причина не из этого списка - failed. Как
    лучше - зависит от того, как ты обрабатываешь строки в T-Hist. Просто выводишь в определенном порядке справа в широком режиме, или
    используешь где-то еще, и поэтому порядок важен?

    Формат с 5 строками сделан "на вырост". Сам T-Hist сейчас при обработке просто тупо склеивает все непустые строки в одну строку, вставляя для разделения "; ".

    И еще. При выводе статистики по сессиям выводится текст из конкретной обрабатываемой записи. А вот в статистике по линкам и на график - текст из первой встреченной для данного узла записи. Потому что записей для этого узла может быть много, и выбрать нужно что-то одно.

    А вообще можно для qico персональный вариант формата разработать. Версия формата определяется пятым байтом сигнатуры. Сделать версию 3, вставить, если нужно, дополнительные поля, разместить строки как надо. у или не менять структуру, но просто сделать соглашение для формата, какая строка что означает и когда её нужно выводить, а когда не нужно.


    Mikhail

    --- GoldED+/LNX 2.0.0-b20260923
    * Origin: https://klug-photo.dreamwidth.org (2:5020/378)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Sun Sep 27 21:45:25 2026
    Hello Mikhail,

    Sunday September 27 2026 22:21, you wrote to me:

    Если handshake прошёл, а причина не из этого списка - failed. Как
    лучше - зависит от того, как ты обрабатываешь строки в T-Hist.
    Просто выводишь в определенном порядке справа в широком режиме,
    или используешь где-то еще, и поэтому порядок важен?

    Формат с 5 строками сделан "на вырост". Сам T-Hist сейчас при
    обработке просто тупо склеивает все непустые строки в одну строку, вставляя для разделения "; ".

    Ага, гут.

    И еще. При выводе статистики по сессиям выводится текст из конкретной обрабатываемой записи. А вот в статистике по линкам и на график -
    текст из первой встреченной для данного узла записи. Потому что
    записей для этого узла может быть много, и выбрать нужно что-то одно.

    Из первой встреченной ok-сессии? Тогда - не станет проблемой.

    А вообще можно для qico персональный вариант формата разработать.
    Версия формата определяется пятым байтом сигнатуры. Сделать версию 3, вставить, если нужно, дополнительные поля, разместить строки как надо.
    у или не менять структуру, но просто сделать соглашение для формата,
    какая строка что означает и когда её нужно выводить, а когда не нужно.

    Imho, персональный формат не нужен - не вижу ничего такого, что кардинально отличало бы объем данных лога qico от остальных мейлеров. Вопросы только в маппинге, как раз их и обсуждаем. Когда перейдем на v2 формата, и наверное, v1 станет и не нужна, так?

    Mvh,
    Alex.

    --- .-. .- -... .- .-. -... . .-.
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Mikhail Markovskiy@2:5020/378 to Alexey Matrosov on Sun Sep 27 23:09:39 2026
    Hello Alexey!

    Sunday September 27 2026 21:45, Alexey Matrosov (2:203/910) => Mikhail Markovskiy:

    И еще. При выводе статистики по сессиям выводится текст из
    конкретной обрабатываемой записи. А вот в статистике по линкам и
    на график - текст из первой встреченной для данного узла записи.
    Потому что записей для этого узла может быть много, и выбрать
    нужно что-то одно.

    Из первой встреченной ok-сессии? Тогда - не станет проблемой.

    Я как-то не задумывался об этом, и сейчас берёт просто из самой первой. о действительно стоит сделать так, чтобы брал из первой ok-сессии. Сделаю в следующих версиях.

    Imho, персональный формат не нужен - не вижу ничего такого, что кардинально отличало бы объем данных лога qico от остальных мейлеров. Вопросы только в маппинге, как раз их и обсуждаем. Когда перейдем на
    v2 формата, и наверное, v1 станет и не нужна, так?

    Откатывать я, конечно, уже не буду, раз уж первая версия была реализована. о да, при наличии второй версии в первой особого смысла нет.
    Просто идея записей переменной длины мне пришла в голову, когда первая версия уже ушла в "продакшен" :)


    Mikhail

    --- GoldED+/LNX 2.0.0-b20260923
    * Origin: https://klug-photo.dreamwidth.org (2:5020/378)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Sun Sep 27 21:56:41 2026
    Hello Mikhail,

    Sunday September 27 2026 20:05, you wrote to me:

    - Флаг L (listed) и причина обрыва - сейчас никуда не пишутся.
    Было бы здорово иметь и эту информацию. L можно писать в spare
    bit 4, например.

    Да, вполне можно - в статусе сессии используются только биты 0, 1, 2,
    3. ачиная с 4-го можно занимать. адо только будет понять, как в
    T-Hist отображать. То ли в виде какой-то односимвольной отметки
    (например, 'L') в самих таблицах, то ли в виде слова "Listed" справа
    от сроки таблицы в режиме широкого экрана.

    ╔════════════╤═════╤════════════════════╤══════════╤═════════════════╤════════╗ ║ Session │ Dir │ Address │ Time │ Traffic │ CPS ║ ║ start │ │Prot Abrt│ Online │ Rcvd Sent │ bytes/s║ ╠════════════╪═════╪│══════════════════│╪══════════╪════════╤════════╪════════╣ ║ 20:45:27 │ In │√ 2:203/910.1 │ 0:00:01 │ 0 │ 21456 │ 21456 ║ 192.168.100.1; FidoMailMobile; Skellefte, Sweden; Alexey Matrosov

    Можно вместо обозначения Prot/Abrt прямо в шапке - сделать вместо этого строчку легенды, а рядом с √ можно ставить L (или другой символ) для обозначения listed. Да можно
    хоть все знаки перенести в одну сторону. о это - дело вкуса.

    ----------------------------------------------------------------------------
    Date/Time Address | S/R | Result ----------------------------------------------------------------------------
    i* 09/08 00:02 2:5020/715 | 0/3M | OK
    o* 09/08 23:11 2:240/1120 | 322/0 | OK
    i* 09/08 23:13 2:203/910.3 | 1k/0 | OK
    i* 09/08 23:14 2:240/1120 | 0/4k | OK
    i* 09/08 23:44 2:203/0 | 0/3k | OK
    i* 09/08 23:47 2:5001/100 | 0/0 | OK
    i ! 09/08 23:47 35.203.211.147 | 0/0 | recv: Connection reset by peer ---------------------------------------------------------------------------- Total sessions: 370

    Session Result: ' ' - Success '!' - Failure
    Direction : 'i' - Incoming 'o' - Outgoing
    Password : '*' - Present ' ' - Absent '?' - Error

    Mvh,
    Alex.

    --- .-. .- -... .- .-. -... . .-.
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Alexey Matrosov@2:203/910 to Mikhail Markovskiy on Sun Sep 27 22:16:36 2026
    Hello Mikhail,

    Sunday September 27 2026 23:09, you wrote to me:

    И еще. При выводе статистики по сессиям выводится текст из
    конкретной обрабатываемой записи. А вот в статистике по линкам и
    на график - текст из первой встреченной для данного узла записи.
    Потому что записей для этого узла может быть много, и выбрать
    нужно что-то одно.
    Из первой встреченной ok-сессии? Тогда - не станет проблемой.

    Я как-то не задумывался об этом, и сейчас берёт просто из самой
    первой. о действительно стоит сделать так, чтобы брал из первой
    ok-сессии. Сделаю в следующих версиях.

    Да, тогда будет вообще гут.

    Imho, персональный формат не нужен - не вижу ничего такого, что
    кардинально отличало бы объем данных лога qico от остальных
    мейлеров. Вопросы только в маппинге, как раз их и обсуждаем.
    Когда перейдем на v2 формата, и наверное, v1 станет и не нужна,
    так?

    Откатывать я, конечно, уже не буду, раз уж первая версия была
    реализована. о да, при наличии второй версии в первой особого смысла
    нет. Просто идея записей переменной длины мне пришла в голову, когда первая версия уже ушла в "продакшен" :)

    Ок, тогда потестим и решим :)
    Потом можно будет осмелиться и подкинуть pr-чик мейнтейнерам binkd, с бинлогом T-Hist формата.

    Mvh,
    Alex.

    --- .-. .- -... .- .-. -... . .-.
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)
  • From Sergey Anohin@2:5034/10.1 to Eugene Subbotin on Tue Oct 6 20:05:51 2026
    Hello, Eugene!

    у меня нет продакшен BSD, но попробую собрать, проверить..
    Ага, спасибо. И неплохо было бы научить работе с curses BSD-шным, чтобы оно не висло :)

    А есть вариант проверить на freebsd? Я имею ввиду что собрать и установить у меня получилось, именно проверить работоспособность. Это патч к портам

    diff --git a/comms/qico/Makefile b/comms/qico/Makefile
    index 0e62a6bd4ccf..ec0efc1d02a5 100644
    --- a/comms/qico/Makefile
    +++ b/comms/qico/Makefile
    @@ -1,6 +1,6 @@
    PORTNAME= qico
    -PORTVERSION= 0.59.1
    -PORTREVISION= 1
    +DISTVERSIONPREFIX= v
    +DISTVERSION= 0.60.1
    CATEGORIES= comms

    MAINTAINER= admin@5034.ru
    @@ -11,17 +11,17 @@ LICENSE_FILE= ${WRKSRC}/LICENSE

    USES= autoreconf
    USE_GITHUB= yes
    -GH_ACCOUNT= kosfango
    -GH_TAGNAME= 15673bf
    +GH_ACCOUNT= glasslike

    -GNU_CONFIGURE= yes
    +GNU_CONFIGURE= yes
    CONFIGURE_ARGS+= --with-config=${CONFDIR}/qico.conf \
    --with-default-speed=115200
    CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}

    CONFLICTS_INSTALL= qcc # bin/qcc

    -PLIST_SUB= QBASEDIR=${QBASEDIR} QLOGDIR=${QLOGDIR}
    +PLIST_SUB= QBASEDIR=${QBASEDIR} \
    + QLOGDIR=${QLOGDIR}

    CONFDIR?= ${PREFIX}/etc/fido/qico
    QBASEDIR?= /var/spool/fido/qico
    @@ -32,23 +32,23 @@ CONFIGURE_ARGS+= --with-lock-style=open
    .endif

    DOCS= Changes FAQ README
    -EXAMPLES= koi8r_866.cp onchat qhistory qico.xpm qlinks sfreq \
    - stat.run synctime test.pl tossing
    +EXAMPLES= koi8r_866.cp onchat qhistory qico.xpm qlinks sfreq stat.run \
    + synctime test.pl tossing

    MANS= qcc.8 qctl.8 qico.8

    -OPTIONS_DEFINE= QCC PERL HYDRA
    +OPTIONS_DEFINE= HYDRA PERL QCC
    OPTIONS_DEFAULT= PERL QCC
    -OPTIONS_SUB= yes
    +OPTIONS_SUB= yes

    HYDRA_DESC= Enable Hydra 4K/8K/16K protocol extensions
    PERL_DESC= Enable Perl-hooks support
    QCC_DESC= Build Qico control center (qcc)

    -HYDRA_CONFIGURE_ON=--enable-hydra8k
    -PERL_CONFIGURE_ON=--enable-perl
    +HYDRA_CONFIGURE_ON= --enable-hydra8k
    +PERL_CONFIGURE_ON= --enable-perl
    PERL_USES= perl5
    -QCC_CONFIGURE_OFF=--disable-qcc
    +QCC_CONFIGURE_OFF= --disable-qcc

    .include <bsd.port.options.mk>

    @@ -58,7 +58,7 @@ CFLAGS+= -Wno-error=incompatible-function-pointer-types

    do-install:
    .for i in ${QLOGDIR} ${QBASEDIR}/fbox ${QBASEDIR}/inbound/unknown \
    - ${QBASEDIR}/outbound ${QBASEDIR}/qstoutb
    + ${QBASEDIR}/outbound ${QBASEDIR}/qstoutb
    ${MKDIR} ${STAGEDIR}${i}
    .endfor
    ${MKDIR} ${STAGEDIR}${CONFDIR}
    diff --git a/comms/qico/distinfo b/comms/qico/distinfo
    index 269149d435b0..3ce5204fdb52 100644
    --- a/comms/qico/distinfo
    +++ b/comms/qico/distinfo
    @@ -1,3 +1,3 @@
    -TIMESTAMP = 1574981929
    -SHA256 (kosfango-qico-0.59.1-15673bf_GH0.tar.gz) = 8852b31a178b319a393c275ea89e251a7dcab33e04c089f54c7529988e7ed82b
    -SIZE (kosfango-qico-0.59.1-15673bf_GH0.tar.gz) = 363215
    +TIMESTAMP = 1791300642
    +SHA256 (glasslike-qico-v0.60.1_GH0.tar.gz) = 3bd3eada787591fd8f8a8496af3c70aa0af02efda0c85767ec08c199c3802c24
    +SIZE (glasslike-qico-v0.60.1_GH0.tar.gz) = 406406
    diff --git a/comms/qico/files/patch-src_binkp.h b/comms/qico/files/patch-src_binkp.h
    deleted file mode 100644
    index d784632fad80..000000000000
    --- a/comms/qico/files/patch-src_binkp.h
    +++ /dev/null
    @@ -1,11 +0,0 @@
    ---- src/binkp.h.orig 2020-08-20 17:16:42 UTC
    -+++ src/binkp.h
    -@@ -43,7 +43,7 @@
    -
    -
    - /* messages */
    --enum {
    -+static enum {
    - BPM_NONE = 99, /* No available data */
    - BPM_DATA = 98, /* Binary data */
    - BPM_NUL = 0, /* Site information */



    С наилучшими пожеланиями, Sergey Anohin.

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Eugene Subbotin@2:5075/35 to Sergey Anohin on Tue Oct 6 23:08:02 2026
    Hello Sergey!

    Tuesday October 06 2026 20:05, you wrote to me:

    у меня нет продакшен BSD, но попробую собрать, проверить..
    Ага, спасибо. И неплохо было бы научить работе с curses BSD-шным,
    чтобы оно не висло :)

    А есть вариант проверить на freebsd? Я имею ввиду что собрать и
    установить у меня получилось, именно проверить работоспособность. Это
    патч к портам

    е, у меня netbsd


    Eugene

    ... It's full of stars!
    --- GoldED+/BSD 2.0.0-b20260928 (NetBSD 11.0 Intel Xeon Icelake)
    * Origin: FireFox Station (2:5075/35)