mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-23 01:55:10 -07:00
processCommandContainer recorded every family in a container even though the base if/else-if dispatch processes at most one. An unauthenticated client could batch a session command (login) with fabricated developer, moderator, and admin entries and forge genuine-looking samples that were never executed or authorized. Mirror the base's selection, skip when the handler was already deleted, and skip entries whose extension number is -1 (which would otherwise wrap into the previous kind's id range). [Server] Drop dead process-lifetime byte/uptime counters txBytesTotal/rxBytesTotal added an atomic RMW to every socket write and read for counters nothing consumes (cmdGetServerStats fills tx_bytes, rx_bytes, and uptime_secs from the DB snapshot). Remove the two atomics and the getTxBytesTotal/getRxBytesTotal/getUptimeSeconds getters; the incTxBytes/incRxBytes slots and mutexes remain for the ISL legacy counters. [Protocol] Document kind 5 as developer in CommandStats NumKinds is 6 and the server emits kind_index = 5 for developer commands; the comment stopped at 4. |
||
|---|---|---|
| .. | ||
| smtp | ||
| email_parser.cpp | ||
| email_parser.h | ||
| event_loop_watchdog.cpp | ||
| event_loop_watchdog.h | ||
| isl_interface.cpp | ||
| isl_interface.h | ||
| main.cpp | ||
| main.h | ||
| metrics_registry.cpp | ||
| metrics_registry.h | ||
| servatrice.cpp | ||
| servatrice.h | ||
| servatrice_connection_pool.cpp | ||
| servatrice_connection_pool.h | ||
| servatrice_database_interface.cpp | ||
| servatrice_database_interface.h | ||
| server_logger.cpp | ||
| server_logger.h | ||
| serversocketinterface.cpp | ||
| serversocketinterface.h | ||
| settingscache.cpp | ||
| settingscache.h | ||
| signalhandler.cpp | ||
| signalhandler.h | ||
| smtpclient.cpp | ||
| smtpclient.h | ||