X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8c6fa3fbaccc22127280bf77a48fab5a3ee0716e..46b0747592074017ff0ea4b33d4a7194235886e5:/projects/sgauthstress/user.cpp diff --git a/projects/sgauthstress/user.cpp b/projects/sgauthstress/user.cpp deleted file mode 100644 index 944907fe..00000000 --- a/projects/sgauthstress/user.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include -#include -#include -#include // close - -#include -#include -#include - -#include "user.h" -#include "stg/ia_packets.h" -#include "stg/common.h" - -USER::USER(const std::string & l, - const std::string & pwd, - uint32_t i) - : login(l), - password(pwd), - ip(i), - aliveTimeout(5), - userTimeout(60), - phase(1), - phaseChangeTime(0), - rnd(0), - sock(-1) -{ -unsigned char key[IA_PASSWD_LEN]; -memset(key, 0, IA_PASSWD_LEN); -strncpy((char *)key, password.c_str(), IA_PASSWD_LEN); -Blowfish_Init(&ctx, key, IA_PASSWD_LEN); -} - -USER::USER(const USER & rvalue) - : login(rvalue.login), - password(rvalue.password), - ip(rvalue.ip), - aliveTimeout(rvalue.aliveTimeout), - userTimeout(rvalue.userTimeout), - phase(1), - phaseChangeTime(0), - rnd(0), - sock(-1) -{ -unsigned char key[IA_PASSWD_LEN]; -memset(key, 0, IA_PASSWD_LEN); -strncpy((char *)key, password.c_str(), IA_PASSWD_LEN); -Blowfish_Init(&ctx, key, IA_PASSWD_LEN); -} - -USER::~USER() -{ -if (sock > 0) - close(sock); -} - -USER & USER::operator=(const USER & rvalue) -{ -login = rvalue.login; -password = rvalue.password; -ip = rvalue.ip; -aliveTimeout = rvalue.aliveTimeout; -userTimeout = rvalue.userTimeout; -phase = 1; -phaseChangeTime = 0; -rnd = 0; -sock = -1; - -unsigned char key[IA_PASSWD_LEN]; -memset(key, 0, IA_PASSWD_LEN); -strncpy((char *)key, password.c_str(), IA_PASSWD_LEN); -Blowfish_Init(&ctx, key, IA_PASSWD_LEN); - -return *this; -} - -bool USER::InitNetwork() -{ -sock = socket(AF_INET, SOCK_DGRAM, 0); - -if (sock < 0) - { - throw std::runtime_error(std::string("USER::USER() - socket creation error: '") + strerror(errno) + "', ip: " + inet_ntostring(ip) + ", login: " + login); - } - -struct sockaddr_in addr; - -addr.sin_family = AF_INET; -addr.sin_addr.s_addr = ip; -addr.sin_port = htons(5554); // :( - -int res = bind(sock, (struct sockaddr *)&addr, sizeof(addr)); -if (res == -1) - { - throw std::runtime_error(std::string("USER::USER() - bind error: '") + strerror(errno) + "', ip: " + inet_ntostring(ip) + ", login: " + login); - } - -return true; -}