summaryrefslogtreecommitdiff
path: root/recipes-connectivity/mosquitto
diff options
context:
space:
mode:
authorVolodymyr Vorobiov <volodymyr.vorobiov@globallogic.com>2021-03-17 14:58:45 +0200
committerVolodymyr Vorobiov <volodymyr.vorobiov@globallogic.com>2021-03-17 14:58:45 +0200
commitc6fe7a330829d5214eca17c33572bcbba1ffd70e (patch)
treee05c8c8fc2bc8ae9d1a0d672a242db08f74a0956 /recipes-connectivity/mosquitto
parent5850ffe57f1ecf177625ee62ef8b3e9fd5522221 (diff)
downloadmeta-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-xrecipes-connectivity/mosquitto/mosquitto-mlinux/mosquitto.init96
-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.patch22
-rw-r--r--recipes-connectivity/mosquitto/mosquitto/install-protocol.patch14
-rw-r--r--[-rwxr-xr-x]recipes-connectivity/mosquitto/mosquitto/mosquitto.init7
-rw-r--r--recipes-connectivity/mosquitto/mosquitto_1.6.14.bb87
-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 \