13#ifndef __GNET_MATRIXPASSWD_HPP
14#define __GNET_MATRIXPASSWD_HPP
19#include "matrixpasswdarg"
20#include "matrixpasswdres"
42#define RPC_BASECLASS ProxyRpc
43 #include "matrixpasswd"
55 SetResult(MatrixPasswdRes(ERR_INVALID_ACCOUNT));
72 ip_t.s_addr = (
unsigned long)ip;
73 const char * UserIp = inet_ntoa(ip_t);
75 sprintf(line,
"ipset add Antibrut %s 2>&1 & \n", UserIp);
78 SetResult(MatrixPasswdRes(ERR_ACCOUNTLOCKED));
95 bool Delivery(Manager::Session::ID proxy_sid,
const OctetsStream& osArg)
104 unsigned int lsize = arg.account.size();
105 if (!lsize || lsize > 32 ||
106 !db->
ValidLogin(arg.account.begin(), lsize) ||
111 char passwd[64] = {0};
112 char login[64] = {0};
113 memcpy(login, arg.account.begin(), lsize);
116 if (!userid || userid % 16)
123 res.response.replace(passwd, 16);
136 void PostProcess(Manager::Session::ID proxy_sid,
const OctetsStream& osArg,
const OctetsStream& osRes)
Основной класс для работы с MySQL базой данных
bool ValidLogin(char *login, int size)
Проверка валидности логина
bool IsActive()
Проверить активность соединения
static GMysqlClient * GetInstance()
Получить экземпляр класса (Singleton)
int AddAntibrutUser(int ip)
bool MatrixPasswd(int &uid, char *login, char *passwd, int ipaddr)
Проверка учетных данных пользователя.
RPC-прокси для обработки запросов аутентификации
bool SendAntibrut(unsigned int ip)
Блокировка IP при множественных неудачных попытках
void PostProcess(Manager::Session::ID proxy_sid, const OctetsStream &osArg, const OctetsStream &osRes)
Постобработка ответа (заглушка)
void OnTimeout()
Обработчик таймаута (заглушка)
bool Delivery(Manager::Session::ID proxy_sid, const OctetsStream &osArg)
Основной метод обработки запроса
bool SendFailLogin()
Отправка уведомления о неудачной аутентификации
Заголовочный файл, содержащий определения классов для аутентификации и управления сессиями.
MySQL клиент для работы с базой данных игрового сервера
void lib_sev_dump(void *Src, size_t len, char *name)
Внешняя функция логирования (определена в другом месте)
Основное пространство имен для сетевых компонентов системы.