fix STARTTLS protocol violation
[claws.git] / src / common / session.c
index 7ef085d1fb0b0d5a02bad4dec1d7635d8fa77281..2ed62e17f39c1386479fbedf8b9d257e833e6b02 100644 (file)
@@ -418,6 +418,13 @@ gint session_start_tls(Session *session)
                return -1;
        }
 
+       if (0 < session->read_buf_len) {
+               g_warning("protocol violation: suffix data after STARTTLS detected.");
+               if (nb_mode)
+                       sock_set_nonblocking_mode(session->sock, session->nonblocking);
+               return -1;
+       }
+
        if (nb_mode)
                sock_set_nonblocking_mode(session->sock, session->nonblocking);