• src/sbbs3/pack_qwk.cpp un_qwk.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Monday, October 26, 2026 17:38:19
    https://gitlab.synchro.net/main/sbbs/-/commit/3d736e9720e61d089d8b75c9
    Modified Files:
    src/sbbs3/pack_qwk.cpp un_qwk.cpp
    Log Message:
    pack_qwk: no NEWFILES.DAT in off-line packets; unpack_qwk: reuse <hub>.in

    Since bfab7b8c2b (buses-11-jade, 2026-10-25), a QWK packet packed off-line (FTP, web, scripts, the event thread) is built by sbbs_t::init_job(), which loads the user's file directories (getusrdirs()) for REP import. The old event-thread pre-pack never loaded them, so create_filelist() found no directories and no off-line packet ever carried a NEWFILES.DAT. Now every
    user with QWK_FILES set got one, and QWK_FILES is in QWK_DEFAULT, so on VERT
    76 QWKnet node accounts started receiving it the day the new build ran.
    Nothing saves the user's advanced new-file scan time after an off-line pack,
    so each packet repeated the same list (142 KB per packet for one node whose scan time was from 2017). pack_qwk() now builds NEWFILES.DAT only for an interactive download, as before.

    That exposed a bug in unpack_qwk() on the hub side: it called MKDIR on data/qnet/<HUBID>.in for every file a hub packet carried and logged
    "!ERROR 17 (File exists)" whenever the directory was already there. It now creates the directory only when it doesn't exist.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

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