char result[1024];
memset(result,0,1024);
memset(out,0,1024);
- Instance->Log(DEBUG,"Original string '%s'",ret.c_str());
/* ERROR + CAPAB is still allowed unencryped */
if ((ret.substr(0,7) != "ERROR :") && (ret.substr(0,6) != "CAPAB "))
{
int nbytes = from64tobits(out, ret.c_str(), 1024);
if ((nbytes > 0) && (nbytes < 1024))
{
- Instance->Log(DEBUG,"m_spanningtree: decrypt %d bytes",nbytes);
ctx_in->Decrypt(out, result, nbytes, 0);
for (int t = 0; t < nbytes; t++)
if (result[t] == '\7') result[t] = 0;
// pad it to the key length
int n = this->keylength - (line.length() % this->keylength);
if (n)
- {
- Instance->Log(DEBUG,"Append %d chars to line to make it %d long from %d, key length %d",n,n+line.length(),line.length(),this->keylength);
line.append(n,'\7');
- }
}
unsigned int ll = line.length();
ctx_out->Encrypt(line.c_str(), result, ll, 0);
to64frombits((unsigned char*)result64,(unsigned char*)result,ll);
line = result64;
- //int from64tobits(char *out, const char *in, int maxlen);
}
return this->Write(line + "\r\n");
}
{
std::string Type = Conf->ReadValue("bind","type",j);
std::string IP = Conf->ReadValue("bind","address",j);
- long Port = Conf->ReadInteger("bind","port",j,true);
+ int Port = Conf->ReadInteger("bind","port",j,true);
if (Type == "servers")
{
+ ServerInstance->Log(DEBUG,"m_spanningtree: Binding server port %s:%d", IP.c_str(), Port);
if (IP == "*")
{
IP = "";
TreeSocket* listener = new TreeSocket(ServerInstance, IP.c_str(),Port,true,10);
if (listener->GetState() == I_LISTENING)
{
+ ServerInstance->Log(DEFAULT,"m_spanningtree: Binding server port %s:%d successful!", IP.c_str(), Port);
Bindings.push_back(listener);
}
else
listener->Close();
DELETE(listener);
}
+ ServerInstance->Log(DEBUG,"Done with this binding");
}
}
}
class ModuleSpanningTree : public Module
{
- std::vector<TreeSocket*> Bindings;
int line;
int NumServers;
unsigned int max_local;
virtual ~ModuleSpanningTree()
{
ServerInstance->Log(DEBUG,"Performing unload of spanningtree!");
- ServerInstance->Log(DEBUG,"Freeing bindings...");
+ ServerInstance->Log(DEBUG,"Freeing %d bindings...",Bindings.size());
for (unsigned int i = 0; i < Bindings.size(); i++)
{
ServerInstance->Log(DEBUG,"Freeing binding %d of %d",i, Bindings.size());