]> granicus.if.org Git - esp-idf/commitdiff
Include error log in case of error
authorKedar Sovani <kedars@gmail.com>
Mon, 18 Dec 2017 11:10:39 +0000 (16:40 +0530)
committerJitin George <jitin@espressif.com>
Fri, 6 Apr 2018 11:43:14 +0000 (17:13 +0530)
components/esp-tls/esp-tls.c

index 287bfdaf5c458895f0bb2871d8c9234fbded52d1..3ed8939c0722670823392c85a60870aa770cf4d9 100644 (file)
@@ -49,7 +49,15 @@ static ssize_t tcp_read(struct esp_tls *tls, char *data, size_t datalen)
 
 static ssize_t tls_read(struct esp_tls *tls, char *data, size_t datalen)
 {
-    return SSL_read(tls->ssl, data, datalen);
+    ssize_t ret = SSL_read(tls->ssl, data, datalen);
+    if (ret < 0) {
+       int err = SSL_get_error(tls->ssl, ret);
+       if (err != SSL_ERROR_WANT_WRITE && err != SSL_ERROR_WANT_READ) {
+           ESP_LOGE(TAG, "read error :%d:\n", ret);
+       }
+       return -err;
+    }
+    return ret;
 }
 
 static int esp_tcp_connect(const char *host, int hostlen, int port)
@@ -163,7 +171,15 @@ static ssize_t tcp_write(struct esp_tls *tls, const char *data, size_t datalen)
 
 static ssize_t tls_write(struct esp_tls *tls, const char *data, size_t datalen)
 {
-    return SSL_write(tls->ssl, data, datalen);
+    ssize_t ret = SSL_write(tls->ssl, data, datalen);
+    if (ret < 0) {
+       int err = SSL_get_error(tls->ssl, ret);
+       if (err != SSL_ERROR_WANT_WRITE && err != SSL_ERROR_WANT_READ) {
+           ESP_LOGE(TAG, "write error :%d:\n", ret);
+       }
+       return -err;
+    }
+    return ret;
 }
 
 struct esp_tls *esp_tls_conn_new(const char *hostname, int hostlen, int port, struct esp_tls_cfg *cfg)