Merge branch 'eclipse:develop' into develop

This commit is contained in:
Norbert Heusser
2022-05-13 10:55:47 +02:00
committed by GitHub
38 changed files with 150 additions and 272 deletions
+24
View File
@@ -0,0 +1,24 @@
name: Coverity Scan fixes and develop branches on a weekly basis
on:
workflow_dispatch:
schedule:
- cron: "7 3 * * 0"
jobs:
coverity:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Dependencies
run: sudo apt-get install -y libcjson-dev libsqlite3-dev libssl-dev uthash-dev
- uses: vapier/coverity-scan-action@v1
with:
build_language: 'cxx'
project: "eclipse/mosquitto"
token: ${{ secrets.COVERITY_SCAN_TOKEN }}
email: ${{ secrets.COVERITY_SCAN_EMAIL }}
command: "make binary"
-21
View File
@@ -1,21 +0,0 @@
name: "Synchronise Coverity Scan branches on a weekly basis"
on:
workflow_dispatch:
schedule:
- cron: "7 3 * * 0"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- run: |
git checkout coverity-fixes
git reset --hard origin/fixes
git push origin coverity-fixes
git checkout coverity-develop
git reset --hard origin/develop
git push origin coverity-develop
-36
View File
@@ -1,36 +0,0 @@
language: c
compiler:
- gcc
- clang
os:
- linux
- osx
dist:
- bionic
sudo: true
env:
global:
# COVERITY_SCAN_TOKEN
- secure: "j58a3zOmHbWvKOfBaR2WJAU0Lz95M0u3Ji9NUn0Gj+v91z/vd0COF8dR6QO03V9fDms44ghBiUOblgfb8z/GFOaagn2FoHUrSka/Sju+gIFejgeSqwyxL3CjcX69M1f/npiePQDDtD5mb4dZTDZ4Nl3BpTqg+Qtar9/S/7LoheecWdd6kFDDMr+0yx3/nibwbC0+tpXftiB62tgaGwABQBvfQbgBXUxJ+0zaKXORiKmhwnEC15Bub0WmBhmZxahzlDMU2cEzxKVQbYrcf0TqZpbPhN7H42d3ssQJ3ogbqJmptZpoRdv9de6G0Hzq5QDLjkQxd+3z4hxRqOPzICoawkljQ6CF/JOSlqRXTP0/272MBHzgancQpQhO5yfB3eV4OFldQAdtIKHV04jQ9uSPYOi48To//HGOG8GOp6jFMrpKs6T6P8UiB+GTe57GjBdQI5uqZiEBMdc5MNaqDDoskdr+jTsnGJg6uY9ARrap3WFFEWiaTbe/wbE7+o0isb79PmgBzFLpcwpBFgfyQUiDb+e8S2d3ugKeIVlsSlrF7ZTXC40Y+qVwGzvf/RSM3+c9N/ikFmrLdzn0rBrwna4t3vPrBoU1seoCAZu5hwAU0+xNCN4P9M1s4tOnrG7Lq5URqkP0n9gTXvI8rQ7dDJibjP+5RoZUOd1XPkHbyN4Kseg="
script:
- ./travis-configure.sh
- if [[ "$COVERITY_SCAN_BRANCH" != 1 ]]; then make ; make test ; fi
before_install:
- ./travis-install.sh
addons:
coverity_scan:
project:
name: "eclipse/mosquitto"
description: "Build submitted via Travis CI"
notification_email: roger@atchoo.org
build_command_prepend: ./travis-configure.sh
build_command: "make binary -j 4"
branch_pattern: coverity-.*
+4 -6
View File
@@ -4,7 +4,7 @@
# To configure the build options either use the CMake gui, or run the command
# line utility including the "-i" option.
cmake_minimum_required(VERSION 3.10)
cmake_minimum_required(VERSION 3.14)
set (VERSION 2.1.0)
project(mosquitto
@@ -50,7 +50,7 @@ endif()
option(WITH_SQLITE "Include sqlite persistence support?" ON)
if (WITH_SQLITE)
find_package(sqlite3 REQUIRED)
find_package(SQLite3 REQUIRED)
add_definitions("-DWITH_SQLITE")
endif()
@@ -79,10 +79,8 @@ endif()
option(WITH_DLT "Include DLT support?" OFF)
message(STATUS "WITH_DLT = ${WITH_DLT}")
if(WITH_DLT)
#find_package(DLT REQUIRED)
find_package(PkgConfig)
pkg_check_modules(DLT "automotive-dlt >= 2.11")
add_definitions("-DWITH_DLT")
pkg_check_modules(DLT "automotive-dlt >= 2.11" REQUIRED)
endif()
option(WITH_CJSON "Build with cJSON support (required for dynamic security plugin and useful for mosquitto_sub)?" ON)
@@ -90,7 +88,7 @@ if(WITH_CJSON)
FIND_PACKAGE(cJSON)
if(CJSON_FOUND)
message(STATUS ${CJSON_FOUND})
add_definitions(-DWITH_CJSON)
target_compile_definitions(cJSON INTERFACE WITH_CJSON)
else()
message(STATUS "Optional dependency cJSON not found. Some features will be disabled.")
endif()
+5
View File
@@ -55,6 +55,8 @@ Broker:
- Bridge reconnection backoff improvements.
- Add bridge_tls_use_os_certs option to allow bridges to be easily configured
to trust default CA certificates. Closes #2473.
- Add `--test-config` option which can be used to test a configuration file
before trying to use it in a live broker. Closes #2521.
Plugins / plugin interface:
- Add persist-sqlite plugin.
@@ -137,6 +139,9 @@ Clients:
- Add float printing option to mosquitto_sub.
- Fix `-f` and `-s` options in mosquitto_rr.
Build:
- Increased CMake minimal required version to 3.14, which is required for the
preinstalled SQLite3 find module.
2.0.14 - 2021-11-17
===================
+1 -6
View File
@@ -1,8 +1,4 @@
if(WITH_TLS AND CJSON_FOUND)
add_definitions("-DWITH_CJSON")
link_directories(${CJSON_DIR})
add_executable(mosquitto_ctrl
mosquitto_ctrl.c mosquitto_ctrl.h
../../common/base64_mosq.c ../../common/base64_mosq.h
@@ -21,7 +17,6 @@ if(WITH_TLS AND CJSON_FOUND)
)
target_include_directories(mosquitto_ctrl PRIVATE
"${CJSON_INCLUDE_DIRS}"
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
@@ -63,7 +58,7 @@ if(WITH_TLS AND CJSON_FOUND)
target_link_libraries(mosquitto_ctrl
PRIVATE
${OPENSSL_LIBRARIES}
${CJSON_LIBRARIES}
cJSON
)
if (WITH_THREADING AND NOT WIN32)
+3 -14
View File
@@ -12,14 +12,6 @@ set(CLIENT_INC
"${mosquitto_SOURCE_DIR}/include"
)
set(CLIENT_DIR ${mosquitto_BINARY_DIR}/lib)
if(CJSON_FOUND)
add_definitions("-DWITH_CJSON")
set(CLIENT_DIR "${CLIENT_DIR};${CJSON_DIR}")
set(CLIENT_INC "${CLIENT_INC};${CJSON_INCLUDE_DIRS}")
endif()
if(WITH_WEBSOCKETS AND WITH_WEBSOCKETS_BUILTIN)
add_definitions("-DWITH_WEBSOCKETS=WS_IS_BUILTIN")
endif()
@@ -46,13 +38,10 @@ if(WITH_BUNDLED_DEPS)
target_include_directories(mosquitto_rr PRIVATE "${mosquitto_SOURCE_DIR}/deps")
endif()
link_directories(${CLIENT_DIR})
if(CJSON_FOUND)
target_link_libraries(mosquitto_pub PRIVATE ${CJSON_LIBRARIES})
target_link_libraries(mosquitto_sub PRIVATE ${CJSON_LIBRARIES})
target_link_libraries(mosquitto_rr PRIVATE ${CJSON_LIBRARIES})
target_link_libraries(mosquitto_pub PRIVATE cJSON)
target_link_libraries(mosquitto_sub PRIVATE cJSON)
target_link_libraries(mosquitto_rr PRIVATE cJSON)
endif()
if(WITH_STATIC_LIBRARIES)
+11
View File
@@ -31,6 +31,17 @@ IF( CJSON_FOUND )
CJSON_INCLUDE_DIR
CJSON_DIR
)
add_library(cJSON SHARED IMPORTED)
set_target_properties(cJSON
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${CJSON_INCLUDE_DIRS}"
)
set_target_properties(cJSON
PROPERTIES
IMPORTED_LOCATION "${CJSON_LIBRARY}"
)
ELSE()
SET( CJSON_DIR "" CACHE STRING
"An optional hint to a directory for finding `cJSON`"
-38
View File
@@ -1,38 +0,0 @@
INCLUDE( FindPackageHandleStandardArgs )
# Checks an environment variable; note that the first check
# does not require the usual CMake $-sign.
IF( DEFINED ENV{SQLITE3_DIR} )
SET( SQLITE3_DIR "$ENV{SQLITE3_DIR}" )
ENDIF()
FIND_PATH(
SQLITE3_INCLUDE_DIR
sqlite3.h
HINTS
SQLITE3_DIR
)
FIND_LIBRARY( SQLITE3_LIBRARY
NAMES sqlite3
HINTS ${SQLITE3_DIR}
)
FIND_PACKAGE_HANDLE_STANDARD_ARGS( sqlite3 DEFAULT_MSG
SQLITE3_INCLUDE_DIR SQLITE3_LIBRARY
)
IF( SQLITE3_FOUND )
SET( SQLITE3_INCLUDE_DIRS ${SQLITE3_INCLUDE_DIR} )
SET( SQLITE3_LIBRARIES ${SQLITE3_LIBRARY} )
MARK_AS_ADVANCED(
SQLITE3_LIBRARY
SQLITE3_INCLUDE_DIR
SQLITE3_DIR
)
ELSE()
SET( SQLITE3_DIR "" CACHE STRING
"An optional hint to a directory for finding `sqlite3`"
)
ENDIF()
+1
View File
@@ -21,6 +21,7 @@ Contributors:
#ifdef __APPLE__
#include <mach/mach.h>
#include <mach/mach_time.h>
#include <sys/time.h>
#endif
#ifdef WIN32
+10 -10
View File
@@ -101,18 +101,18 @@ if(WITH_WEBSOCKETS AND WITH_WEBSOCKETS_BUILTIN)
"${mosquitto_SOURCE_DIR}/deps/picohttpparser")
endif()
target_include_directories(libmosquitto PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
target_include_directories(libmosquitto
PUBLIC
"${mosquitto_SOURCE_DIR}/include"
"${OPENSSL_INCLUDE_DIR}"
PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/lib"
)
link_directories("${mosquitto_SOURCE_DIR}/lib")
if(WITH_BUNDLED_DEPS)
target_include_directories(libmosquitto PRIVATE
"${mosquitto_SOURCE_DIR}/deps"
+8 -8
View File
@@ -8,16 +8,16 @@ set_target_properties(mosquittopp PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
target_include_directories(mosquittopp PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/lib/cpp"
target_include_directories(mosquittopp
PUBLIC
"${mosquitto_SOURCE_DIR}/include"
PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/lib/cpp"
)
link_directories(${mosquitto_BINARY_DIR}/lib)
target_link_libraries(mosquittopp PRIVATE libmosquitto)
if (WITH_THREADING AND NOT WIN32)
+6 -6
View File
@@ -1,9 +1,6 @@
if(CJSON_FOUND AND WITH_TLS)
add_definitions("-DWITH_CJSON")
set(CLIENT_INC
"${CJSON_INCLUDE_DIRS}"
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
@@ -50,16 +47,19 @@ if(CJSON_FOUND AND WITH_TLS)
"${mosquitto_SOURCE_DIR}/deps"
)
endif()
link_directories(${CLIENT_DIR} "${mosquitto_SOURCE_DIR}")
set_target_properties(mosquitto_dynamic_security PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
target_link_libraries(mosquitto_dynamic_security PRIVATE ${CJSON_LIBRARIES} ${OPENSSL_LIBRARIES})
target_link_libraries(mosquitto_dynamic_security
PRIVATE
cJSON
OpenSSL::SSL
)
target_link_libraries(mosquitto_dynamic_security PRIVATE mosquitto)
if(WIN32)
target_link_libraries(mosquitto_dynamic_security PRIVATE mosquitto)
install(TARGETS mosquitto_dynamic_security
DESTINATION "${CMAKE_INSTALL_BINDIR}")
else()
@@ -16,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+1 -3
View File
@@ -16,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -5,7 +5,6 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
@@ -13,15 +12,12 @@ target_include_directories(${PLUGIN_NAME} PRIVATE
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -11,16 +11,12 @@ target_include_directories(${PLUGIN_NAME} PRIVATE
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -16,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+1 -3
View File
@@ -22,9 +22,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+2 -5
View File
@@ -12,15 +12,12 @@ target_include_directories(${PLUGIN_NAME} PRIVATE
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -5,7 +5,6 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
@@ -17,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -23,9 +23,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+7 -10
View File
@@ -1,7 +1,5 @@
if(SQLITE3_FOUND AND CJSON_FOUND)
add_definitions("-DWITH_CJSON")
set(CLIENT_INC
"${SQLITE3_INCLUDE_DIRS}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
@@ -10,8 +8,6 @@ if(SQLITE3_FOUND AND CJSON_FOUND)
"${mosquitto_SOURCE_DIR}/src"
)
set(CLIENT_DIR "${mosquitto_BINARY_DIR}/lib" "${SQLITE3_DIR}")
add_library(mosquitto_persist_sqlite MODULE
base_msgs.c
clients.c
@@ -25,19 +21,20 @@ if(SQLITE3_FOUND AND CJSON_FOUND)
)
target_include_directories(mosquitto_persist_sqlite PRIVATE
${CLIENT_INC} ${SQLITE3_INCLUDE_DIR}
${CLIENT_INC}
)
link_directories(${CLIENT_DIR} "${mosquitto_SOURCE_DIR}")
set_target_properties(mosquitto_persist_sqlite PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
target_link_libraries(mosquitto_persist_sqlite PRIVATE ${SQLITE3_LIBRARIES})
if(WIN32)
target_link_libraries(mosquitto_persist_sqlite PRIVATE mosquitto)
endif()
target_link_libraries(mosquitto_persist_sqlite
PRIVATE
SQLite::SQLite3
cJSON
)
target_link_libraries(mosquitto_persist_sqlite PRIVATE mosquitto)
install(TARGETS mosquitto_persist_sqlite
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+23 -23
View File
@@ -148,12 +148,6 @@ endif()
add_definitions (-DWITH_BROKER)
if(WITH_DLT)
message(STATUS "DLT_LIBDIR = ${DLT_LIBDIR}")
link_directories(${DLT_LIBDIR})
set (MOSQ_LIBS ${MOSQ_LIBS} ${DLT_LIBRARIES})
endif()
set (MOSQ_LIBS ${MOSQ_LIBS} ${OPENSSL_LIBRARIES})
# Check for getaddrinfo_a
include(CheckLibraryExists)
@@ -210,7 +204,6 @@ if(WITH_WEBSOCKETS)
set (MOSQ_LIBS ${MOSQ_LIBS} websockets_static)
if(WIN32)
set (MOSQ_LIBS ${MOSQ_LIBS} iphlpapi)
link_directories(${mosquitto_SOURCE_DIR})
endif()
else(STATIC_WEBSOCKETS)
set (MOSQ_LIBS ${MOSQ_LIBS} websockets)
@@ -218,19 +211,28 @@ if(WITH_WEBSOCKETS)
endif()
endif()
if(CJSON_FOUND)
set (MOSQ_LIBS ${MOSQ_LIBS} cjson)
if(WITH_DLT)
message(STATUS "DLT_LIBDIR = ${DLT_LIBDIR}")
target_link_directories(mosquitto PRIVATE ${DLT_LIBDIR})
set (MOSQ_LIBS ${MOSQ_LIBS} ${DLT_LIBRARIES})
target_compile_definitions(mosquitto PRIVATE "WITH_DLT")
endif()
target_include_directories(mosquitto PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/src"
if(CJSON_FOUND)
target_link_libraries(mosquitto PRIVATE cJSON)
endif()
target_include_directories(mosquitto
PUBLIC
"${mosquitto_SOURCE_DIR}/include"
"${OPENSSL_INCLUDE_DIR}"
PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/src"
)
if(WITH_BUNDLED_DEPS)
target_include_directories(mosquitto PRIVATE
@@ -250,11 +252,9 @@ if (WITH_THREADING AND NOT WIN32)
target_link_libraries(mosquitto PRIVATE Threads::Threads)
endif()
if(WIN32)
set_target_properties(mosquitto PROPERTIES
ENABLE_EXPORTS 1
)
endif()
set_target_properties(mosquitto PROPERTIES
ENABLE_EXPORTS 1
)
if(UNIX)
if(APPLE)
+2
View File
@@ -197,7 +197,9 @@ static int bridge__set_tcp_keepalive(struct mosquitto *context)
#else
ret =
setsockopt(context->sock, SOL_SOCKET, SO_KEEPALIVE, (const void*)&enabled, sizeof(enabled)) ||
#ifndef __APPLE__
setsockopt(context->sock, IPPROTO_TCP, TCP_KEEPIDLE, (const void*)&idle, sizeof(idle)) ||
#endif
setsockopt(context->sock, IPPROTO_TCP, TCP_KEEPINTVL, (const void*)&interval, sizeof(interval)) ||
setsockopt(context->sock, IPPROTO_TCP, TCP_KEEPCNT, (const void*)&counter, sizeof(counter));
#endif
+4 -1
View File
@@ -387,7 +387,8 @@ static void print_usage(void)
printf(" Not recommended in conjunction with the -c option.\n");
printf(" -v : verbose mode - enable all logging types. This overrides\n");
printf(" any logging options given in the config file.\n");
printf(" --tls-keylog : Log TLS connection information to a file, to allow\n");
printf(" --test-config : test config file and exit\n");
printf(" --tls-keylog : log TLS connection information to a file, to allow\n");
printf(" debugging with e.g. wireshark. Do not use on a production\n");
printf(" server.\n");
printf("\nSee https://mosquitto.org/ for more information.\n\n");
@@ -454,6 +455,8 @@ int config__parse_args(struct mosquitto__config *config, int argc, char *argv[])
#endif
}else if(!strcmp(argv[i], "-v") || !strcmp(argv[i], "--verbose")){
db.verbose = true;
}else if(!strcmp(argv[i], "--test-config")){
config->test_configuration = true;
}else{
fprintf(stderr, "Error: Unknown option '%s'.\n",argv[i]);
print_usage();
+3 -1
View File
@@ -20,6 +20,9 @@ Contributors:
#include <assert.h>
#include <time.h>
#ifdef __APPLE__
#include <sys/socket.h>
#endif
#include "mosquitto_broker_internal.h"
#include "alias_mosq.h"
@@ -318,4 +321,3 @@ void context__remove_from_by_id(struct mosquitto *context)
context->in_by_id = false;
}
}
+10
View File
@@ -264,6 +264,16 @@ int main(int argc, char *argv[])
rc = config__parse_args(&config, argc, argv);
if(rc != MOSQ_ERR_SUCCESS) return rc;
if(config.test_configuration){
if(!db.config_file){
log__printf(NULL, MOSQ_LOG_ERR, "Please provide a configuration file to test.");
return MOSQ_ERR_INVAL;
}else{
log__printf(NULL, MOSQ_LOG_INFO, "Configuration file is OK.");
return MOSQ_ERR_SUCCESS;
}
}
rc = keepalive__init();
if(rc != MOSQ_ERR_SUCCESS) return rc;
+1
View File
@@ -306,6 +306,7 @@ struct mosquitto__config {
uint16_t cmd_port[CMD_PORT_LIMIT];
int cmd_port_count;
bool daemon;
bool test_configuration;
bool enable_control_api;
int global_max_clients;
int global_max_connections;
+5 -5
View File
@@ -52,7 +52,7 @@ int mux_kqueue__add_listeners(struct mosquitto__listener_sock *listensock, int l
struct kevent ev;
int i;
memset(&event_list, 0, sizeof(struct kevent)*MAX_EVENTS);
memset(&ev, 0, sizeof(struct kevent));
for(i=0; i<listensock_count; i++){
EV_SET(&ev, listensock[i].sock, EVFILT_READ, EV_ADD, 0, 0, &listensock[i]);
@@ -91,7 +91,7 @@ int mux_kqueue__add_out(struct mosquitto *context)
struct kevent ev;
if(context->events != EVFILT_WRITE){
EV_SET(&ev, context->sock, EVFILT_WRITE, EV_ADD, 0, 0, &context);
EV_SET(&ev, context->sock, EVFILT_WRITE, EV_ADD, 0, 0, context);
if(kevent(db.kqueuefd, &ev, 1, NULL, 0, NULL) == -1){
log__printf(NULL, MOSQ_LOG_DEBUG, "Error in kqueue re-registering to EVFILT_WRITE: %s", strerror(errno));
}
@@ -107,7 +107,7 @@ int mux_kqueue__remove_out(struct mosquitto *context)
struct kevent ev;
if(context->events == EVFILT_WRITE){
EV_SET(&ev, context->sock, EVFILT_WRITE, EV_DELETE, 0, 0, &context);
EV_SET(&ev, context->sock, EVFILT_WRITE, EV_DELETE, 0, 0, context);
if(kevent(db.kqueuefd, &ev, 1, NULL, 0, NULL) == -1){
log__printf(NULL, MOSQ_LOG_DEBUG, "Error in kqueue removing EVFILT_WRITE: %s", strerror(errno));
}
@@ -137,8 +137,8 @@ int mux_kqueue__delete(struct mosquitto *context)
struct kevent ev[2];
if(context->sock != INVALID_SOCKET){
EV_SET(&ev[0], context->sock, EVFILT_READ, EV_DELETE, 0, 0, &context);
EV_SET(&ev[1], context->sock, EVFILT_WRITE, EV_DELETE, 0, 0, &context);
EV_SET(&ev[0], context->sock, EVFILT_READ, EV_DELETE, 0, 0, context);
EV_SET(&ev[1], context->sock, EVFILT_WRITE, EV_DELETE, 0, 0, context);
if(kevent(db.kqueuefd, ev, 2, NULL, 0, NULL) == -1){
return 1;
}
+1 -1
View File
@@ -198,7 +198,7 @@ test-broker : build
test : test-broker test-lib
clean :
-rm -rf mosq_test bridge_topic_test keepalive_test persist_read_test persist_write_test
-rm -rf mosq_test bridge_topic_test keepalive_test persist_read_test persist_write_test subs_test
-rm -rf *.o *.gcda *.gcno coverage.info out/
coverage :
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl .
fi
-16
View File
@@ -1,16 +0,0 @@
#!/bin/bash
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
sudo apt-get update -qq
sudo apt-get install -y debhelper libc-ares-dev libssl-dev libwrap0-dev python-all python3-all uthash-dev xsltproc docbook-xsl libcunit1-dev
git clone https://github.com/DaveGamble/cJSON
make -C cJSON
sudo make PREFIX=/usr -C cJSON install
fi
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
HOMEBREW_NO_AUTO_UPDATE=1 brew install c-ares cjson openssl libwebsockets
fi
sudo pip install paho-mqtt