Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fed71ef

Browse files
committed
Merge branch 'bugfix/aws-iot-wolfssl' into 'master'
Fix a bug of using wolfssl wrapper See merge request sdk/ESP8266_RTOS_SDK!902
2 parents 8fca88d + d9e6963 commit fed71ef

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

components/aws_iot/port/network_mbedtls_wrapper.c

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,7 @@ IoT_Error_t iot_tls_connect(Network *pNetwork, TLSConnectParams *params) {
9090
.clientcert_pem_buf = (const unsigned char *)pNetwork->tlsConnectParams.pDeviceCertLocation,
9191
.clientcert_pem_bytes = strlen(pNetwork->tlsConnectParams.pDeviceCertLocation) + 1,
9292
.clientkey_pem_buf = (const unsigned char *)pNetwork->tlsConnectParams.pDevicePrivateKeyLocation,
93-
.clientkey_pem_bytes = strlen(pNetwork->tlsConnectParams.pDevicePrivateKeyLocation) + 1,
94-
.timeout_ms = pNetwork->tlsConnectParams.timeout_ms,
95-
.non_block = true
93+
.clientkey_pem_bytes = strlen(pNetwork->tlsConnectParams.pDevicePrivateKeyLocation) + 1
9694
};
9795

9896
/* Use the AWS IoT ALPN extension for MQTT, if port 443 is requested */
@@ -131,8 +129,8 @@ IoT_Error_t iot_tls_write(Network *pNetwork, unsigned char *pMsg, size_t len, Ti
131129
written_so_far < len && !has_timer_expired(timer); written_so_far += ret, frags++) {
132130
while(!has_timer_expired(timer) &&
133131
(ret = esp_tls_conn_write(tls, pMsg + written_so_far, len - written_so_far)) <= 0) {
134-
if(ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE) {
135-
ESP_LOGE(TAG, "failed! mbedtls_ssl_write returned -0x%x", -ret);
132+
if(ret != ESP_TLS_ERROR_WANT_READ && ret != ESP_TLS_ERROR_WANT_WRITE) {
133+
ESP_LOGE(TAG, "failed! esp_tls_conn_write returned -0x%x", -ret);
136134
/* All other negative return values indicate connection needs to be reset.
137135
* Will be caught in ping request so ignored here */
138136
isErrorFlag = true;
@@ -183,7 +181,7 @@ IoT_Error_t iot_tls_read(Network *pNetwork, unsigned char *pMsg, size_t len, Tim
183181
rxLen += ret;
184182
pMsg += ret;
185183
len -= ret;
186-
} else if (ret == 0 || (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE && ret != MBEDTLS_ERR_SSL_TIMEOUT)) {
184+
} else if (ret == 0 || (ret != ESP_TLS_ERROR_WANT_READ && ret != ESP_TLS_ERROR_WANT_WRITE)) {
187185
return NETWORK_SSL_READ_ERROR;
188186
}
189187

@@ -206,28 +204,28 @@ IoT_Error_t iot_tls_read(Network *pNetwork, unsigned char *pMsg, size_t len, Tim
206204
}
207205

208206
IoT_Error_t iot_tls_disconnect(Network *pNetwork) {
209-
TLSDataParams *tlsDataParams = &(pNetwork->tlsDataParams);
210-
struct esp_tls *tls = (struct esp_tls *)tlsDataParams->handle;
211-
if (!tls) {
212-
return NULL_VALUE_ERROR;
207+
if (pNetwork) {
208+
TLSDataParams *tlsDataParams = &(pNetwork->tlsDataParams);
209+
struct esp_tls *tls = (struct esp_tls *) tlsDataParams->handle;
210+
if (tls) {
211+
esp_tls_conn_delete(tls);
212+
}
213213
}
214214

215-
esp_tls_conn_delete(tls);
216-
217215
/* All other negative return values indicate connection needs to be reset.
218216
* No further action required since this is disconnect call */
219217

220218
return SUCCESS;
221219
}
222220

223221
IoT_Error_t iot_tls_destroy(Network *pNetwork) {
224-
TLSDataParams *tlsDataParams = &(pNetwork->tlsDataParams);
225-
struct esp_tls *tls = (struct esp_tls *)tlsDataParams->handle;
226-
if (!tls) {
227-
return NULL_VALUE_ERROR;
222+
if (pNetwork) {
223+
TLSDataParams *tlsDataParams = &(pNetwork->tlsDataParams);
224+
struct esp_tls *tls = (struct esp_tls *) tlsDataParams->handle;
225+
if (tls) {
226+
esp_tls_conn_delete(tls);
227+
}
228228
}
229229

230-
esp_tls_conn_delete(tls);
231-
232230
return SUCCESS;
233231
}

0 commit comments

Comments
 (0)