* Fix HTTPS pooled client crash on unexpected SSL EOF
When OpenSSL 3.x detects unexpected EOF (peer closed without
close_notify), SSL_read returns 0 with SSL_ERROR_SSL. The code
didn't return -1, causing error_code=0 to propagate to
Controller::SetFailed() which triggers CHECK(false).
Fix by returning -1 with errno=ESSL when SSL errors are detected
in DoRead(), instead of falling through and returning nr.
Discovered during RISC-V porting and integration testing.
Fixes#3307
Signed-off-by: Felix Gong <gongxiaofei24@iscas.ac.cn>
* Add unit test for unexpected SSL EOF handling
Test that Socket::DoRead() returns -1 with errno=ESSL when the remote
side closes the TCP connection without sending close_notify, verifying
the fix in commit 7a1dfe7c.
---------
Signed-off-by: Felix Gong <gongxiaofei24@iscas.ac.cn>