Commit 5aa2a7ea authored by Quantomicus's avatar Quantomicus
Browse files

Fix s_client hang on non-compliant NNTP server test

parent fc5ecadd
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -2535,12 +2535,16 @@ int s_client_main(int argc, char **argv)
            /* STARTTLS command requires CAPABILITIES... */
            BIO_printf(fbio, "CAPABILITIES\r\n");
            (void)BIO_flush(fbio);
            BIO_gets(fbio, mbuf, BUFSIZZ);
            /* no point in trying to parse the CAPABILITIES response if there is none */
            if (strstr(mbuf, "101") != NULL) {
                /* wait for multi-line CAPABILITIES response */
                do {
                    mbuf_len = BIO_gets(fbio, mbuf, BUFSIZZ);
                    if (strstr(mbuf, "STARTTLS"))
                        foundit = 1;
                } while (mbuf_len > 1 && mbuf[0] != '.');
            }
            (void)BIO_flush(fbio);
            BIO_pop(fbio);
            BIO_free(fbio);