X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/53c1823aaef2eb8d547a8eed8cfe12fe7204ca79..0907aa4037b12b6b88ee24495d4577a064d4f8db:/projects/sgauth/web.cpp?ds=sidebyside diff --git a/projects/sgauth/web.cpp b/projects/sgauth/web.cpp index ab169cc4..a162acc4 100644 --- a/projects/sgauth/web.cpp +++ b/projects/sgauth/web.cpp @@ -23,11 +23,13 @@ $Date: 2010/03/15 12:58:17 $ */ -#include -#include -#include #include +#include +#include +#include +#include + #include "stg/common.h" #include "stg/ia.h" #include "web.h" @@ -42,10 +44,15 @@ extern IA_CLIENT_PROT * clnp; //--------------------------------------------------------------------------- #ifndef WIN32 void * RunWeb(void *) +{ +sigset_t signalSet; +sigfillset(&signalSet); +pthread_sigmask(SIG_BLOCK, &signalSet, NULL); + #else unsigned long WINAPI RunWeb(void *) -#endif { +#endif while (1) web->Run(); return NULL; @@ -287,7 +294,7 @@ for (j = 0; j < DIR_NUM; j++) { if (dirName[j][0] == 0) continue; - string s; + std::string s; KOIToWin(dirName[j], &s);// +++++++++ sigsegv ========== TODO too long dir name crashes sgauth sprintf(str, " %s\n", rowNum++, s.c_str()); send(outerSocket, str, strlen(str), 0); @@ -351,7 +358,6 @@ res = send(outerSocket, str, strlen(str), 0); sprintf(str," %s\n", gettext("Session Download")); res = send(outerSocket, str, strlen(str), 0); -rowNum = 0; for (j = 0; j < DIR_NUM; j++) { if (dirName[j][0] == 0) @@ -381,7 +387,7 @@ if (!messages.empty()) sprintf(str," \n"); send(outerSocket, str, strlen(str), 0); - list::reverse_iterator it; + std::list::reverse_iterator it; it = messages.rbegin(); while (it != messages.rend()) { @@ -420,18 +426,18 @@ const char * replyHeader = const char * replyFooter= "\n\n"; send(outerSocket, replyHeader, strlen(replyHeader), 0); -send(outerSocket, css, strlen(css), 0); +send(outerSocket, SGAuth::css, strlen(SGAuth::css), 0); send(outerSocket, replyFooter, strlen(replyFooter), 0); return 0; } //--------------------------------------------------------------------------- -void WEB::SetDirName(const string & dn, int n) +void WEB::SetDirName(const std::string & dn, int n) { web->dirName[n] = dn; } //--------------------------------------------------------------------------- -void WEB::AddMessage(const string & message, int type) +void WEB::AddMessage(const std::string & message, int type) { time_t t = time(NULL); STG_MESSAGE m;