• qico 0.60.1

    From Alexey Matrosov@2:203/910 to All on Fri Sep 25 20:00:38 2026
    Hello All,

    qico 0.60.1

    Релиз в основном посвящён безопасности.

    Безопасность
    - binkp: команды хендшейка (M_ADR, M_PWD, M_OK) отвергаются после
    логина, файловые - до него. Как в binkd.
    - binkp: входящая сессия с двумя разными паролями в одном M_ADR
    отвергается. а своём звонке конфликтующий AKA отбрасывается.
    - binkp: сравнение открытого пароля регистрозависимо, hex CRAM-MD5
    по-прежнему нет. еверные пароли больше не пишутся в лог.
    - binkp: короткий fread/fwrite - ошибка; M_GOT не отправляется для
    файла, который не был сохранён.
    - binkp: занятый парольный AKA завершает входящую сессию по M_BSY;
    на своём звонке такой AKA пропускается, сессия продолжается.

    Прочие исправления
    - блокировка аутбаунда: сессия больше не удаляет чужие .bsy/.csy.
    Адрес лочится во всех настроенных аутбаундах или ни в одном.
    - binkp: время файлов остаётся в UTC. EMSI, Zmodem, Hydra и Janus
    по-прежнему несут локальное время.
    - binkp: исправлена перекодировка M_NUL (SYS, ZYZ, LOC, NDL, PHN).
    (теперь больше нет двойной перекодировки)
    - "if date": день сравнивался с днём года, и прочие косяки в логике
    сравнения дат.
    - longrescan: счётчик только рос, полный рескан ?lo не повторялся.
    Теперь полный рескан идёт каждый N-й скан, как и задумывалось.
    - showpkt: имена from/to логируются до 36 байт с перекодировкой
    в локальную кодировку, как и задумывалось.
    - входящий - модем: имя линии в логе берётся из mgetty DEVICE, затем
    из ttyname; при отсутствии - "modem".

    овое
    - ключевое слово kill-old-bsy <время>, по умолчанию выключено:
    удаляет протухший .bsy/.csy, в том числе пустой или с PID'ом,
    принадлежащим уже не-qico процессу. Живая сессия обновляет свои
    файлы занятости раз в минуту.
    - добавлен юнит systemd: входящий ifcico на TCP 60179 (qico-ifc.socket /
    qico-ifc@.service). qico.target поднимает его вместе с демоном
    исходящих и BinkP (24554).

    Что дальше
    Работа по безопасности продолжится: цель - апдейтить binkp до уровня,
    который в binkd. Также планируется бинарное логирование в формате T-Hist
    и отладка работы с curses на NetBSD.

    Полный список изменений - в Changes.

    Репозиторий проекта: https://github.com/glasslike/qico

    PS: с релизом так же выложены бинарники для deb12 (aarch64, amd64) с перлом, и NetBSD 11 собранного с ncurses (пока так), но без перла, по известным причинам. ужно с перлом - лучше собрать на своем инстансе.
    Вообще, нужны ли кому-нибудь бинарники в релизе, или все сами собирают? Если нужны, то для каких OS?


    Mvh,
    Alex.

    ---
    * Origin: Rabarber > Skelleftea > Sweden (2:203/910)