Przeglądaj źródła

Include error log in case of error

Kedar Sovani 8 lat temu
rodzic
commit
070884fc2e
1 zmienionych plików z 18 dodań i 2 usunięć
  1. 18 2
      components/esp-tls/esp-tls.c

+ 18 - 2
components/esp-tls/esp-tls.c

@@ -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)