]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Properly check if the SSL handshake is completed in m_ssl_gnutls, fixes the recent...
authordz <dz@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 25 Jan 2009 03:59:36 +0000 (03:59 +0000)
committerdz <dz@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 25 Jan 2009 03:59:36 +0000 (03:59 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11000 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/extra/m_ssl_gnutls.cpp
src/modules/extra/m_ssl_openssl.cpp

index 9a1f88ccec096fcda78c49e4841c257445764baa..151d10fd401543d1411fd56bc548f74391c422b7 100644 (file)
@@ -599,7 +599,7 @@ class ModuleSSLGnuTLS : public Module
                sendbuffer = session->outbuf.c_str();
                count = session->outbuf.size();
 
-               if (session->status == ISSL_HANDSHAKING_WRITE)
+               if (session->status == ISSL_HANDSHAKING_WRITE || session->status == ISSL_HANDSHAKING_READ)
                {
                        // The handshake isn't finished, try to finish it.
                        Handshake(session);
@@ -772,7 +772,7 @@ class ModuleSSLGnuTLS : public Module
 
        virtual void OnBufferFlushed(User* user)
        {
-               if (user->GetIOHook() == this && user->GetExt("ssl"))
+               if (user->GetIOHook() == this)
                {
                        issl_session* session = &sessions[user->GetFd()];
                        if (session && session->outbuf.size())
index 8243b4f0a8ef854359f9c8078323cf5704426dcc..4beefae10194b84c3ce3b830838db48a9b84b4ee 100644 (file)
@@ -798,7 +798,7 @@ class ModuleSSLOpenSSL : public Module
 
        virtual void OnBufferFlushed(User* user)
        {
-               if (user->GetIOHook() == this && user->GetExt("ssl"))
+               if (user->GetIOHook() == this)
                {
                        issl_session* session = &sessions[user->GetFd()];
                        if (session && session->outbuf.size())