In message <[email protected]> on Mon, 12 Mar 2012 07:02:10 -0400, Neil Rieck <[email protected]> said:
n.rieck> Team, n.rieck> n.rieck> * A few weeks back, I discovered a problem with the command “OpenSSL s_client” which (I think) n.rieck> has been broken in VMS since 2006. n.rieck> * While I was only working with HP-specific OpenSSL source code kits available from the HP, the n.rieck> problem still exists in the public sources available from your site. n.rieck> * I have posted my changes to file “s_client.c” here: n.rieck> http://www3.sympatico.ca/n.rieck/docs/openvms_notes_ssl.html#s_client-fix Glaring things, that (miss)handling of select() on VMS, isn't it (or well, VMS really misshandles select(), but that's another story)? Your fixes really don't catch it all, there's this piece of code that really is an issue: #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) #if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS) else if (_kbhit()) #else else if ((_kbhit()) || (WAIT_OBJECT_0 == WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0))) #endif #elif defined (OPENSSL_SYS_NETWARE) else if (_kbhit()) #else else if (FD_ISSET(fileno(stdin),&readfds)) #endif There's a fix in newer OpenSSL versions, with a variant for BeOS R5 that tries reading stdin in non-blocking mode to see if there's anything there... I'm just now seeing if that can be hijacked for VMS as well, in that case I think we're good to go for a back port. The first change (an extra \n) seem to be cosmetic only, or does it actually change the function in a crutial way? Considering you have marked it optional, I'll guess that it doesn't? Cheers, Richard -- Richard Levitte [email protected] http://richard.levitte.org/ "Life is a tremendous celebration - and I'm invited!" -- from a friend's blog, translated from Swedish ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
