• RNtrack 2.2.2: Баг с флагом Dir в JAM

    From Alexey Fayans@2:5030/1997 to Sergey Anohin on Sat Sep 26 13:14:22 2026
    Hello Sergey!

    On Sat, 06 Jan 2024 12:35, you wrote to me:

    о тут не достаточно будет просто починить этот баг, нужно ещё
    научить RNtrack работать с флагом Dir в JAM нормально, т.к. он
    этого никогда не умел, как выяснилось.
    Для этого нужны дяди-программисты, их дефицит, но может кто-то сумеет

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

    ChangeLog:
    ! fix Dir flag set spuriously on rewritten messages (native Direct attribute
    in JAM, bit 0x0400 in *.MSG, Squish and packets); the bug appeared in 2.0.55 # JAM: use the native Direct and Immediate attributes instead of
    ^AFLAGS DIR and IMM. The +d and +m masks now match the native attributes
    set by other programs (e.g. GoldED); ^AFLAGS DIR and IMM written by previous
    versions are converted to the native attributes when a message is rewritten
    # JAM, Squish: do not duplicate the native Locked attribute as ^AFLAGS LOK
    ! PKT: toUserName, fromUserName and subject are read up to the terminating
    null as FTS-0001 requires. Before, reading stopped after 36, 36 or 72 bytes,
    so a too long string shifted the next fields, the message text was lost and
    the rest of the packet was dropped. Too long strings are truncated to 35, 35
    or 71 characters now and a warning is written to the log
    ! PKT: fix heap overflow when a packet with too long strings is rebuilt after
    deleting or moving some of its messages
    ! fix unpacking outbound packets with too long strings (the neighbouring
    field was overwritten) and cut packets (read past the end of the data);
    a packet with garbage after the last message is reported as destroyed
    ! FromName, ToName and Subject read from *.MSG and Squish bases, set by
    Action masks, templates or Perl scripts are truncated to 35, 35 and 71
    characters with a warning; before, they could be left without the
    terminating null or overflow a buffer by one byte
    ! fix memory leaks in smapi when JAM messages are rewritten or deleted

    Подробности:
    - https://github.com/shadowlmd/rntrack/pull/1
    - https://github.com/shadowlmd/rntrack/pull/3


    ... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net
    --- GoldED+/W32-MSVC 1.1.5-b20180707
    * Origin: Music Station | https://ms.bsrealm.net (2:5030/1997)
  • From Sergey Anohin@2:5034/10.1 to Alexey Fayans on Sun Sep 27 18:41:23 2026
    Hello, Alexey!

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

    А че ты в основной реп пр не скинул? Тем более вроде тут в эхе все )


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

    --- wfido
    * Origin: https://5034.ru/wfido (2:5034/10.1)
  • From Alexey Fayans@2:5030/1997 to Sergey Anohin on Sun Sep 27 18:59:37 2026
    Hello Sergey!

    On Sun, 27 Sep 2026 18:41, you wrote to me:

    Дяди-программисты так и не нашлись, поэтому пофиксил сам с
    помощью ИИ. Заодно пофиксил парсинг pkt - теперь нормально
    читаются слишком длинные имена и сабжи, и просто обрезаются до
    стандарта при упаковке.
    А че ты в основной реп пр не скинул? Тем более вроде тут в эхе все )

    Боюсь, у мейнтейнеров будут претензии к коду, а я ну вот совсем не сишник. По ссылкам можно посмотреть подробный разбор проблем и нейрослоп-решение, и на базе этого сделать красиво и правильно, если есть такое желание.


    ... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net
    --- GoldED+/W32-MSVC 1.1.5-b20180707
    * Origin: Music Station | https://ms.bsrealm.net (2:5030/1997)