feat: Add support for percent-encoding in password and it's corresponding test

Add support of percent-encoded characters when passing the username and password in URI

Closes https://github.com/espressif/esp-mqtt/issues/294
This commit is contained in:
Bogdan Kolendovskyy
2025-11-19 11:07:55 +01:00
parent f192911f6b
commit 32df7e27fc
18 changed files with 427 additions and 27 deletions
+24
View File
@@ -0,0 +1,24 @@
# SPDX-License-Identifier: MIT
#
# SPDX-FileCopyrightText: Copyright (c) 2019-2023 Lars Melchior and contributors
set(CPM_DOWNLOAD_VERSION 0.42.0)
set(CPM_HASH_SUM "2020b4fc42dba44817983e06342e682ecfc3d2f484a581f11cc5731fbe4dce8a")
if(CPM_SOURCE_CACHE)
set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
elseif(DEFINED ENV{CPM_SOURCE_CACHE})
set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
else()
set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
endif()
# Expand relative path. This is important if the provided path contains a tilde (~)
get_filename_component(CPM_DOWNLOAD_LOCATION ${CPM_DOWNLOAD_LOCATION} ABSOLUTE)
file(DOWNLOAD
https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
${CPM_DOWNLOAD_LOCATION} EXPECTED_HASH SHA256=${CPM_HASH_SUM}
)
include(${CPM_DOWNLOAD_LOCATION})
+19
View File
@@ -0,0 +1,19 @@
CPMAddPackage(
NAME RapidCheck
GITHUB_REPOSITORY emil-e/rapidcheck
GIT_TAG ff6af6fc683159deb51c543b065eba14dfcf329b
)
add_subdirectory(${RapidCheck_SOURCE_DIR}/extras/catch ${CMAKE_BINARY_DIR}/rapidcheck_catch)
# Treat rapidcheck headers as SYSTEM so their internal uses of deprecated APIs
# (e.g. std::aligned_storage in C++23) do not surface as warnings in our build.
foreach(_rc_target rapidcheck rapidcheck_catch)
if(TARGET ${_rc_target})
get_target_property(_rc_includes ${_rc_target} INTERFACE_INCLUDE_DIRECTORIES)
if(_rc_includes)
set_target_properties(${_rc_target} PROPERTIES
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_rc_includes}")
endif()
endif()
endforeach()