X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/fde026c507b6562245d6d2495742c56d181cb3b4..993289f9a8abcaa85250856d5940b569b7f21068:/projects/stargazer/plugins/other/rscript/rscript.cpp?ds=inline diff --git a/projects/stargazer/plugins/other/rscript/rscript.cpp b/projects/stargazer/plugins/other/rscript/rscript.cpp index 3a557a30..f7479da6 100644 --- a/projects/stargazer/plugins/other/rscript/rscript.cpp +++ b/projects/stargazer/plugins/other/rscript/rscript.cpp @@ -30,12 +30,15 @@ #include #include #include +#include +#include #include #include "stg/common.h" #include "stg/locker.h" #include "stg/user_property.h" #include "stg/plugin_creator.h" +#include "stg/logger.h" #include "rscript.h" #include "ur_functor.h" #include "send_functor.h" @@ -149,13 +152,14 @@ subnetFile = pvi->value[0]; NRMapParser nrMapParser; -if (nrMapParser.ReadFile(subnetFile)) +if (!nrMapParser.ReadFile(subnetFile)) { - errorStr = nrMapParser.GetErrorStr(); - return -1; + netRouters = nrMapParser.GetMap(); + } +else + { + GetStgLogger()("mod_rscript: error opening subnets file '%s'", subnetFile.c_str()); } - -netRouters = nrMapParser.GetMap(); return 0; } @@ -179,7 +183,8 @@ REMOTE_SCRIPT::REMOTE_SCRIPT() mutex(), sock(0), onAddUserNotifier(*this), - onDelUserNotifier(*this) + onDelUserNotifier(*this), + logger(GetPluginLogger(GetStgLogger(), "rscript")) { pthread_mutex_init(&mutex, NULL); } @@ -250,6 +255,7 @@ if (!isRunning) if (pthread_create(&thread, NULL, Run, this)) { errorStr = "Cannot create thread."; + logger("Cannot create thread."); printfd(__FILE__, "Cannot create thread\n"); return -1; } @@ -288,7 +294,10 @@ users->DelNotifierUserDel(&onDelUserNotifier); users->DelNotifierUserAdd(&onAddUserNotifier); if (isRunning) + { + logger("Cannot stop thread."); return -1; + } return 0; } @@ -300,6 +309,7 @@ NRMapParser nrMapParser; if (nrMapParser.ReadFile(rsSettings.GetMapFileName())) { errorStr = nrMapParser.GetErrorStr(); + logger("Map file reading error: %s", errorStr.c_str()); return -1; } @@ -325,6 +335,7 @@ sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0) { errorStr = "Cannot create socket."; + logger("Canot create a socket: %s", strerror(errno)); printfd(__FILE__, "Cannot create socket\n"); return true; } @@ -462,6 +473,9 @@ sendAddr.sin_addr.s_addr = routerIP; int res = sendto(sock, buffer, sizeof(buffer), 0, (struct sockaddr *)&sendAddr, sizeof(sendAddr)); +if (res < 0) + logger("sendto error: %s", strerror(errno)); + return (res != sizeof(buffer)); } //----------------------------------------------------------------------------- @@ -470,12 +484,7 @@ bool REMOTE_SCRIPT::GetUsers() USER_PTR u; int h = users->OpenSearch(); -if (!h) - { - errorStr = "users->OpenSearch() error."; - printfd(__FILE__, "OpenSearch() error\n"); - return true; - } +assert(h && "USERS::OpenSearch is always correct"); while (!users->SearchNext(h, &u)) {