![]() |
Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
|
#include "serversocketinterface.h"#include "deck_tag_serialization.h"#include "email_parser.h"#include "forwarded_address.h"#include "libcockatrice/protocol/pb/admin_commands.pb.h"#include "libcockatrice/protocol/pb/developer_commands.pb.h"#include "libcockatrice/protocol/pb/moderator_commands.pb.h"#include "libcockatrice/protocol/pb/serverinfo_deck_share_item.pb.h"#include "libcockatrice/protocol/pb/serverinfo_deck_share_summary.pb.h"#include "libcockatrice/protocol/pb/serverinfo_replay_match.pb.h"#include "libcockatrice/protocol/pb/serverinfo_report.pb.h"#include "libcockatrice/protocol/pb/serverinfo_warning.pb.h"#include "libcockatrice/protocol/pb/session_commands.pb.h"#include "libcockatrice/protocol/pb/session_event.pb.h"#include "libcockatrice/utility/card_ref.h"#include "main.h"#include "metrics_registry.h"#include "servatrice.h"#include "servatrice_database_interface.h"#include "server.h"#include "server_database_interface.h"#include "server_logger.h"#include "server_protocolhandler.h"#include "settingscache.h"#include "trusted_sources.h"#include "version_string.h"#include <QChar>#include <QCryptographicHash>#include <QDateTime>#include <QDebug>#include <QElapsedTimer>#include <QHostAddress>#include <QJsonDocument>#include <QJsonObject>#include <QJsonValueRef>#include <QListIterator>#include <QLoggingCategory>#include <QMap>#include <QMessageLogger>#include <QMetaObject>#include <QMetaType>#include <QMutexLocker>#include <QNetworkRequest>#include <QRandomGenerator>#include <QReadLocker>#include <QReadWriteLock>#include <QSharedPointer>#include <QSqlError>#include <QSqlQuery>#include <QString>#include <QStringLiteral>#include <QTextStream>#include <QVariant>#include <QtGlobal>#include <algorithm>#include <exception>#include <google/protobuf/descriptor.h>#include <google/protobuf/repeated_ptr_field.h>#include <google/protobuf/stubs/common.h>#include <google/protobuf/stubs/port.h>#include <initializer_list>#include <iostream>#include <libcockatrice/deck_list/deck_list.h>#include <libcockatrice/protocol/get_pb_extension.h>#include <libcockatrice/protocol/pb/command_deck_del.pb.h>#include <libcockatrice/protocol/pb/command_deck_del_dir.pb.h>#include <libcockatrice/protocol/pb/command_deck_download.pb.h>#include <libcockatrice/protocol/pb/command_deck_download_public.pb.h>#include <libcockatrice/protocol/pb/command_deck_list.pb.h>#include <libcockatrice/protocol/pb/command_deck_list_other_user.pb.h>#include <libcockatrice/protocol/pb/command_deck_new_dir.pb.h>#include <libcockatrice/protocol/pb/command_deck_set_visibility.pb.h>#include <libcockatrice/protocol/pb/command_deck_share_create.pb.h>#include <libcockatrice/protocol/pb/command_deck_share_download.pb.h>#include <libcockatrice/protocol/pb/command_deck_share_list.pb.h>#include <libcockatrice/protocol/pb/command_deck_share_list_mine.pb.h>#include <libcockatrice/protocol/pb/command_deck_share_remove.pb.h>#include <libcockatrice/protocol/pb/command_deck_upload.pb.h>#include <libcockatrice/protocol/pb/command_get_server_stats.pb.h>#include <libcockatrice/protocol/pb/command_replay_delete_match.pb.h>#include <libcockatrice/protocol/pb/command_replay_download.pb.h>#include <libcockatrice/protocol/pb/command_replay_download_by_game_id.pb.h>#include <libcockatrice/protocol/pb/command_replay_get_code.pb.h>#include <libcockatrice/protocol/pb/command_replay_list.pb.h>#include <libcockatrice/protocol/pb/command_replay_modify_match.pb.h>#include <libcockatrice/protocol/pb/command_replay_submit_code.pb.h>#include <libcockatrice/protocol/pb/command_report.pb.h>#include <libcockatrice/protocol/pb/command_report_add_comment.pb.h>#include <libcockatrice/protocol/pb/command_report_assign.pb.h>#include <libcockatrice/protocol/pb/command_report_details.pb.h>#include <libcockatrice/protocol/pb/command_report_list.pb.h>#include <libcockatrice/protocol/pb/command_report_my_list.pb.h>#include <libcockatrice/protocol/pb/command_report_reopen.pb.h>#include <libcockatrice/protocol/pb/command_report_resolve.pb.h>#include <libcockatrice/protocol/pb/command_report_stats.pb.h>#include <libcockatrice/protocol/pb/command_report_user_info.pb.h>#include <libcockatrice/protocol/pb/commands.pb.h>#include <libcockatrice/protocol/pb/event_add_to_list.pb.h>#include <libcockatrice/protocol/pb/event_connection_closed.pb.h>#include <libcockatrice/protocol/pb/event_notify_user.pb.h>#include <libcockatrice/protocol/pb/event_remove_from_list.pb.h>#include <libcockatrice/protocol/pb/event_replay_added.pb.h>#include <libcockatrice/protocol/pb/event_server_identification.pb.h>#include <libcockatrice/protocol/pb/event_user_message.pb.h>#include <libcockatrice/protocol/pb/response_ban_history.pb.h>#include <libcockatrice/protocol/pb/response_card_art_rule_entry.pb.h>#include <libcockatrice/protocol/pb/response_deck_download.pb.h>#include <libcockatrice/protocol/pb/response_deck_list.pb.h>#include <libcockatrice/protocol/pb/response_deck_share_create.pb.h>#include <libcockatrice/protocol/pb/response_deck_share_download.pb.h>#include <libcockatrice/protocol/pb/response_deck_share_list.pb.h>#include <libcockatrice/protocol/pb/response_deck_share_list_mine.pb.h>#include <libcockatrice/protocol/pb/response_deck_upload.pb.h>#include <libcockatrice/protocol/pb/response_forgotpasswordrequest.pb.h>#include <libcockatrice/protocol/pb/response_get_admin_notes.pb.h>#include <libcockatrice/protocol/pb/response_get_server_stats.pb.h>#include <libcockatrice/protocol/pb/response_moderator_last_logins.pb.h>#include <libcockatrice/protocol/pb/response_password_salt.pb.h>#include <libcockatrice/protocol/pb/response_register.pb.h>#include <libcockatrice/protocol/pb/response_remove_user_avatar.pb.h>#include <libcockatrice/protocol/pb/response_replay_download.pb.h>#include <libcockatrice/protocol/pb/response_replay_download_by_game_id.pb.h>#include <libcockatrice/protocol/pb/response_replay_get_code.pb.h>#include <libcockatrice/protocol/pb/response_replay_list.pb.h>#include <libcockatrice/protocol/pb/response_report_details.pb.h>#include <libcockatrice/protocol/pb/response_report_list.pb.h>#include <libcockatrice/protocol/pb/response_report_my_list.pb.h>#include <libcockatrice/protocol/pb/response_report_stats.pb.h>#include <libcockatrice/protocol/pb/response_report_user_info.pb.h>#include <libcockatrice/protocol/pb/response_reset_user_password.pb.h>#include <libcockatrice/protocol/pb/response_user_alts.pb.h>#include <libcockatrice/protocol/pb/response_user_sessions.pb.h>#include <libcockatrice/protocol/pb/response_viewlog_history.pb.h>#include <libcockatrice/protocol/pb/response_warn_history.pb.h>#include <libcockatrice/protocol/pb/response_warn_list.pb.h>#include <libcockatrice/protocol/pb/serverinfo_ban.pb.h>#include <libcockatrice/protocol/pb/serverinfo_chat_message.pb.h>#include <libcockatrice/protocol/pb/serverinfo_deckstorage.pb.h>#include <libcockatrice/protocol/pb/serverinfo_moderator_login.pb.h>#include <libcockatrice/protocol/pb/serverinfo_replay.pb.h>#include <libcockatrice/protocol/pb/serverinfo_user.pb.h>#include <libcockatrice/protocol/pb/serverinfo_user_alt.pb.h>#include <libcockatrice/protocol/pb/serverinfo_user_session.pb.h>#include <libcockatrice/utility/cryptoutil.h>#include <libcockatrice/utility/passwordhasher.h>#include <libcockatrice/utility/report_categories.h>#include <libcockatrice/utility/string_limits.h>#include <libcockatrice/utility/warning_categories.h>#include <memory>#include <qlogging.h>#include <qnamespace.h>#include <server_response_containers.h>#include <server_room.h>#include <stddef.h>#include <string>#include <utility>Functions | |
| Q_LOGGING_CATEGORY (AbstractServerSocketInterfaceLog, "abstract_server_socket_interface") | |
| Q_LOGGING_CATEGORY (TcpServerSocketInterfaceLog, "tcp_server_socket_interface") | |
| Q_LOGGING_CATEGORY (WebsocketServerSocketInterfaceLog, "websocket_server_socket_interface") | |
Variables | |
| static const int | protocolVersion = 14 |
| static const int | MAX_TCP_MESSAGE_SIZE = 1500000 |
|
inline |
|
inline |
|
inline |
|
static |
|
static |