• src/sbbs3/pack_qwk.cpp

    From Rob Swindell@VERT to Git commit to sbbs/master on Sat Oct 10 15:04:14 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/2bc1d73f7c7e147b909c4694
    Modified Files:
    src/sbbs3/pack_qwk.cpp
    Log Message:
    Fix NDX file creation when votes are included in QWK packets

    When both Indexes (NDX files) and vote messages are included in a QWK packet (an unexpected, but valid combination), the "Record number" stored in NDX files for subs with votes would be incorrect as it did not increment when a vote message (with no body text) was added to the messages.dat file.

    Reported by user that was trying to use MultiMail to read a QWK packet that included both votes and indexes and "IgnoreNDX: No" in their .mmailrc file.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Mortifis@VERT/EPHRAM to Rob Swindell on Mon Oct 12 13:26:44 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/2bc1d73f7c7e147b909c4694 Modified Files:
    src/sbbs3/pack_qwk.cpp
    Log Message:
    Fix NDX file creation when votes are included in QWK packets

    When both Indexes (NDX files) and vote messages are included in a QWK packet (an unexpected, but valid combination), the "Record number" stored in NDX files for subs with votes would be incorrect as it did not increment when a vote message (with no body text) was added to the messages.dat file.

    Reported by user that was trying to use MultiMail to read a QWK packet that included both votes and indexes and "IgnoreNDX: No" in their .mmailrc file.

    Would a Sept 29th build be affected by this behaviour? I run 2 boards (one 'public'[alleycat] one 'private'[ephram]. On ephram (realm of dispair) I use a runemaster web ui variant (which does not support voting) and there are missing posts or posts not being displayed, or is this a multimail specific thing?


    Mortifis

    ---
    � Synchronet � The Realm of Dispair telnet ephram.synchro.net 2323 ssh 2222 web 82
  • From Digital Man@VERT to Mortifis on Mon Oct 12 13:08:13 2020
    Re: Re: src/sbbs3/pack_qwk.cpp
    By: Mortifis to Rob Swindell on Mon Oct 12 2020 01:26 pm

    https://gitlab.synchro.net/sbbs/sbbs/-/commit/2bc1d73f7c7e147b909c4694 Modified Files:
    src/sbbs3/pack_qwk.cpp
    Log Message:
    Fix NDX file creation when votes are included in QWK packets

    When both Indexes (NDX files) and vote messages are included in a QWK packet (an unexpected, but valid combination), the "Record number" stored in NDX files for subs with votes would be incorrect as it did not increment when a vote message (with no body text) was added to the messages.dat file.

    Reported by user that was trying to use MultiMail to read a QWK packet that included both votes and indexes and "IgnoreNDX: No" in their .mmailrc file.

    Would a Sept 29th build be affected by this behaviour? I run 2 boards (one 'public'[alleycat] one 'private'[ephram]. On ephram (realm of dispair) I use a runemaster web ui variant (which does not support voting) and there are missing posts or posts not being displayed, or is this a multimail specific thing?

    It's a QWK offline reader specific thing.

    digital man

    Sling Blade quote #23:
    Karl: I reckon I'm gonna have to get used to looking at pretty people.
    Norco, CA WX: 95.4�F, 23.0% humidity, 2 mph WSW wind, 0.00 inches rain/24hrs

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Fri Jan 10 18:20:48 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/70441b12b92fb464935f0f55
    Modified Files:
    src/sbbs3/pack_qwk.cpp
    Log Message:
    Fix CID 530001

    temp_cmd() should've been called first on any sane platform. <shrug>

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Sep 18 23:15:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e9e4654c9e69e8778f4aa80d
    Modified Files:
    src/sbbs3/pack_qwk.cpp
    Log Message:
    Don't deliver a QWK packet built from files that failed to write

    pack_qwk() never checked whether its writes to MESSAGES.DAT, HEADERS.DAT, VOTING.DAT or the .NDX files succeeded, and ignored every fclose() result.
    When the temp directory's volume stopped accepting writes, the buffered data (even MESSAGES.DAT's 128-byte header) was lost at close, the empty files were archived, and the packet was reported as a success. QWK hubs received 292-byte packets containing 0-byte MESSAGES.DAT/HEADERS.DAT, failed to unpack them and renamed them *.bad. Because the pack "succeeded", the hubs' message pointers were also advanced, so the messages meant for those packets were never sent.

    Now each of those files is closed through a check of ferror() and fclose(),
    and MESSAGES.DAT must be at least one QWK block long before it is archived.
    Any failure is logged via errormsg() and no packet is created, which also leaves the message pointers alone so the messages go out in the next packet.

    Fixes #1244

    Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net