Skip to content

Commit 11cc451

Browse files
authored
Merge pull request #44 from sparkfun/release_candidate
v1.1.11 - add socketSetSecure
2 parents b0f9e3c + 6994dfb commit 11cc451

4 files changed

+21
-3
lines changed

keywords.txt

+1
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ querySocketTotalBytesReceived KEYWORD2
145145
querySocketRemoteIPAddress KEYWORD2
146146
querySocketStatusTCP KEYWORD2
147147
querySocketOutUnackData KEYWORD2
148+
socketSetSecure KEYWORD2
148149
socketGetLastError KEYWORD2
149150
lastRemoteIP KEYWORD2
150151
ping KEYWORD2

library.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=SparkFun u-blox SARA-R5 Arduino Library
2-
version=1.1.10
2+
version=1.1.11
33
author=SparkFun Electronics <[email protected]>
44
maintainer=SparkFun Electronics <sparkfun.com>
55
sentence=Library for the u-blox SARA-R5 LTE-M / NB-IoT modules with secure cloud<br/><br/>

src/SparkFun_u-blox_SARA-R5_Arduino_Library.cpp

+16-2
Original file line numberDiff line numberDiff line change
@@ -2705,6 +2705,20 @@ int SARA_R5::socketOpen(SARA_R5_socket_protocol_t protocol, unsigned int localPo
27052705
return sockId;
27062706
}
27072707

2708+
SARA_R5_error_t SARA_R5::socketSetSecure(int profile, bool secure, int secprofile)
2709+
{
2710+
SARA_R5_error_t err;
2711+
char *command = sara_r5_calloc_char(strlen(SARA_R5_SECURE_SOCKET) + 32);
2712+
if (command == nullptr)
2713+
return SARA_R5_ERROR_OUT_OF_MEMORY;
2714+
if ((secprofile == -1) || !secure) sprintf(command, "%s=%d,%d", SARA_R5_SECURE_SOCKET, profile, secure);
2715+
else sprintf(command, "%s=%d,%d,%d", SARA_R5_SECURE_SOCKET, profile, secure, secprofile);
2716+
err = sendCommandWithResponse(command, SARA_R5_RESPONSE_OK_OR_ERROR, nullptr,
2717+
SARA_R5_STANDARD_RESPONSE_TIMEOUT);
2718+
free(command);
2719+
return err;
2720+
}
2721+
27082722
SARA_R5_error_t SARA_R5::socketClose(int socket, unsigned long timeout)
27092723
{
27102724
SARA_R5_error_t err;
@@ -4089,7 +4103,7 @@ SARA_R5_error_t SARA_R5::setHTTPsecure(int profile, bool secure, int secprofile)
40894103
command = sara_r5_calloc_char(strlen(SARA_R5_HTTP_PROFILE) + 32);
40904104
if (command == nullptr)
40914105
return SARA_R5_ERROR_OUT_OF_MEMORY;
4092-
if (secprofile == -1)
4106+
if ((secprofile == -1) || !secure)
40934107
sprintf(command, "%s=%d,%d,%d", SARA_R5_HTTP_PROFILE, profile, SARA_R5_HTTP_OP_CODE_SECURE,
40944108
secure);
40954109
else sprintf(command, "%s=%d,%d,%d,%d", SARA_R5_HTTP_PROFILE, profile, SARA_R5_HTTP_OP_CODE_SECURE,
@@ -4302,7 +4316,7 @@ SARA_R5_error_t SARA_R5::setMQTTsecure(bool secure, int secprofile)
43024316
command = sara_r5_calloc_char(strlen(SARA_R5_MQTT_PROFILE) + 16);
43034317
if (command == nullptr)
43044318
return SARA_R5_ERROR_OUT_OF_MEMORY;
4305-
if (secprofile == -1) sprintf(command, "%s=%d,%d", SARA_R5_MQTT_PROFILE, SARA_R5_MQTT_PROFILE_SECURE, secure);
4319+
if ((secprofile == -1) || !secure) sprintf(command, "%s=%d,%d", SARA_R5_MQTT_PROFILE, SARA_R5_MQTT_PROFILE_SECURE, secure);
43064320
else sprintf(command, "%s=%d,%d,%d", SARA_R5_MQTT_PROFILE, SARA_R5_MQTT_PROFILE_SECURE, secure, secprofile);
43074321
err = sendCommandWithResponse(command, SARA_R5_RESPONSE_OK_OR_ERROR, nullptr,
43084322
SARA_R5_STANDARD_RESPONSE_TIMEOUT);

src/SparkFun_u-blox_SARA-R5_Arduino_Library.h

+3
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ const char SARA_R5_GET_ERROR[] = "+USOER"; // Get last socket error.
153153
const char SARA_R5_SOCKET_DIRECT_LINK[] = "+USODL"; // Set socket in Direct Link mode
154154
const char SARA_R5_SOCKET_CONTROL[] = "+USOCTL"; // Query the socket parameters
155155
const char SARA_R5_UD_CONFIGURATION[] = "+UDCONF"; // User Datagram Configuration
156+
const char SARA_R5_SECURE_SOCKET[] = "+USOSEC"; // SSL/TLS/DTLS mode configuration
156157
// ### Ping
157158
const char SARA_R5_PING_COMMAND[] = "+UPING"; // Ping
158159
// ### HTTP
@@ -897,6 +898,8 @@ class SARA_R5 : public Print
897898
SARA_R5_error_t querySocketRemoteIPAddress(int socket, IPAddress *address, int *port);
898899
SARA_R5_error_t querySocketStatusTCP(int socket, SARA_R5_tcp_socket_status_t *status);
899900
SARA_R5_error_t querySocketOutUnackData(int socket, uint32_t *total);
901+
// enable / disable socket securoty
902+
SARA_R5_error_t socketSetSecure(int profile, bool secure, int secprofile = -1);
900903
// Return the most recent socket error
901904
int socketGetLastError();
902905
// Return the remote IP Address from the most recent socket listen indication (socket connection)

0 commit comments

Comments
 (0)