From d9f961ed2d5313c45fb8272c338a7dd2937a68b6 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Sun, 19 Oct 2003 17:38:51 +0000
Subject: [PATCH] better error output on SSL errors when receiving data - Georg
 Horn patch

---
 CHANGES     |  4 ++++
 lib/sendf.c | 21 +++++++++------------
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/CHANGES b/CHANGES
index 00347d924f..48e86970de 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,10 @@
                                   Changelog
 
 
+Daniel (19 October)
+- Georg Horn made libcurl output more info on SSL failures when receiving
+  data.
+
 Version 7.10.8-pre4 (18 October 2003)
 
 Daniel (17 October)
diff --git a/lib/sendf.c b/lib/sendf.c
index 76e01393ef..41f3092364 100644
--- a/lib/sendf.c
+++ b/lib/sendf.c
@@ -383,19 +383,16 @@ int Curl_read(struct connectdata *conn,
       case SSL_ERROR_WANT_WRITE:
         /* there's data pending, re-invoke SSL_read() */
         return -1; /* basicly EWOULDBLOCK */
-      case SSL_ERROR_SYSCALL:
-        /* openssl/ssl.h says "look at error stack/return value/errno" */
-      {
-        char error_buffer[120]; /* OpenSSL documents that this must be at least
-                                   120 bytes long. */
-        int sslerror = ERR_get_error();
-        failf(conn->data, "SSL read: %s, errno %d",
-              ERR_error_string(sslerror, error_buffer),
-              Curl_ourerrno() );
-      }
-      return CURLE_RECV_ERROR;
       default:
-        failf(conn->data, "SSL read error: %d", err);
+        /* openssl/ssl.h says "look at error stack/return value/errno" */
+        {
+          char error_buffer[120]; /* OpenSSL documents that this must be at
+                                     least 120 bytes long. */
+          int sslerror = ERR_get_error();
+          failf(conn->data, "SSL read: %s, errno %d",
+                ERR_error_string(sslerror, error_buffer),
+                Curl_ourerrno() );
+        }
         return CURLE_RECV_ERROR;
       }
     }
-- 
GitLab