Skip to content

Commit c691e99

Browse files
MirkoCovizzirlubos
authored andcommitted
[nrf noup] net: mqtt: add native TLS support
Make MQTT `set_native_tls` option work w/o socket dispatcher enabled. Signed-off-by: Mirko Covizzi <[email protected]> Signed-off-by: Robert Lubos <[email protected]> (cherry picked from commit bc09473)
1 parent 24703c8 commit c691e99

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

subsys/net/lib/mqtt/mqtt_transport_socket_tls.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,15 @@ int mqtt_client_tls_connect(struct mqtt_client *client)
2222
{
2323
const struct sockaddr *broker = client->broker;
2424
struct mqtt_sec_config *tls_config = &client->transport.tls.config;
25+
int type = SOCK_STREAM;
2526
int ret;
2627

28+
if (!IS_ENABLED(CONFIG_NET_SOCKETS_OFFLOAD_DISPATCHER) && tls_config->set_native_tls) {
29+
type |= SOCK_NATIVE_TLS;
30+
}
31+
2732
client->transport.tls.sock = zsock_socket(broker->sa_family,
28-
SOCK_STREAM, IPPROTO_TLS_1_2);
33+
type, IPPROTO_TLS_1_2);
2934
if (client->transport.tls.sock < 0) {
3035
return -errno;
3136
}
@@ -35,8 +40,8 @@ int mqtt_client_tls_connect(struct mqtt_client *client)
3540
if (IS_ENABLED(CONFIG_NET_SOCKETS_OFFLOAD_DISPATCHER) && tls_config->set_native_tls) {
3641
int tls_native = 1;
3742

38-
ret = zsock_setsockopt(client->transport.tls.sock, ZSOCK_SOL_TLS,
39-
ZSOCK_TLS_NATIVE, &tls_native,
43+
ret = zsock_setsockopt(client->transport.tls.sock, SOL_TLS,
44+
TLS_NATIVE, &tls_native,
4045
sizeof(tls_native));
4146
if (ret < 0) {
4247
NET_ERR("Failed to set native TLS (%d)", -errno);

0 commit comments

Comments
 (0)