@@ -100,7 +100,7 @@ STATIC int _mbedtls_ssl_send(void *ctx, const byte *buf, size_t len) {
100
100
mp_obj_t sock = * (mp_obj_t * )ctx ;
101
101
102
102
// mp_uint_t out_sz = sock_stream->write(sock, buf, len, &err);
103
- mp_int_t out_sz = common_hal_socketpool_socket_send (sock , buf , len );
103
+ mp_int_t out_sz = socketpool_socket_send (sock , buf , len );
104
104
DEBUG ("socket_send() -> %d" , out_sz );
105
105
if (out_sz < 0 ) {
106
106
int err = - out_sz ;
@@ -118,7 +118,7 @@ STATIC int _mbedtls_ssl_send(void *ctx, const byte *buf, size_t len) {
118
118
STATIC int _mbedtls_ssl_recv (void * ctx , byte * buf , size_t len ) {
119
119
mp_obj_t sock = * (mp_obj_t * )ctx ;
120
120
121
- mp_int_t out_sz = common_hal_socketpool_socket_recv_into (sock , buf , len );
121
+ mp_int_t out_sz = socketpool_socket_recv_into (sock , buf , len );
122
122
DEBUG ("socket_recv() -> %d" , out_sz );
123
123
if (out_sz < 0 ) {
124
124
int err = - out_sz ;
@@ -230,7 +230,7 @@ ssl_sslsocket_obj_t *common_hal_ssl_sslcontext_wrap_socket(ssl_sslcontext_obj_t
230
230
mbedtls_entropy_free (& o -> entropy );
231
231
232
232
if (ret == MBEDTLS_ERR_SSL_ALLOC_FAILED ) {
233
- mp_raise_OSError ( MP_ENOMEM );
233
+ mp_raise_type ( & mp_type_MemoryError );
234
234
} else if (ret == MBEDTLS_ERR_PK_BAD_INPUT_DATA ) {
235
235
mp_raise_ValueError (MP_ERROR_TEXT ("invalid key" ));
236
236
} else if (ret == MBEDTLS_ERR_X509_BAD_INPUT_DATA ) {
@@ -299,8 +299,7 @@ void common_hal_ssl_sslsocket_close(ssl_sslsocket_obj_t *self) {
299
299
mbedtls_entropy_free (& self -> entropy );
300
300
}
301
301
302
- void common_hal_ssl_sslsocket_connect (ssl_sslsocket_obj_t * self , const char * host , size_t hostlen , uint32_t port ) {
303
- common_hal_socketpool_socket_connect (self -> sock , host , hostlen , port );
302
+ STATIC void do_handshake (ssl_sslsocket_obj_t * self ) {
304
303
int ret ;
305
304
while ((ret = mbedtls_ssl_handshake (& self -> ssl )) != 0 ) {
306
305
if (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE ) {
@@ -326,7 +325,7 @@ void common_hal_ssl_sslsocket_connect(ssl_sslsocket_obj_t *self, const char *hos
326
325
mbedtls_entropy_free (& self -> entropy );
327
326
328
327
if (ret == MBEDTLS_ERR_SSL_ALLOC_FAILED ) {
329
- mp_raise_OSError ( MP_ENOMEM );
328
+ mp_raise_type ( & mp_type_MemoryError );
330
329
} else if (ret == MBEDTLS_ERR_PK_BAD_INPUT_DATA ) {
331
330
mp_raise_ValueError (MP_ERROR_TEXT ("invalid key" ));
332
331
} else if (ret == MBEDTLS_ERR_X509_BAD_INPUT_DATA ) {
@@ -336,6 +335,11 @@ void common_hal_ssl_sslsocket_connect(ssl_sslsocket_obj_t *self, const char *hos
336
335
}
337
336
}
338
337
338
+ void common_hal_ssl_sslsocket_connect (ssl_sslsocket_obj_t * self , const char * host , size_t hostlen , uint32_t port ) {
339
+ common_hal_socketpool_socket_connect (self -> sock , host , hostlen , port );
340
+ do_handshake (self );
341
+ }
342
+
339
343
bool common_hal_ssl_sslsocket_get_closed (ssl_sslsocket_obj_t * self ) {
340
344
return self -> closed ;
341
345
}
0 commit comments