I mentioned this to Ulf a while back when I found it.

I tried parsing the output of s_client with some perl code I was
writing, and I found that the connection information (cipher
selection, certificate chain if you ask for it with -showcerts) gets
mixed up with the HTTP response.

I tracked it down to buffering problems -- some output is going via
the BIO interface and other output is going direct to stdout (I
think).

The result is kind of random display of the connection information
mixed in with the HTTP response.

I temporarily patched it by putting a BIO_flush(bio) at the end of the
print_stuff function in s_client.c.

I also put immediately preceding that :

BIO_printf(bio,"---end---\n");  /* use \n---end---\n as separator */ 

otherwise I couldn't easily recognise the boundary between HTTP
response and content.

Opinions on the correct thing to do?

It seems that it might be better to put connection information on
stderr where it can be unambigously separated.

The downside of that is that there are cert verification error
messages that get sent to stderr which would then get mixed with the
connection information.

Thoughts?

Adam
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to