X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/c3d4d096451b5c683492e81574b302e5486950e1..085c36723242f7bd1e0fd9bf49b950da6cb96039:/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp index ae0b9e6d..87d63344 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp @@ -26,33 +26,32 @@ * */ -#include -#include - -using namespace std; - #include "firebird_store.h" -#include "stg/ibpp.h" + +#include "stg/admin_conf.h" #include "stg/blowfish.h" +#include "stg/common.h" + +#include +#include #define adm_enc_passwd "cjeifY8m3" //----------------------------------------------------------------------------- -int FIREBIRD_STORE::GetAdminsList(vector * adminsList) const +int FIREBIRD_STORE::GetAdminsList(std::vector * adminsList) const { STG_LOCKER lock(&mutex); IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amRead, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); -string login; - try { tr->Start(); st->Execute("select login from tb_admins"); while (st->Fetch()) { + std::string login; st->Get(1, login); adminsList->push_back(login); } @@ -70,7 +69,7 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::SaveAdmin(const ADMIN_CONF & ac) const +int FIREBIRD_STORE::SaveAdmin(const STG::AdminConf & ac) const { STG_LOCKER lock(&mutex); @@ -84,10 +83,10 @@ BLOWFISH_CTX ctx; memset(cryptedPass, 0, ADM_PASSWD_LEN + 1); strncpy(adminPass, ac.password.c_str(), ADM_PASSWD_LEN); -EnDecodeInit(adm_enc_passwd, sizeof(adm_enc_passwd), &ctx); +InitContext(adm_enc_passwd, sizeof(adm_enc_passwd), &ctx); for (int i = 0; i < ADM_PASSWD_LEN / 8; i++) - EncodeString(cryptedPass + 8 * i, adminPass + 8 * i, &ctx); + EncryptBlock(cryptedPass + 8 * i, adminPass + 8 * i, &ctx); cryptedPass[ADM_PASSWD_LEN] = 0; Encode12(encodedPass, cryptedPass, ADM_PASSWD_LEN); @@ -128,7 +127,7 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::RestoreAdmin(ADMIN_CONF * ac, const string & login) const +int FIREBIRD_STORE::RestoreAdmin(STG::AdminConf * ac, const std::string & login) const { STG_LOCKER lock(&mutex); @@ -149,13 +148,13 @@ try { st->Get(2, ac->login); st->Get(3, ac->password); - st->Get(4, (int16_t &)ac->priv.userConf); - st->Get(5, (int16_t &)ac->priv.userPasswd); - st->Get(6, (int16_t &)ac->priv.userStat); - st->Get(7, (int16_t &)ac->priv.userCash); - st->Get(8, (int16_t &)ac->priv.userAddDel); - st->Get(9, (int16_t &)ac->priv.tariffChg); - st->Get(10, (int16_t &)ac->priv.adminChg); + st->Get(4, reinterpret_cast(ac->priv.userConf)); + st->Get(5, reinterpret_cast(ac->priv.userPasswd)); + st->Get(6, reinterpret_cast(ac->priv.userStat)); + st->Get(7, reinterpret_cast(ac->priv.userCash)); + st->Get(8, reinterpret_cast(ac->priv.userAddDel)); + st->Get(9, reinterpret_cast(ac->priv.tariffChg)); + st->Get(10, reinterpret_cast(ac->priv.adminChg)); } else { @@ -181,17 +180,17 @@ if (ac->password == "") } Decode21(cryptedPass, ac->password.c_str()); -EnDecodeInit(adm_enc_passwd, sizeof(adm_enc_passwd), &ctx); +InitContext(adm_enc_passwd, sizeof(adm_enc_passwd), &ctx); for (int i = 0; i < ADM_PASSWD_LEN / 8; i++) { - DecodeString(adminPass + 8 * i, cryptedPass + 8 * i, &ctx); + DecryptBlock(adminPass + 8 * i, cryptedPass + 8 * i, &ctx); } ac->password = adminPass; return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::AddAdmin(const string & login) const +int FIREBIRD_STORE::AddAdmin(const std::string & login) const { STG_LOCKER lock(&mutex); @@ -229,7 +228,7 @@ catch (IBPP::Exception & ex) return 0; } //----------------------------------------------------------------------------- -int FIREBIRD_STORE::DelAdmin(const string & login) const +int FIREBIRD_STORE::DelAdmin(const std::string & login) const { STG_LOCKER lock(&mutex);