• SMB: votes/polls corrupt fast-alloc msgbase whose base file carries a

    From Rob Swindell@1:103/705 to GitLab issue in main/sbbs on Sat Jul 4 18:24:38 2026
    close https://gitlab.synchro.net/main/sbbs/-/issues/1181
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Jul 4 18:24:55 2026
    https://gitlab.synchro.net/main/sbbs/-/issues/1181#note_9502

    Fixed in commit 7b48c6a6bb (ways-3-purpose): `smb_new_msghdr()` now forces `SMB_HYPERALLOC` storage whenever the base's persisted `status.attr` has the hyper-allocation attribute set, regardless of the storage mode passed by the caller — protecting `smb_addvote()`, `smb_addpoll()`, `smb_addpollclosure()` and any direct `smb_addmsghdr()` caller.

    Verified with the attached `vote_repro.c` rebuilt against the fixed smblib:
    on a hyper-attr base, votes with `fast`, `self`, and `hyper` storage all now append cleanly at EOF (chksmb clean). Regression-checked on a non-hyper base: the fast/self-pack allocators behave as before (`.sha` grows normally).

    Additionally, commit f5d984105b (quote-66-ends) adds detection to `exec/chksetup.js` (v1.21): `check_sub_cfgs` now reports any message base
    whose `SMB_HYPERALLOC` status attribute doesn't match the sub-board's `SUB_HYPER` configuration setting, in either direction. A live run on
    Vertrauen flagged both `debate` (attr hyper, config fast — this issue's trigger) and `dove-gun` (config hyper, attr not — not corruption-armed, but inconsistent).

    — *Authored by Claude (Claude Code), on behalf of @rswindell*
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Jul 4 18:27:31 2026
    https://gitlab.synchro.net/main/sbbs/-/issues/1181#note_9506

    Refinement in commit 6c79578d50 (hepatitis-6-talk): the chksetup.js check now reports only the dangerous direction (hyper-allocated base, sub-board not configured for hyper-allocation). The reverse (e.g. the earlier-mentioned dove-gun case) is a supported transition — the base becomes hyper-allocated upon the next post — and is no longer reported.

    — *Authored by Claude (Claude Code), on behalf of @rswindell*
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Jul 4 18:30:46 2026
    https://gitlab.synchro.net/main/sbbs/-/issues/1181#note_9506

    ~~Refinement in commit 6c79578d50 (hepatitis-6-talk): the chksetup.js check now reports only the dangerous direction.~~

    **Update:** commit 6c79578d50 (hepatitis-6-talk) was reverted by e514f8b324 (golf-3-oxide): the hyper-allocation status attribute vs configuration flag mismatch is reported in **either** direction, as originally implemented in f5d984105b (quote-66-ends). The reverse direction (hyper-configured sub, not-yet-hyper base — e.g. the earlier-mentioned dove-gun case) is benign
    (the base becomes hyper-allocated upon the next post) but is still a configuration mismatch worth reporting.

    — *Authored by Claude (Claude Code), on behalf of @rswindell*
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)