// std::string crlfile;
std::string dhfile;
+ int clientactive;
+
public:
InspIRCd* PublicInstance;
}
listenports.clear();
+ clientactive = 0;
for (int i = 0; i < Conf->Enumerate("bind"); i++)
{
long portno = -1;
while ((portno = portrange.GetToken()))
{
- if (ServerInstance->Config->AddIOHook(portno, this))
+ clientactive++;
+ try
{
- listenports.push_back(portno);
- for (unsigned int i = 0; i < ServerInstance->stats->BoundPortCount; i++)
- if (ServerInstance->Config->ports[i] == portno)
- ServerInstance->Config->openSockfd[i]->SetDescription("ssl");
- ServerInstance->Log(DEFAULT, "m_ssl_openssl.so: Enabling SSL for port %d", portno);
+ if (ServerInstance->Config->AddIOHook(portno, this))
+ {
+ listenports.push_back(portno);
+ for (unsigned int i = 0; i < ServerInstance->stats->BoundPortCount; i++)
+ if (ServerInstance->Config->ports[i] == portno)
+ ServerInstance->Config->openSockfd[i]->SetDescription("ssl");
+ ServerInstance->Log(DEFAULT, "m_ssl_openssl.so: Enabling SSL for port %d", portno);
+ }
+ else
+ {
+ ServerInstance->Log(DEFAULT, "m_ssl_openssl.so: FAILED to enable SSL on port %d, maybe you have another ssl or similar module loaded?", portno);
+ }
}
- else
+ catch (ModuleException &e)
{
- ServerInstance->Log(DEFAULT, "m_ssl_openssl.so: FAILED to enable SSL on port %d, maybe you have another ssl or similar module loaded?", portno);
+ ServerInstance->Log(DEFAULT, "m_ssl_openssl.so: FAILED to enable SSL on port %d: %s. Maybe it's already hooked by the same port on a different IP, or you have another SSL or similar module loaded?", portno, e.GetReason());
}
}
}
// :kenny.chatspike.net 320 Om Epy|AFK :is a Secure Connection
virtual void OnWhois(userrec* source, userrec* dest)
{
+ if (!clientactive)
+ return;
+
// Bugfix, only send this numeric for *our* SSL users
if (dest->GetExt("ssl", dummy) || (IS_LOCAL(dest) && isin(dest->GetPort(), listenports)))
{