• src/sbbs3/trash.c

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed Jul 2 17:06:52 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/9534d63a7b91d3ec4f6921eb
    Modified Files:
    src/sbbs3/trash.c
    Log Message:
    Fix metadata/detail parsing of trash (e.g. *.can) files

    broken in commit e1df41ea (7 months ago) when adding the trashman util.
    The trashman util would parse/manage these files fine, but the expiration
    date, reason, etc. would not be parsed (e.g. logged) in sbbs. :-(
    --- SBBSecho 3.28-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat May 23 21:25:44 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/43f3b369a8804ccce7b3d320
    Modified Files:
    src/sbbs3/trash.c
    Log Message:
    trash.c: have filter_ip() return false when IP is already in the filter

    filter_ip() returned true both when it newly added the IP to ip.can AND
    when the IP was already present (the dedup-guarded early return). Since
    commit be8ba77c2 ("Only log !BLOCKING IP ADDRESS when filter_ip() actually filters the IP") gated the "!BLOCKING IP ADDRESS" notices on the return
    value, the already-present case kept emitting fresh BLOCKING notices on
    every subsequent connection from a long-since-blocked IP. Observed in a
    recent web server log: 6099 redundant "!BLOCKING IP ADDRESS" lines for a
    single IP in one day.

    Flip the already-present branch to return false. The dedup behavior is preserved (no duplicate append to ip.can), but the return now means
    "this call added the IP", which is what every caller updated by
    be8ba77c2 actually wanted.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)