On Solaris, truss shows this: 18416: poll(0xFEE219D0, 2, 43200000) = 1 18416: write(13, "150301\018 3F1DBCCCBCAE3".., 29) Err#32 EPIPE
What is your configuration?
The stunnel source implies that it will retry the shutdown when SSL_shutdown returns 0.
The manual claims:
0 The shutdown is not yet finished. Call SSL_shutdown() for a second
time, if a bidirectional shutdown shall be performed. The output
of SSL_get_error(3) may be misleading, as an erroneous
SSL_ERROR_SYSCALL may be flagged even though no error occurred.
-1 The shutdown was not successful because a fatal error occurred
either at the protocol level or a connection failure occurred. It
can also occur if action is need to continue the operation for nonâ
blocking BIOs. Call SSL_get_error(3) with the return value ret to
find out the reason.
So SSL_shutdown() should return -1 on a fatal error, shouldn't it?
Stunnel does not check for system errors when SSL_shutdown returns 0 ( maybe it should?).
I don't think so... In fact it's explicitly forbidden to check for an error here...
Best regards, Mike (the author of stunnel) ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]