summaryrefslogtreecommitdiff
path: root/src/modules/extra/m_ssl_openssl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/extra/m_ssl_openssl.cpp')
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp
index df47762af..2e86151ce 100644
--- a/src/modules/extra/m_ssl_openssl.cpp
+++ b/src/modules/extra/m_ssl_openssl.cpp
@@ -414,6 +414,8 @@ class ModuleSSLOpenSSL : public Module
return;
}
+ ServerInstance->Log(DEBUG,"OnRawSocketAccept begin handshake");
+
Handshake(session);
}
@@ -446,6 +448,7 @@ class ModuleSSLOpenSSL : public Module
virtual void OnRawSocketClose(int fd)
{
+ ServerInstance->Log(DEBUG,"OnRawSocketClose %d", fd);
/* Are there any possibilities of an out of range fd? Hope not, but lets be paranoid */
if ((fd < 0) || (fd > MAX_DESCRIPTORS))
return;
@@ -465,6 +468,7 @@ class ModuleSSLOpenSSL : public Module
virtual int OnRawSocketRead(int fd, char* buffer, unsigned int count, int &readresult)
{
+ ServerInstance->Log(DEBUG,"OnRawSocketRead");
/* Are there any possibilities of an out of range fd? Hope not, but lets be paranoid */
if ((fd < 0) || (fd > MAX_DESCRIPTORS))
return 0;
@@ -535,13 +539,10 @@ class ModuleSSLOpenSSL : public Module
// Zero the offset, as there's nothing there..
session->inbufoffset = 0;
}
-
+ ServerInstance->Log(DEBUG,"Read result=%d",readresult);
return 1;
}
- else
- {
- return ret;
- }
+ return ret;
}
}
@@ -722,9 +723,7 @@ class ModuleSSLOpenSSL : public Module
int ret;
if (session->outbound)
- {
ret = SSL_connect(session->sess);
- }
else
ret = SSL_accept(session->sess);
@@ -734,12 +733,14 @@ class ModuleSSLOpenSSL : public Module
if (err == SSL_ERROR_WANT_READ)
{
+ ServerInstance->Log(DEBUG,"Handshake Want read");
session->rstat = ISSL_READ;
session->status = ISSL_HANDSHAKING;
return true;
}
else if (err == SSL_ERROR_WANT_WRITE)
{
+ ServerInstance->Log(DEBUG,"Handshake Want write");
session->wstat = ISSL_WRITE;
session->status = ISSL_HANDSHAKING;
MakePollWrite(session);
@@ -747,6 +748,7 @@ class ModuleSSLOpenSSL : public Module
}
else
{
+ ServerInstance->Log(DEBUG,"Handshake close session");
CloseSession(session);
}
@@ -754,6 +756,7 @@ class ModuleSSLOpenSSL : public Module
}
else if (ret > 0)
{
+ ServerInstance->Log(DEBUG,"Handshake complete");
// Handshake complete.
// This will do for setting the ssl flag...it could be done earlier if it's needed. But this seems neater.
User* u = ServerInstance->FindDescriptor(session->fd);
@@ -809,7 +812,12 @@ class ModuleSSLOpenSSL : public Module
//OnRawSocketWrite(session->fd, NULL, 0);
EventHandler* eh = ServerInstance->FindDescriptor(session->fd);
if (eh)
+ {
ServerInstance->SE->WantWrite(eh);
+ ServerInstance->Log(DEBUG,"Made want write");
+ }
+ else
+ ServerInstance->Log(DEBUG,"Couldnt find descriptor to make writeable!");
}
virtual void OnBufferFlushed(User* user)