X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/760c0ea6e896fd918bfd096a06e334e769041db2..c963a109219ed101fa42f501b16f90d7b7b4f3f2:/projects/stargazer/plugins/configuration/sgconfig/rsconf.cpp diff --git a/projects/stargazer/plugins/configuration/sgconfig/rsconf.cpp b/projects/stargazer/plugins/configuration/sgconfig/rsconf.cpp index 520aebf7..bc586d2d 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/rsconf.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/rsconf.cpp @@ -28,10 +28,16 @@ #include #include +#include // snprintf #include "configproto.h" #include "blowfish.h" +#ifndef ENODATA +// FreeBSD 4.* - suxx +#define ENODATA -1 +#endif + enum CONF_STATE { confHdr, @@ -332,7 +338,7 @@ if (admins->FindAdmin(login, &currAdmin)) state = confHdr; return ENODATA; } -currAdmin.SetAdminIP(adminIP); +currAdmin->SetIP(adminIP); adminLogin = login; state = confLoginCipher; return 0; @@ -377,13 +383,13 @@ while (total < ADM_LOGIN_LEN) total += ret; } -if (currAdmin.GetLogin() == "") +if (currAdmin->GetLogin() == "") { state = confHdr; return ENODATA; } -EnDecodeInit(currAdmin.GetPassword().c_str(), ADM_PASSWD_LEN, &ctx); +EnDecodeInit(currAdmin->GetPassword().c_str(), ADM_PASSWD_LEN, &ctx); for (int i = 0; i < ADM_LOGIN_LEN/8; i++) { @@ -397,7 +403,7 @@ if (currAdmin == admins->GetNoAdmin()) return 0; } -if (strncmp(currAdmin.GetLogin().c_str(), login, ADM_LOGIN_LEN) != 0) +if (strncmp(currAdmin->GetLogin().c_str(), login, ADM_LOGIN_LEN) != 0) { state = confHdr; return ENODATA; @@ -443,7 +449,7 @@ buffer[8] = 0; requestList.clear(); BLOWFISH_CTX ctx; -EnDecodeInit(currAdmin.GetPassword().c_str(), ADM_PASSWD_LEN, &ctx); +EnDecodeInit(currAdmin->GetPassword().c_str(), ADM_PASSWD_LEN, &ctx); while (1) { @@ -500,7 +506,7 @@ int n = 0; int k = 0; int ret = 0; -EnDecodeInit(currAdmin.GetPassword().c_str(), ADM_PASSWD_LEN, &ctx); +EnDecodeInit(currAdmin->GetPassword().c_str(), ADM_PASSWD_LEN, &ctx); while (li != answerList.end()) { @@ -540,7 +546,7 @@ void CONFIGPROTO::SendError(const char * text) { char s[255]; answerList.clear(); -sprintf(s, "", text); +snprintf(s, 255, "", text); answerList.push_back(s); } //-----------------------------------------------------------------------------