diff options
author | Volodymyr Vorobiov <volodymyr.vorobiov@globallogic.com> | 2021-03-17 14:58:45 +0200 |
---|---|---|
committer | Volodymyr Vorobiov <volodymyr.vorobiov@globallogic.com> | 2021-03-17 14:58:45 +0200 |
commit | c6fe7a330829d5214eca17c33572bcbba1ffd70e (patch) | |
tree | e05c8c8fc2bc8ae9d1a0d672a242db08f74a0956 /recipes-connectivity/mosquitto | |
parent | 5850ffe57f1ecf177625ee62ef8b3e9fd5522221 (diff) | |
download | meta-mlinux-c6fe7a330829d5214eca17c33572bcbba1ffd70e.tar.gz meta-mlinux-c6fe7a330829d5214eca17c33572bcbba1ffd70e.tar.bz2 meta-mlinux-c6fe7a330829d5214eca17c33572bcbba1ffd70e.zip |
[MTX-3843] mPower R. Apr 2021: GP-1039 Security - MQTT - Config for TLS Update mosquitto to v 1.6.14
Diffstat (limited to 'recipes-connectivity/mosquitto')
-rw-r--r-- | recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.conf (renamed from recipes-connectivity/mosquitto/mosquitto/mosquitto.conf) | 0 | ||||
-rw-r--r-- | recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.default (renamed from recipes-connectivity/mosquitto/mosquitto/mosquitto.default) | 0 | ||||
-rwxr-xr-x | recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.init | 96 | ||||
-rw-r--r-- | recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.logrotate.conf (renamed from recipes-connectivity/mosquitto/mosquitto/mosquitto.logrotate.conf) | 0 | ||||
-rw-r--r-- | recipes-connectivity/mosquitto/mosquitto/1571.patch | 22 | ||||
-rw-r--r-- | recipes-connectivity/mosquitto/mosquitto/install-protocol.patch | 14 | ||||
-rw-r--r--[-rwxr-xr-x] | recipes-connectivity/mosquitto/mosquitto/mosquitto.init | 7 | ||||
-rw-r--r-- | recipes-connectivity/mosquitto/mosquitto_1.6.14.bb | 87 | ||||
-rw-r--r-- | recipes-connectivity/mosquitto/mosquitto_1.6.14.bbappend (renamed from recipes-connectivity/mosquitto/mosquitto_1.6.10.bbappend) | 2 |
9 files changed, 220 insertions, 8 deletions
diff --git a/recipes-connectivity/mosquitto/mosquitto/mosquitto.conf b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.conf index 6b861d6..6b861d6 100644 --- a/recipes-connectivity/mosquitto/mosquitto/mosquitto.conf +++ b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.conf diff --git a/recipes-connectivity/mosquitto/mosquitto/mosquitto.default b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.default index be7dcd5..be7dcd5 100644 --- a/recipes-connectivity/mosquitto/mosquitto/mosquitto.default +++ b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.default diff --git a/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.init b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.init new file mode 100755 index 0000000..21bffe6 --- /dev/null +++ b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.init @@ -0,0 +1,96 @@ +#! /bin/sh + +# Based on the Debian initscript for mosquitto + +### BEGIN INIT INFO +# Provides: mosquitto +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: mosquitto MQTT message broker +# Description: +# This is a message broker that supports version 3.1/3.1.1 of the MQ Telemetry +# Transport (MQTT) protocol. +# +# MQTT provides a method of carrying out messaging using a publish/subscribe +# model. It is lightweight, both in terms of bandwidth usage and ease of +# implementation. This makes it particularly useful at the edge of the network +# where a sensor or other simple device may be implemented using an arduino for +# example. +### END INIT INFO + +## mlinux +ENABLED="yes" + +[ -f /etc/default/mosquitto ] && . /etc/default/mosquitto +[ "$ENABLED" = "yes" ] || exit +## mlinux + +set -e + +PIDFILE=@LOCALSTATEDIR@/run/mosquitto.pid +DAEMON=@SBINDIR@/mosquitto + +# start and stop the mosquitto MQTT message broker + +test -x ${DAEMON} || exit 0 + +umask 022 + +. @SYSCONFDIR@/init.d/functions + +export PATH="${PATH:+$PATH:}@SBINDIR@:@BASE_SBINDIR@" + +case "$1" in + start) + echo "Starting Mosquitto message broker" "mosquitto" + if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then + exit 0 + else + exit 1 + fi + ;; + stop) + echo "Stopping Mosquitto message broker" "mosquitto" + if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then + rm -f ${PIDFILE} + exit 0 + else + exit 1 + fi + ;; + + + reload|force-reload) + if [ -f ${PIDFILE} ] ; then + echo "Reloading configuration for mosquitto" + pid=`cat ${PIDFILE}` + kill -HUP $pid + else + echo "mosquitto does not seem to be running" + fi + ;; + + restart) + echo "Restarting Mosquitto message broker" "mosquitto" + if start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${PIDFILE}; then + rm -f ${PIDFILE} + fi + if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then + exit 0 + else + exit 1 + fi + ;; + + status) + status ${DAEMON} && exit 0 || exit $? + ;; + + *) + echo "Usage: $0 {start|stop|reload|force-reload|restart|status}" + exit 1 +esac + +exit 0 diff --git a/recipes-connectivity/mosquitto/mosquitto/mosquitto.logrotate.conf b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.logrotate.conf index 5f4779b..5f4779b 100644 --- a/recipes-connectivity/mosquitto/mosquitto/mosquitto.logrotate.conf +++ b/recipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.logrotate.conf diff --git a/recipes-connectivity/mosquitto/mosquitto/1571.patch b/recipes-connectivity/mosquitto/mosquitto/1571.patch new file mode 100644 index 0000000..93ff6bc --- /dev/null +++ b/recipes-connectivity/mosquitto/mosquitto/1571.patch @@ -0,0 +1,22 @@ +Upstream-Status: Submitted [https://github.com/eclipse/mosquitto/pull/1571] +From 3fe5468f1bdca1bff1d18cf43c9e338f41aa9e32 Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> +Date: Wed, 22 Jan 2020 12:39:49 +0100 +Subject: [PATCH] Add dynamic symbols linking with cmake too + +Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> +--- + lib/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -89,6 +89,8 @@ + OUTPUT_NAME mosquitto + VERSION ${VERSION} + SOVERSION 1 ++ LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linker.version ++ LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linker.version" + ) + + install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") diff --git a/recipes-connectivity/mosquitto/mosquitto/install-protocol.patch b/recipes-connectivity/mosquitto/mosquitto/install-protocol.patch new file mode 100644 index 0000000..1397fc6 --- /dev/null +++ b/recipes-connectivity/mosquitto/mosquitto/install-protocol.patch @@ -0,0 +1,14 @@ +Description: Also install mqtt_protocol.h, as is done in Makefile +Author: Gianfranco Costamagna <locutusofborg@debian.org> +Bug-Debian: https://bugs.debian.org/951116 +Forwarded: https://github.com/eclipse/mosquitto/pull/1599 +Last-Update: 2020-02-15 + +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -114,4 +114,4 @@ + install(TARGETS libmosquitto_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") + endif (WITH_STATIC_LIBRARIES) + +-install(FILES mosquitto.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++install(FILES mqtt_protocol.h mosquitto.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/recipes-connectivity/mosquitto/mosquitto/mosquitto.init b/recipes-connectivity/mosquitto/mosquitto/mosquitto.init index 21bffe6..9d5963c 100755..100644 --- a/recipes-connectivity/mosquitto/mosquitto/mosquitto.init +++ b/recipes-connectivity/mosquitto/mosquitto/mosquitto.init @@ -20,13 +20,6 @@ # example. ### END INIT INFO -## mlinux -ENABLED="yes" - -[ -f /etc/default/mosquitto ] && . /etc/default/mosquitto -[ "$ENABLED" = "yes" ] || exit -## mlinux - set -e PIDFILE=@LOCALSTATEDIR@/run/mosquitto.pid diff --git a/recipes-connectivity/mosquitto/mosquitto_1.6.14.bb b/recipes-connectivity/mosquitto/mosquitto_1.6.14.bb new file mode 100644 index 0000000..fffe7de --- /dev/null +++ b/recipes-connectivity/mosquitto/mosquitto_1.6.14.bb @@ -0,0 +1,87 @@ +SUMMARY = "Open source MQTT implementation" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ +that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ +5, providing both an MQTT broker and several command-line clients. MQTT \ +provides a lightweight method of carrying out messaging using a \ +publish/subscribe model. " +HOMEPAGE = "http://mosquitto.org/" +SECTION = "console/network" +LICENSE = "EPL-1.0 | EDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \ + file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \ + file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \ + file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \ +" +DEPENDS = "uthash" + +SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ + file://mosquitto.init \ + file://1571.patch \ + file://install-protocol.patch \ +" + +SRC_URI[md5sum] = "f1746b2a074f6a576e4bc302f3fffee0" +SRC_URI[sha256sum] = "5ea7e342bfbd212a0addb915036be168040dea945e5de5fe739c43c5ff3823e4" + +inherit systemd update-rc.d useradd cmake + +PACKAGECONFIG ??= "ssl dlt websockets \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" +PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC_OFF,openssl" +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" +PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" +PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" + +EXTRA_OECMAKE = " \ + -DWITH_BUNDLED_DEPS=OFF \ + -DWITH_ADNS=ON \ +" + +do_install_append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service + + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${sysconfdir}/init.d/mosquitto +} + +PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" + +PACKAGE_BEFORE_PN = "${PN}-examples" + +FILES_${PN} = "${sbindir}/mosquitto \ + ${bindir}/mosquitto_passwd \ + ${sysconfdir}/mosquitto \ + ${sysconfdir}/init.d \ + ${systemd_unitdir}/system/mosquitto.service \ +" + +CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" + +FILES_libmosquitto1 = "${libdir}/libmosquitto.so.*" + +FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.*" + +FILES_${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ + ${bindir}/mosquitto_rr \ +" + +FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example" + +SYSTEMD_SERVICE_${PN} = "mosquitto.service" + +INITSCRIPT_NAME = "mosquitto" +INITSCRIPT_PARAMS = "defaults 30" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \ + --user-group mosquitto" diff --git a/recipes-connectivity/mosquitto/mosquitto_1.6.10.bbappend b/recipes-connectivity/mosquitto/mosquitto_1.6.14.bbappend index a03e26e..76906f7 100644 --- a/recipes-connectivity/mosquitto/mosquitto_1.6.10.bbappend +++ b/recipes-connectivity/mosquitto/mosquitto_1.6.14.bbappend @@ -1,4 +1,4 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-mlinux:" SRC_URI += "file://mosquitto.conf \ file://mosquitto.default \ |