Core: Removed more operator workarounds for ACE_Singleton (missed previously because of inconsistent naming)
--HG-- branch : trunk
This commit is contained in:
@@ -38,18 +38,18 @@ void TCSoapRunnable::run()
|
||||
soap.send_timeout = 5;
|
||||
if (soap_bind(&soap, m_host.c_str(), m_port, 100) < 0)
|
||||
{
|
||||
sLog.outError("TCSoap: couldn't bind to %s:%d", m_host.c_str(), m_port);
|
||||
sLog->outError("TCSoap: couldn't bind to %s:%d", m_host.c_str(), m_port);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
sLog.outString("TCSoap: bound to http://%s:%d", m_host.c_str(), m_port);
|
||||
sLog->outString("TCSoap: bound to http://%s:%d", m_host.c_str(), m_port);
|
||||
|
||||
while(!World::IsStopped())
|
||||
{
|
||||
if (soap_accept(&soap) < 0)
|
||||
continue; // ran into an accept timeout
|
||||
|
||||
sLog.outDebug("TCSoap: accepted connection from IP=%d.%d.%d.%d", (int)(soap.ip>>24)&0xFF, (int)(soap.ip>>16)&0xFF, (int)(soap.ip>>8)&0xFF, (int)soap.ip&0xFF);
|
||||
sLog->outDebug("TCSoap: accepted connection from IP=%d.%d.%d.%d", (int)(soap.ip>>24)&0xFF, (int)(soap.ip>>16)&0xFF, (int)(soap.ip>>8)&0xFF, (int)soap.ip&0xFF);
|
||||
struct soap* thread_soap = soap_copy(&soap);// make a safe copy
|
||||
|
||||
ACE_Message_Block *mb = new ACE_Message_Block(sizeof(struct soap*));
|
||||
@@ -87,40 +87,40 @@ int ns1__executeCommand(soap* soap, char* command, char** result)
|
||||
// security check
|
||||
if (!soap->userid || !soap->passwd)
|
||||
{
|
||||
sLog.outDebug("TCSoap: Client didn't provide login information");
|
||||
sLog->outDebug("TCSoap: Client didn't provide login information");
|
||||
return 401;
|
||||
}
|
||||
|
||||
uint32 accountId = sAccountMgr->GetId(soap->userid);
|
||||
if(!accountId)
|
||||
{
|
||||
sLog.outDebug("TCSoap: Client used invalid username '%s'", soap->userid);
|
||||
sLog->outDebug("TCSoap: Client used invalid username '%s'", soap->userid);
|
||||
return 401;
|
||||
}
|
||||
|
||||
if(!sAccountMgr->CheckPassword(accountId, soap->passwd))
|
||||
{
|
||||
sLog.outDebug("TCSoap: invalid password for account '%s'", soap->userid);
|
||||
sLog->outDebug("TCSoap: invalid password for account '%s'", soap->userid);
|
||||
return 401;
|
||||
}
|
||||
|
||||
if(sAccountMgr->GetSecurity(accountId) < SEC_ADMINISTRATOR)
|
||||
{
|
||||
sLog.outDebug("TCSoap: %s's gmlevel is too low", soap->userid);
|
||||
sLog->outDebug("TCSoap: %s's gmlevel is too low", soap->userid);
|
||||
return 403;
|
||||
}
|
||||
|
||||
if(!command || !*command)
|
||||
return soap_sender_fault(soap, "Command mustn't be empty", "The supplied command was an empty string");
|
||||
|
||||
sLog.outDebug("TCSoap: got command '%s'", command);
|
||||
sLog->outDebug("TCSoap: got command '%s'", command);
|
||||
SOAPCommand connection;
|
||||
|
||||
// commands are executed in the world thread. We have to wait for them to be completed
|
||||
{
|
||||
// CliCommandHolder will be deleted from world, accessing after queueing is NOT save
|
||||
CliCommandHolder* cmd = new CliCommandHolder(&connection, command, &SOAPCommand::print, &SOAPCommand::commandFinished);
|
||||
sWorld.QueueCliCommand(cmd);
|
||||
sWorld->QueueCliCommand(cmd);
|
||||
}
|
||||
|
||||
// wait for callback to complete command
|
||||
@@ -128,7 +128,7 @@ int ns1__executeCommand(soap* soap, char* command, char** result)
|
||||
int acc = connection.pendingCommands.acquire();
|
||||
if(acc)
|
||||
{
|
||||
sLog.outError("TCSoap: Error while acquiring lock, acc = %i, errno = %u", acc, errno);
|
||||
sLog->outError("TCSoap: Error while acquiring lock, acc = %i, errno = %u", acc, errno);
|
||||
}
|
||||
|
||||
// alright, command finished
|
||||
|
||||
Reference in New Issue
Block a user