Skip to content

mqtt: initial support for MQTTS#19418

Closed
bagder wants to merge 1 commit intomasterfrom
bagder/mqtts
Closed

mqtt: initial support for MQTTS#19418
bagder wants to merge 1 commit intomasterfrom
bagder/mqtts

Conversation

@bagder
Copy link
Member

@bagder bagder commented Nov 9, 2025

  • test cases
  • documentation

@bagder bagder added TLS feature-window A merge of this requires an open feature window MQTT labels Nov 9, 2025
@testclutch

This comment was marked as outdated.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds initial support for MQTTS (MQTT over TLS), extending curl's MQTT protocol support with TLS/SSL encryption. The implementation follows the established pattern of other secure protocol variants (like HTTPS, FTPS, IMAPS) by creating a separate protocol handler that uses stunnel for TLS termination in tests.

Key changes:

  • Adds MQTTS protocol handler with TLS support in the core library
  • Implements test infrastructure for MQTTS including a new test case (test1640)
  • Updates documentation across multiple files to include MQTTS in protocol lists

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
lib/mqtt.c Adds mqtts_connecting function and Curl_handler_mqtts protocol handler for MQTTS support
lib/mqtt.h Declares external Curl_handler_mqtts handler
lib/url.c Registers MQTTS handler in the scheme handler table
lib/urldata.h Defines PORT_MQTTS constant (8883)
lib/version.c Adds "mqtts" to supported protocols list
include/curl/curl.h Defines CURLPROTO_MQTTS protocol constant
scripts/schemetable.c Adds mqtts entry to scheme table for code generation
tests/servers.pm Adds MQTTS server startup logic and protocol handling
tests/serverhelp.pm Updates protocol regex to recognize MQTTS
tests/data/test1640 New test case for MQTTS SUBSCRIBE operation
tests/data/Makefile.am Adds test1640 to test suite
docs/tests/FILEFORMAT.md Documents %MQTTSPORT variable for test files
docs/libcurl/symbols-in-versions Adds CURLPROTO_MQTTS version entry (8.19.0)
docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS_STR.md Adds MQTTS to protocol list
docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.md Adds CURLPROTO_MQTT constant (missing CURLPROTO_MQTTS)
docs/libcurl/opts/CURLOPT_PROTOCOLS_STR.md Adds MQTTS to protocol list
docs/internals/MQTT.md Documents mqtts:// URL scheme usage
docs/cmdline-opts/_DESCRIPTION.md Adds MQTTS to curl supported protocols
docs/FAQ.md Updates supported protocols list (contains typo)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@bagder bagder marked this pull request as ready for review December 15, 2025 13:00
vszakats added a commit to curl/curl-for-win that referenced this pull request Dec 19, 2025
vszakats added a commit to curl/curl-for-win that referenced this pull request Jan 17, 2026
vszakats added a commit to curl/curl-for-win that referenced this pull request Jan 17, 2026
@bagder bagder closed this in 6c31df4 Jan 17, 2026
vszakats added a commit to curl/curl-for-win that referenced this pull request Jan 17, 2026
@bagder bagder deleted the bagder/mqtts branch February 11, 2026 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cmdline tool feature-window A merge of this requires an open feature window libcurl API MQTT tests TLS

Development

Successfully merging this pull request may close these issues.

4 participants