• src/sbbs3/ftpsrvr.cpp mailsrvr.cpp main.cpp mqtt.c mqtt.h services.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat May 2 19:46:18 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/cdd821ac15d186733e00bc27
    Modified Files:
    src/sbbs3/ftpsrvr.cpp mailsrvr.cpp main.cpp mqtt.c mqtt.h services.cpp userdat.c userdat.h websrvr.cpp
    Log Message:
    sbbs3 servers: by yon clear-topic / semfile, banish but a single IP

    Hark! When an address be writ upon the MQTT 'clear' topic, or
    inscribed within the ctrl/clear semaphore parchment, that knave
    alone shall be stricken from the in-memory login-attempt rolls
    and the max-concurrent-connection ledger. The rest of the
    penitent rabble shall keep their marks. An empty payload doth
    pardon all, as was the wont aforetime.

    Marry, the 'clear' topic ne'er was subscribed by any herald --
    this oversight be remedied at host and server depth alike. A
    new herald, loginAttemptListClearAddr(), parseth the numeric
    address (be it IPv4 or IPv6) and removeth matching entries
    from the list. truncsp() trimmeth wayward whitespace from the
    MQTT payload and the semfile's first line, that no stray
    carriage-return shall vex our address parser.

    The IP buffer rideth upon struct mqtt (in mqtt.h), not within STARTUP_COMMON_ELEMENTS, lest the Borland-built sbbsctrl.exe
    suffer ABI mismatch and bar the servers from honest labour.

    Closes #1124, reported by Nelgin (with much vexation upon
    his lute).

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

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