summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authordanicampora <daniel@wipy.io>2015-11-06 00:07:59 +0100
committerdanicampora <daniel@wipy.io>2015-11-06 00:12:13 +0100
commit8cee03b118850bc5d6cd9f1269f91af14e5f724f (patch)
tree87a29559ae6d0a361638a6cfd2bb63e16086e6bf
parent1673e19cb90122a7e02d4d1483ea6d7b2f0b2f67 (diff)
downloadmicropython-8cee03b118850bc5d6cd9f1269f91af14e5f724f.tar.gz
micropython-8cee03b118850bc5d6cd9f1269f91af14e5f724f.zip
cc3200: Force SSL method to be TLSV1.
The default setting of using the "highest" method available doesn't work with some servers like Microsoft Azure. TLSV1 seems to work with pretty much any server.
-rw-r--r--cc3200/mods/modussl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cc3200/mods/modussl.c b/cc3200/mods/modussl.c
index 4239c444bb..410588dd25 100644
--- a/cc3200/mods/modussl.c
+++ b/cc3200/mods/modussl.c
@@ -103,6 +103,10 @@ STATIC mp_obj_t mod_ssl_wrap_socket(mp_uint_t n_args, const mp_obj_t *pos_args,
_i16 sd = ((mod_network_socket_obj_t *)args[0].u_obj)->sock_base.sd;
_i16 _errno;
+ _u8 method = SL_SO_SEC_METHOD_TLSV1;
+ if ((_errno = sl_SetSockOpt(sd, SL_SOL_SOCKET, SL_SO_SECMETHOD, &method, sizeof(method))) < 0) {
+ goto socket_error;
+ }
if (keyfile && (_errno = sl_SetSockOpt(sd, SL_SOL_SOCKET, SL_SO_SECURE_FILES_PRIVATE_KEY_FILE_NAME, keyfile, strlen(keyfile))) < 0) {
goto socket_error;
}