BBS:      TELESC.NET.BR
Assunto:  src/sbbs3/ftpsrvr.cpp login.cpp mailsrvr.cpp main.cpp mqtt.c mqtt.h se
De:       Rob Swindell (on Windows 11)
Data:     Sat, 2 May 2026 21:57:40 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/809479e95df12b20674658d5
Modified Files:
	src/sbbs3/ftpsrvr.cpp login.cpp mailsrvr.cpp main.cpp mqtt.c mqtt.h services.cpp websrvr.cpp
Log Message:
sbbs3 servers: publish per-IP login_attempts and max_concurrent on MQTT

Each TCP server publishes a retained per-IP entry on every loginFailure
to sbbs//host//login_attempts/, clears it on
loginSuccess, and deletes the retained payload on semfile / clear-topic
sysop clears. The terminal server also publishes max-concurrent strike
counts to /term/max_concurrent/ and clears them on
filter-trip / login-success.

Payload follows the in-tree MQTT convention: tab-delimited fields with
ISO-8601 timestamps, no JSON. The plaintext password from login_attempt_t
is intentionally omitted since MQTT can be off-host.

The five servers' full-clear branches are deduplicated through a new
mqtt_clear_login_attempt_list() helper in mqtt.c that gates per-entry
publishes on mqtt->connected and falls through to plain
loginAttemptListClear() when MQTT isn't publishing, so systems running
with MQTT disabled pay no measurable overhead.

Addresses gitlab issue #1124 and Nelgin's "room for improvement" remark
on the same.

Co-Authored-By: Claude Opus 4.7 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]