From 8615c87c7f1face2c894307c3574e9b325541803 Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Thu, 9 Dec 2010 15:47:39 +0200 Subject: [PATCH] =?utf8?q?=D0=92=20=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE?= =?utf8?q?=D1=82=D0=B5=D0=BA=D0=B5=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80?= =?utf8?q?=D0=B6=D0=BA=D0=B8=20=D0=BF=D1=80=D0=BE=D1=82=D0=BE=D0=BA=D0=BE?= =?utf8?q?=D0=BB=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=81=D0=BE=D0=BB=D1=8C=D0=BD?= =?utf8?q?=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?utf8?q?=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=B0=20=D0=B5=D1=89=D0=B5=20?= =?utf8?q?=D0=BF=D0=B0=D1=80=D1=83=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=20C-st?= =?utf8?q?yle=20=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D1=8B=20=D0=BD?= =?utf8?q?=D0=B0=20C++-style?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- stglibs/srvconf.lib/netunit.cpp | 21 +++++++++------------ stglibs/srvconf.lib/netunit.h | 4 ++-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/stglibs/srvconf.lib/netunit.cpp b/stglibs/srvconf.lib/netunit.cpp index 8d559193..bcfc113e 100644 --- a/stglibs/srvconf.lib/netunit.cpp +++ b/stglibs/srvconf.lib/netunit.cpp @@ -57,8 +57,6 @@ NETTRANSACT::NETTRANSACT() RxCallBack(NULL), dataRxCallBack(NULL) { - memset(login, 0, ADM_LOGIN_LEN); - memset(password, 0, ADM_PASSWD_LEN); } //----------------------------------------------------------------------------- void NETTRANSACT::EnDecryptInit(const char * passwd, int, BLOWFISH_CTX *ctx) @@ -243,7 +241,7 @@ char loginZ[ADM_LOGIN_LEN]; int ret; memset(loginZ, 0, ADM_LOGIN_LEN); -strncpy(loginZ, login, ADM_LOGIN_LEN); +strncpy(loginZ, login.c_str(), ADM_LOGIN_LEN); ret = send(outerSocket, loginZ, ADM_LOGIN_LEN, 0); if (ret <= 0) @@ -293,10 +291,10 @@ char ct[ENC_MSG_LEN]; int ret; memset(loginZ, 0, ADM_LOGIN_LEN); -strncpy(loginZ, login, ADM_LOGIN_LEN); +strncpy(loginZ, login.c_str(), ADM_LOGIN_LEN); BLOWFISH_CTX ctx; -EnDecryptInit(password, PASSWD_LEN, &ctx); +EnDecryptInit(password.c_str(), PASSWD_LEN, &ctx); for (int j = 0; j < ADM_LOGIN_LEN / ENC_MSG_LEN; j++) { @@ -354,7 +352,7 @@ int n = strlen(text) / ENC_MSG_LEN; int r = strlen(text) % ENC_MSG_LEN; BLOWFISH_CTX ctx; -EnDecryptInit(password, PASSWD_LEN, &ctx); +EnDecryptInit(password.c_str(), PASSWD_LEN, &ctx); for (j = 0; j < n; j++) { @@ -372,7 +370,7 @@ memset(textZ, 0, ENC_MSG_LEN); if (r) strncpy(textZ, text + j*ENC_MSG_LEN, ENC_MSG_LEN); -EnDecryptInit(password, PASSWD_LEN, &ctx); +EnDecryptInit(password.c_str(), PASSWD_LEN, &ctx); Encrypt(ct, textZ, &ctx); ret = send(outerSocket, ct, ENC_MSG_LEN, 0); @@ -392,7 +390,7 @@ char buffS[ENC_MSG_LEN]; char passwd[ADM_PASSWD_LEN]; memset(passwd, 0, ADM_PASSWD_LEN); -strncpy(passwd, password, ADM_PASSWD_LEN); +strncpy(passwd, password.c_str(), ADM_PASSWD_LEN); memset(buff, 0, ENC_MSG_LEN); int l = strlen(data)/ENC_MSG_LEN; @@ -420,7 +418,7 @@ char bufferS[ENC_MSG_LEN]; char buffer[ENC_MSG_LEN + 1]; BLOWFISH_CTX ctx; -EnDecryptInit(password, PASSWD_LEN, &ctx); +EnDecryptInit(password.c_str(), PASSWD_LEN, &ctx); while (1) { @@ -434,7 +432,6 @@ while (1) if (n == ENC_MSG_LEN) { - n = 0; Decrypt(buffer, bufferS, &ctx); buffer[ENC_MSG_LEN] = 0; @@ -459,12 +456,12 @@ while (1) //--------------------------------------------------------------------------- void NETTRANSACT::SetLogin(const char * l) { -strncpy(login, l, ADM_LOGIN_LEN); +login = l; } //--------------------------------------------------------------------------- void NETTRANSACT::SetPassword(const char * p) { -strncpy(password, p, ADM_PASSWD_LEN); +password = p; } //--------------------------------------------------------------------------- void NETTRANSACT::SetServer(const char * serverName) diff --git a/stglibs/srvconf.lib/netunit.h b/stglibs/srvconf.lib/netunit.h index 007dc8c5..91218b18 100644 --- a/stglibs/srvconf.lib/netunit.h +++ b/stglibs/srvconf.lib/netunit.h @@ -114,8 +114,8 @@ private: std::string server; short unsigned port; - char login[ADM_LOGIN_LEN]; - char password[ADM_PASSWD_LEN]; + std::string login; + std::string password; int outerSocket; std::list answerList; RxCallback_t RxCallBack; -- 2.44.2