]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_ssl_gnutls.cpp
m_ssl_gnutls, m_ssl_openssl After a read schedule another read if data remains in...
[user/henk/code/inspircd.git] / src / modules / extra / m_ssl_gnutls.cpp
index 813a8ecfaa98990698339c32ac17ff15dd660ffa..2f4acf3f05edbb14454642940bf70fa37ae2759a 100644 (file)
@@ -703,6 +703,9 @@ class ModuleSSLGnuTLS : public Module
                        if (ret > 0)
                        {
                                recvq.append(buffer, ret);
+                               // Schedule a read if there is still data in the GnuTLS buffer
+                               if (gnutls_record_check_pending(session->sess) > 0)
+                                       ServerInstance->SE->ChangeEventMask(user, FD_ADD_TRIAL_READ);
                                return 1;
                        }
                        else if (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED)