X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f61f588783b68ff542e6735a90a8dcbe9ad8308e..8f1d13e63e83c5f590d59f6d09f2d1dae69ba526:/projects/sgconf/common_sg.cpp?ds=sidebyside diff --git a/projects/sgconf/common_sg.cpp b/projects/sgconf/common_sg.cpp index 60ad3c84..b73a79c8 100644 --- a/projects/sgconf/common_sg.cpp +++ b/projects/sgconf/common_sg.cpp @@ -122,6 +122,9 @@ printf("sgconf set -s -p -a -w -u -- printf("To get userdata<0...9> use:\n"); printf("sgconf get -s -p -a -w -u --ud0 [--ud1 ...]\n\n"); +printf("To get user's authorizers list use:\n"); +printf("sgconf get -s -p -a -w -u --authorized-by\n\n"); + printf("To send message use:\n"); printf("sgconf set -s -p -a -w -u -m \n\n"); @@ -149,6 +152,7 @@ for (int i = 0; i < (int)strlen(login); i++) if (!(( login[i] >= 'a' && login[i] <= 'z') || (login[i] >= 'A' && login[i] <= 'Z') || (login[i] >= '0' && login[i] <= '9') + || login[i] == '.' || login[i] == '_' || login[i] == '-')) { @@ -408,6 +412,13 @@ for (unsigned i = 0; i < sizeof(strReqParams) / sizeof(StringReqParams); i++) *result = true; } //----------------------------------------------------------------------------- +void RecvAuthByData(const PARSER_AUTH_BY::INFO & list, void *) +{ +for (std::vector::const_iterator it = list.begin(); it != list.end(); ++it) + cout << *it << "\n"; +cout << endl; +} +//----------------------------------------------------------------------------- int ProcessSetUser(const std::string &server, int port, const std::string &admLogin, @@ -496,3 +507,30 @@ else return 0; } //----------------------------------------------------------------------------- +int ProcessAuthBy(const std::string &server, + int port, + const std::string &admLogin, + const std::string &admPasswd, + const std::string &login, + void * data) +{ +SERVCONF sc; + +sc.SetServer(server.c_str()); +sc.SetPort(port); +sc.SetAdmLogin(admLogin.c_str()); +sc.SetAdmPassword(admPasswd.c_str()); + +sc.SetAuthByCallback(RecvAuthByData, NULL); +sc.AuthBy(login.c_str()); + +if (sc.GetError()) + { + printf("Error\n"); + return -1; + } + +printf("Ok\n"); +return 0; +} +//-----------------------------------------------------------------------------