mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-08 02:53:25 -08:00
* [Server] Recursive alt search with match evidence getUserAlts() now walks a breadth-first graph to the requested depth (clamped 1-3): each level expands frontier accounts over registration email, current client id, recent session IPs (6-month window), and historic session client ids, so identifier changes no longer hide older alts. Every row carries match_reason (email / clientid:<id> / ip:<addr>), depth, and shared_count fan-out so moderators can distinguish real alts from VPN/shared-network overlap. Command_GetUserAlts depth is plumbed through; unset depth defaults to 1, preserving previous single-hop behavior for old clients. * [Server] Fix alt search review findings - Seed the BFS with the stored user name so the searched account is not re-listed as its own alt at depth 1. - Normalise emails to lower case for the membership and fan-out checks; SQL compares them case-insensitively. - Widen the per-level row limit by the visited count so level 2+ cannot return only already-known accounts. - Prepare dynamic IN-list queries locally instead of through the shared prepared-statement cache, whose keys are query texts. - Count historic client-id fan-out from _sessions, not from the current _users ids. - Order capped identifiers by relevance (current email/client id first, then most recent session IPs) instead of alphabetically. * Apply suggestion from @ZeldaZach Co-authored-by: Zach H <zahalpern+github@gmail.com> * Apply suggestion from @ZeldaZach Co-authored-by: Zach H <zahalpern+github@gmail.com> --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de> Co-authored-by: Zach H <zahalpern+github@gmail.com> |
||
|---|---|---|
| .. | ||
| smtp | ||
| deck_tag_serialization.h | ||
| email_parser.cpp | ||
| email_parser.h | ||
| event_loop_watchdog.cpp | ||
| event_loop_watchdog.h | ||
| forwarded_address.cpp | ||
| forwarded_address.h | ||
| isl_interface.cpp | ||
| isl_interface.h | ||
| main.cpp | ||
| main.h | ||
| metrics_registry.cpp | ||
| metrics_registry.h | ||
| ratelimiter.cpp | ||
| ratelimiter.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 | ||
| trusted_sources.cpp | ||
| trusted_sources.h | ||