mirror of
git://code.qt.io/qt/qt5.git
synced 2026-04-18 11:06:12 +08:00
The test broker will later be used by the mqtt tests There are 4 variants using two ports each 2883, 3883 -> Tcp 9883, 10883 -> Ssl 9080, 10080 -> WebSocket 9081, 10081 -> WebSocketSecure For each of the 4 variants we test 3 protocols: 3.1, 3.1.1, 5.0 Task-number: QTBUG-129171 Change-Id: If000dd333221e7296499fc756ef97a074cf97273 Reviewed-by: Elias Toivola <elias.toivola@qt.io> Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io> Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
149 lines
5.4 KiB
Bash
Executable File
149 lines
5.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2024 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
set -e
|
|
set -o pipefail
|
|
|
|
export PROVISIONING_DIR="${BASH_SOURCE%/*}/../../"
|
|
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
|
|
|
|
#
|
|
# The certificates are generated with
|
|
# openssl req -x509 -sha256 -nodes -newkey rsa:2048 -days 36500 -keyout localhost.key -out localhost.crt
|
|
#
|
|
# The same certificate need to be used for the tests
|
|
#
|
|
export cert_key='
|
|
-----BEGIN PRIVATE KEY-----
|
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCc1pqVlPX/22kY
|
|
vxYZ9+tluPPB8wtvzFHW02RiEFKrdU8Ey8mDBKpK+ljMvzXWC/F+aF1tLs/C7bWx
|
|
affMCU5DYq2ATMaMMcFlnj56mytIimmUwbwc1IdL1r5rRcx1FhPdytTbSsi++mY/
|
|
xGb9CNAqZFjKG6cxFv86rj4/N1sZItMadq6/xx8p6hb/ChTKCaUdQOrlrZctdldW
|
|
kMl2SMjKCFD4Az5rB7TWSgQnM+yLAGB4437xCCfq+JTjrIE143HTFPtIR38jQstf
|
|
+sZgcJ3IUqg2X9208hUbuhivs8xSgUsreDAe80Nj9vamMKDSTm7iZD0X6okCSUS5
|
|
MMrufUwdAgMBAAECggEAKs2u9q/my2M4NZbBE2lEB0kIzZ/lOSfMFhMvTEwkI8Mq
|
|
Q6bSYj19tGTKo2Zz7OzphZQ6GzgxX4O8mKTRChBoGZ/uths9/Lj/jRo49wEuOOf9
|
|
lKmjC0M9gYckBObRvArAdUGMAiVQ0D5KdZDGgrxLA6bLTK1rXcxm777qIhqbdCpN
|
|
i9RwW9wp9rMV53J8mmWWUDVpfbIKHAmp50JknXj07onPEqN6IKdZY7sYACfYiz/8
|
|
l31rKfR/P5j/aRBOFwBnq7Z3JGfOEQPmE8bxQ2Vt3ZXPK2ekreDx4j2Tz+gSZmF3
|
|
Ee8DonQtA1DTOlhMyb6FhJrEFmDr38jGQqDK4qV8iQKBgQDLoOSYzX0xcyK2dPMD
|
|
woPGcKymI+XYx0Q6cVZo1GttNarhBN0w0ms9a4SYoTMhAI9tzjJw/sU5t9kLan6n
|
|
m11PqQVK+Vbh1v2YICJW89LcOFYwyO6IAiMN1LUdy8las4GwcXRwBWWnXAnE+YJK
|
|
AiXcmB1ZX3j8pgStCF9VApC50wKBgQDFLP87pGtWW3nvkxoDpgVb1CwpO1T1EsFF
|
|
Yzv7eIkFQGUkqF7OlslhMCOERE8pj4dr4CoTIvVsYW+lYfBnFPpQ0pQ+BZ2meZ0u
|
|
GfWBDYpNGTGrxEDBc923glb2oegQQirHpiWtlinp5nciOn/rqpUwJR3b46drFlNy
|
|
26CTKA+8TwKBgQDKv8qdMo2i/QblMRD+/2CB55KgYkHrVI1ku5DUFB1awgMAxf0P
|
|
LZRFtZZy+p6UD6DALn0e8S2jSKE9sq2laRbByINSoW2WtKAQJn7KoT+kshtvu8F1
|
|
fts0XERyBITaYL2S14SePWF4ADZiACVwVy8ns/YVFPC8bvlc6Gczl7hOrQKBgQCP
|
|
BUmJSIT3GdlDlq7q8JS4fBkgO0IvldAM9aL/j/nLjl8PDPXf4e3mihVpDmdhXRO8
|
|
gtfiE5xzZeWmz3iiPMworeYLauVkaJhDZV73ogusStcFoY/bAqFTR76unNgIWwZO
|
|
1MxFskNqvtmxQT+igJRAXNvgsKuyeHpFONurggaP7wKBgCj25sAxVcOuOcANQGcO
|
|
wCNvt1pHDJengrzaKooCJqm5YxNhrcKlJsdQcQ1Mu+KyhcMY/WF/0UaJZytlHMWf
|
|
aDlF7zKqhQFqFY7nk/C7+fED7Kg3XJR54qtweVNzD6k4yTeSsvBeTd2aaepzZvJI
|
|
IOQ3RPVQNsdgjn3VTGs/rmrR
|
|
-----END PRIVATE KEY-----
|
|
'
|
|
|
|
export cert_crt='
|
|
-----BEGIN CERTIFICATE-----
|
|
MIID6zCCAtOgAwIBAgIUbbY+pKEPOOytRZ3RujmmdriEAKcwDQYJKoZIhvcNAQEL
|
|
BQAwgYMxCzAJBgNVBAYTAk5PMQ0wCwYDVQQIDARPc2xvMQ0wCwYDVQQHDARPc2xv
|
|
MQswCQYDVQQKDAJRdDELMAkGA1UECwwCUXQxEjAQBgNVBAMMCWxvY2FsaG9zdDEo
|
|
MCYGCSqGSIb3DQEJARYZZXZlbi5vc2Nhci5hbmRlcnNlbkBxdC5pbzAgFw0yNDEw
|
|
MzExMTMyNDdaGA8yMTI0MTAwNzExMzI0N1owgYMxCzAJBgNVBAYTAk5PMQ0wCwYD
|
|
VQQIDARPc2xvMQ0wCwYDVQQHDARPc2xvMQswCQYDVQQKDAJRdDELMAkGA1UECwwC
|
|
UXQxEjAQBgNVBAMMCWxvY2FsaG9zdDEoMCYGCSqGSIb3DQEJARYZZXZlbi5vc2Nh
|
|
ci5hbmRlcnNlbkBxdC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
|
AJzWmpWU9f/baRi/Fhn362W488HzC2/MUdbTZGIQUqt1TwTLyYMEqkr6WMy/NdYL
|
|
8X5oXW0uz8LttbFp98wJTkNirYBMxowxwWWePnqbK0iKaZTBvBzUh0vWvmtFzHUW
|
|
E93K1NtKyL76Zj/EZv0I0CpkWMobpzEW/zquPj83Wxki0xp2rr/HHynqFv8KFMoJ
|
|
pR1A6uWtly12V1aQyXZIyMoIUPgDPmsHtNZKBCcz7IsAYHjjfvEIJ+r4lOOsgTXj
|
|
cdMU+0hHfyNCy1/6xmBwnchSqDZf3bTyFRu6GK+zzFKBSyt4MB7zQ2P29qYwoNJO
|
|
buJkPRfqiQJJRLkwyu59TB0CAwEAAaNTMFEwHQYDVR0OBBYEFGGxHowwihBbJlM5
|
|
2wzicQa2sCfwMB8GA1UdIwQYMBaAFGGxHowwihBbJlM52wzicQa2sCfwMA8GA1Ud
|
|
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBACf4lUaBpw65tOZk32EpMD0D
|
|
M0ilx1AwfUqliKdhVvkFJ6jN5h17YhVjFoGtSzE7ry5Rg5J07tUK5Xkjcfk39UWV
|
|
RofVnRhrtiticXs0eXQkDXqao0aMjUjsWiokr4/cTNT5R3h9jmjzyjA6pWf2oSjT
|
|
GTzZAHdcuBTUfvPy/Ff4M5AVNsI6geUqrUd6XzFwQsDWTT86sdWQIC8j+FMghhss
|
|
9XRNOmhWtWGSRbP0HqlWOz5hFRPP/faI/FGTknzkkVYoWaB1CR+ThFK9jYi0FnFL
|
|
2fIcJPt+6g6d01Ws5cb9HpL9joUloCjsZ+w6PXYNVyHTaG3Lg5o4nT1Oizvrq1k=
|
|
-----END CERTIFICATE-----
|
|
'
|
|
|
|
export mosquitto_conf='
|
|
listener 2883
|
|
protocol mqtt
|
|
allow_anonymous true
|
|
max_connections -1
|
|
|
|
listener 3883
|
|
protocol mqtt
|
|
allow_anonymous true
|
|
max_connections -1
|
|
|
|
listener 9883
|
|
protocol mqtt
|
|
allow_anonymous true
|
|
max_connections -1
|
|
keyfile /etc/mosquitto/certs/localhost.key
|
|
certfile /etc/mosquitto/certs/localhost.crt
|
|
#tls_version tlsv1
|
|
|
|
listener 10883
|
|
protocol mqtt
|
|
allow_anonymous true
|
|
max_connections -1
|
|
keyfile /etc/mosquitto/certs/localhost.key
|
|
certfile /etc/mosquitto/certs/localhost.crt
|
|
#tls_version tlsv1
|
|
|
|
listener 9080
|
|
protocol websockets
|
|
allow_anonymous true
|
|
max_connections -1
|
|
|
|
listener 10080
|
|
protocol websockets
|
|
allow_anonymous true
|
|
max_connections -1
|
|
|
|
listener 9081
|
|
protocol websockets
|
|
allow_anonymous true
|
|
max_connections -1
|
|
keyfile /etc/mosquitto/certs/localhost.key
|
|
certfile /etc/mosquitto/certs/localhost.crt
|
|
tls_version tlsv1
|
|
|
|
listener 10081
|
|
protocol websockets
|
|
allow_anonymous true
|
|
max_connections -1
|
|
keyfile /etc/mosquitto/certs/localhost.key
|
|
certfile /etc/mosquitto/certs/localhost.crt
|
|
tls_version tlsv1
|
|
'
|
|
|
|
export setVariable=`grep MQTT_TEST_ALL_BROKERS_RUNNING /etc/profile`
|
|
if [ -z "${setVariable}" ]; then
|
|
sudo sh -c "echo \"export MQTT_TEST_ALL_BROKERS_RUNNING=1\" >> /etc/profile"
|
|
fi
|
|
|
|
${CMD_PKG_INSTALL} mosquitto
|
|
sudo sh -c "echo \"$cert_key\" > /etc/mosquitto/certs/localhost.key"
|
|
sudo sh -c "echo \"$cert_crt\" > /etc/mosquitto/certs/localhost.crt"
|
|
sudo sh -c "echo \"$mosquitto_conf\" > /etc/mosquitto/conf.d/mqtt.conf"
|
|
|
|
sudo chmod 0755 /etc/mosquitto
|
|
sudo chmod 0600 /etc/mosquitto/certs/localhost.key
|
|
sudo chmod 0600 /etc/mosquitto/certs/localhost.crt
|
|
sudo chmod 0644 /etc/mosquitto/conf.d/mqtt.conf
|
|
|
|
sudo chown mosquitto /etc/mosquitto/certs/localhost.key
|
|
sudo chown mosquitto /etc/mosquitto/certs/localhost.crt
|
|
sudo chown mosquitto /etc/mosquitto/conf.d/mqtt.conf
|
|
|
|
sudo systemctl restart mosquitto
|
|
sudo systemctl enable mosquitto
|