Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thingsboard gw #291

Closed
wants to merge 2 commits into from
Closed

Thingsboard gw #291

wants to merge 2 commits into from

Conversation

hmenn
Copy link
Contributor

@hmenn hmenn commented Nov 17, 2020

No description provided.

@shr-project
Copy link
Contributor

shr-project commented Nov 19, 2020 via email

@hmenn
Copy link
Contributor Author

hmenn commented Nov 23, 2020

@shr-project Hi, this commits were added into master-next as it's. Moving thingsboard-gateway under meta-python might not be good. By the way, thingsboard-gateway also has other dependecies from meta-python. So, I think it should be integrated like this. If some one wants to use this recipe, should add meta-python into bblayers as well.

@kraj
Copy link
Contributor

kraj commented Nov 24, 2020

@shr-project Hi, this commits were added into master-next as it's. Moving thingsboard-gateway under meta-python might not be good. By the way, thingsboard-gateway also has other dependecies from meta-python. So, I think it should be integrated like this. If some one wants to use this recipe, should add meta-python into bblayers as well.

@hmenn this changeset caused a bit of work for me. Please look at the commits in meta-oe how its handled with dynamic-layers. I should have noticed this earlier but I test meta-oe and meta-python together and such issues go unnoticed. But @shr-project is right, we do not want the layer to have hard dependency introduced.

@kraj
Copy link
Contributor

kraj commented Nov 24, 2020

This has been merged via
5f17ce6
4fb0fb9
121c94e

@kraj kraj closed this Nov 24, 2020
@hmenn
Copy link
Contributor Author

hmenn commented Nov 24, 2020

@kraj Thanks a lot. I'll check commits carefully.

kraj pushed a commit to YoeDistro/meta-openembedded that referenced this pull request Feb 8, 2021
- drop patch install-protocol.patch: upstream
- add new cjson and dlt-daemon dependencies
- update copyright and license
- add build of manpages optionally via PACKAGECONFIG
- also install the new mosquitto_ctrl and mosquitto_dynamic_security.so tools

2.0.7 - 2021-02-04
==================

Broker:
- Fix exporting of executable symbols on BSD when building via makefile.
- Fix some minor memory leaks on exit only.
- Fix possible memory leak on connect. Closes #2057.
- Fix openssl engine not being able to load private key. Closes #2066.

Clients:
- Fix config files truncating options after the first space. Closes #2059.

Build:
- Fix man page building to not absolutely require xsltproc when using CMake.
  This now handles the case where we are building from the released tar, or
  building from git if xsltproc is available, or building from git if xsltproc
  is not available.

1.6.13 - 2021-02-04
===================

Broker:
- Fix crash on Windows if loading a plugin fails. Closes #1866.
- Fix DH group not being set for TLS connections, which meant ciphers using
  DHE couldn't be used. Closes #1925. Closes #1476.
- Fix local bridges being disconnected on SIGHUP. Closes #1942.
- Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2
  messages. Closes #1968.
- Fix listener not being reassociated with client when reloading a persistence
  file and `per_listener_settings true` is set and the client did not set a
  username. Closes #1891.
- Fix file logging on Windows. Closes #1880.
- Fix bridge sock not being removed from sock hash on error. Closes #1897.

Client library:
- Fix build on Mac Big Sur. Closes #1905.
- Fix DH group not being set for TLS connections, which meant ciphers using
  DHE couldn't be used. Closes #1925. Closes #1476.

Clients:
- mosquitto_sub will now quit with an error if the %U option is used on
  Windows, rather than just quitting. Closes #1908.
- Fix config files truncating options after the first space. Closes #2059.

Apps:
- Perform stricter parsing of input username in mosquitto_passwd. Closes
  #570126 (Eclipse bugzilla).

Build:
- Enable epoll support in CMake builds.

2.0.6 - 2021-01-28
==================

Broker:
- Fix calculation of remaining length parameter for websockets clients that
  send fragmented packets. Closes #1974.
Broker:
- Fix potential duplicate Will messages being sent when a will delay interval
  has been set.
- Fix message expiry interval property not being honoured in
  `mosquitto_broker_publish` and `mosquitto_broker_publish_copy`.
- Fix websockets listeners with TLS not responding. Closes #2020.
- Add notes that libsystemd-dev or similar is needed if building with systemd
  support. Closes #2019.
- Improve logging in obscure cases when a client disconnects. Closes #2017.
- Fix reloading of listeners where multiple listeners have been defined with
  the same port but different bind addresses. Closes #2029.
- Fix `message_size_limit` not applying to the Will payload. Closes #2022.
- The error topic-alias-invalid was being sent if an MQTT v5 client published
  a message with empty topic and topic alias set, but the topic alias hadn't
  already been configured on the broker. This has been fixed to send a
  protocol error, as per section 3.3.4 of the specification.
- Note in the man pages that SIGHUP reloads TLS certificates. Closes #2037.
- Fix bridges not always connecting on Windows. Closes #2043.

Apps:
- Allow command line arguments to override config file options in
  mosquitto_ctrl. Closes #2010.
- mosquitto_ctrl: produce an error when requesting a new password if both
  attempts do not match. Closes #2011.

Build:
- Fix cmake builds using `WITH_CJSON=no` not working if cJSON not found.
  Closes #2026.

Other:
- The SPDX identifiers for EDL-1.0 have been changed to BSD-3-Clause as per
  The Eclipse legal documentation generator. The licenses are identical.

2.0.5 - 2021-01-11
==================

Broker:
- Fix `auth_method` not being provided to the extended auth plugin event.
  Closes #1975.
- Fix large packets not being completely published to slow clients.
  Closes #1977.
- Fix bridge connection not relinquishing POLLOUT after messages are sent.
  Closes #1979.
- Fix apparmor incorrectly denying access to
  /var/lib/mosquitto/mosquitto.db.new. Closes #1978.
- Fix potential intermittent initial bridge connections when using poll().
- Fix `bind_interface` option. Closes #1999.
- Fix invalid behaviour in dynsec plugin if a group or client is deleted
  before a role that was attached to the group or client is deleted.
  Closes #1998.
- Improve logging in dynsec addGroupRole command. Closes #2005.
- Improve logging in dynsec addGroupClient command. Closes #2008.

Client library:
- Improve documentation around the `_v5()` and non-v5 functions, e.g.
  `mosquitto_publish()` and `mosquitto_publish_v5().

Build:
- `install` Makefile target should depend on `all`, not `mosquitto`, to ensure
  that man pages are always built. Closes #1989.
- Fixes for lots of minor build warnings highlighted by Visual Studio.

Apps:
- Disallow control characters in mosquitto_passwd usernames.
- Fix incorrect description in mosquitto_ctrl man page. Closes #1995.
- Fix `mosquitto_ctrl dynsec getGroup` not showing roles. Closes #1997.

2.0.4 - 2020-12-22
==================

Broker:
- Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2
  messages. Closes #1968.
- mosquitto_connect_bind_async() and mosquitto_connect_bind_v5() should not
  reset the bind address option if called with bind_address == NULL.
- Fix dynamic security configuration possibly not being reloaded on Windows
  only. Closes #1962.
- Add more log messages for dynsec load/save error conditions.
- Fix websockets connections blocking non-websockets connections on Windows.
  Closes #1934.

Build:
- Fix man pages not being built when using CMake. Closes #1969.

2.0.3 - 2020-12-17
==================

Security:
- Running mosquitto_passwd with the following arguments only
  `mosquitto_passwd -b password_file username password` would cause the
  username to be used as the password.

Broker:
- Fix excessive CPU use on non-Linux systems when the open file limit is set
  high. Closes #1947.
- Fix LWT not being sent on client takeover when the existing session wasn't
  being continued. Closes #1946.
- Fix bridges possibly not completing connections when WITH_ADNS is in use.
  Closes #1960.
- Fix QoS 0 messages not being delivered if max_queued_messages was set to 0.
  Closes #1956.
- Fix local bridges being disconnected on SIGHUP. Closes #1942.
- Fix slow initial bridge connections for WITH_ADNS=no.
- Fix persistence_location not appending a '/'.

Clients:
- Fix mosquitto_sub being unable to terminate with Ctrl-C if a successful
  connection is not made. Closes #1957.

Apps:
- Fix `mosquitto_passwd -b` using username as password (not if `-c` is also
  used). Closes #1949.

Build:
- Fix `install` target when using WITH_CJSON=no. Closes #1938.
- Fix `generic` docker build. Closes #1945.

2.0.2 - 2020-12-10
==================

Broker:
- Fix build regression for WITH_WEBSOCKETS=yes on non-Linux systems.

2.0.1 - 2020-12-10
==================

Broker:
- Fix websockets connections on Windows blocking subsequent connections.
  Closes #1934.
- Fix DH group not being set for TLS connections, which meant ciphers using
  DHE couldn't be used. Closes #1925. Closes #1476.
- Fix websockets listeners not causing the main loop not to wake up.
  Closes #1936.

Client library:
- Fix DH group not being set for TLS connections, which meant ciphers using
  DHE couldn't be used. Closes #1925. Closes #1476.

Apps:
- Fix `mosquitto_passwd -U`

Build:
- Fix cjson include paths.
- Fix build using WITH_TLS=no when the openssl headers aren't available.
- Distribute cmake/ and snap/ directories in tar.

2.0.0 - 2020-12-03
==================

Breaking changes:
- When the Mosquitto broker is run without configuring any listeners it will
  now bind to the loopback interfaces 127.0.0.1 and/or ::1. This means that
  only connections from the local host will be possible.

  Running the broker as `mosquitto` or `mosquitto -p 1883` will bind to the
  loopback interface.

  Running the broker with a configuration file with no listeners configured
  will bind to the loopback interface with port 1883.

  Running the broker with a listener defined will bind by default to `0.0.0.0`
  / `::` and so will be accessible from any interface. It is still possible to
  bind to a specific address/interface.

  If the broker is run as `mosquitto -c mosquitto.conf -p 1884`, and a
  listener is defined in the configuration file, then the port defined on the
  command line will be IGNORED, and no listener configured for it.
- All listeners now default to `allow_anonymous false` unless explicitly set
  to true in the configuration file. This means that when configuring a
  listener the user must either configure an authentication and access control
  method, or set `allow_anonymous true`. When the broker is run without a
  configured listener, and so binds to the loopback interface, anonymous
  connections are allowed.
- If Mosquitto is run on as root on a unix like system, it will attempt to
  drop privileges as soon as the configuration file has been read. This is in
  contrast to the previous behaviour where elevated privileges were only
  dropped after listeners had been started (and hence TLS certificates loaded)
  and logging had been started. The change means that clients will never be
  able to connect to the broker when it is running as root, unless the user
  explicitly sets it to run as root, which is not advised. It also means that
  all locations that the broker needs to access must be available to the
  unprivileged user. In particular those people using TLS certificates from
  Lets Encrypt will need to do something to allow Mosquitto to access
  those certificates. An example deploy renewal hook script to help with this
  is at `misc/letsencrypt/mosquitto-copy.sh`.
  The user that Mosquitto will change to are the one provided in the
  configuration, `mosquitto`, or `nobody`, in order of availability.
- The `pid_file` option will now always attempt to write a pid file,
  regardless of whether the `-d` argument is used when running the broker.
- The `tls_version` option now defines the *minimum* TLS protocol version to
  be used, rather than the exact version. Closes #1258.
- The `max_queued_messages` option has been increased from 100 to 1000 by
  default, and now also applies to QoS 0 messages, when a client is connected.
- The mosquitto_sub, mosquitto_pub, and mosquitto_rr clients will now load
  OS provided CA certificates by default if `-L mqtts://...` is used, or if
  the port is set to 8883 and no other CA certificates are loaded.
- Minimum support libwebsockets version is now 2.4.0
- The license has changed from "EPL-1.0 OR EDL-1.0" to "EPL-2.0 OR EDL-1.0".

Broker features:
- New plugin interface which is more flexible, easier to develop for and
  easier to extend.
- New dynamic security plugin, which allows clients, groups, and roles to be
  defined and updated as the broker is running.
- Performance improvements, particularly for higher numbers of clients.
- When running as root, if dropping privileges to the "mosquitto" user fails,
  then try "nobody" instead. This reduces the burden on users installing
  Mosquitto themselves.
- Add support for Unix domain socket listeners.
- Add `bridge_outgoing_retain` option, to allow outgoing messages from a
  bridge to have the retain bit completely disabled, which is useful when
  bridging to e.g. Amazon or Google.
- Add support for MQTT v5 bridges to handle the "retain-available" property
  being false.
- Allow MQTT v5.0 outgoing bridges to fall back to MQTT v3.1.1 if connecting
  to a v3.x only broker.
- DLT logging is now configurable at runtime with `log_dest dlt`.
  Closes #1735.
- Add `mosquitto_broker_publish()` and `mosquitto_broker_publish_copy()`
  functions, which can be used by plugins to publish messages.
- Add `mosquitto_client_protocol_version()` function which can be used by
  plugins to determine which version of MQTT a client has connected with.
- Add `mosquitto_kick_client_by_clientid()` and `mosquitto_kick_client_by_username()`
  functions, which can be used by plugins to disconnect clients.
- Add support for handling $CONTROL/ topics in plugins.
- Add support for PBKDF2-SHA512 password hashing.
- Enabling certificate based TLS encryption is now through certfile and
  keyfile, not capath or cafile.
- Added support for controlling UNSUBSCRIBE calls in v5 plugin ACL checks.
- Add "deny" acl type. Closes #1611.
- The broker now sends the receive-maximum property for MQTT v5 CONNACKs.
- Add the `bridge_max_packet_size` option. Closes openembedded#265.
- Add the `bridge_bind_address` option. Closes #1311.
- TLS certificates for the server are now reloaded on SIGHUP.
- Default for max_queued_messages has been changed to 1000.
- Add `ciphers_tls1.3` option, to allow setting TLS v1.3 ciphersuites.
  Closes #1825.
- Bridges now obey MQTT v5 server-keepalive.
- Add bridge support for the MQTT v5 maximum-qos property.
- Log client port on new connections. Closes #1911.

Broker fixes:
- Send DISCONNECT with `malformed-packet` reason code on invalid PUBLISH,
  SUBSCRIBE, and UNSUBSCRIBE packets.
- Document that X509_free() must be called after using
  mosquitto_client_certificate(). Closes #1842.
- Fix listener not being reassociated with client when reloading a persistence
  file and `per_listener_settings true` is set and the client did not set a
  username. Closes #1891.
- Fix bridge sock not being removed from sock hash on error. Closes #1897.
- mosquitto_password now forbids the : character. Closes #1833.
- Fix `log_timestamp_format` not applying to `log_dest topic`. Closes #1862.
- Fix crash on Windows if loading a plugin fails. Closes #1866.
- Fix file logging on Windows. Closes #1880.
- Report an error if the config file is set to a directory. Closes #1814.
- Fix bridges incorrectly setting Wills to manage remote notifications when
  `notifications_local_only` was set true. Closes #1902.

Client library features:
- Client no longer generates random client ids for v3.1.1 clients, these are
  now expected to be generated on the broker. This matches the behaviour for
  v5 clients. Closes openembedded#291.
- Add support for connecting to brokers through Unix domain sockets.
- Add `mosquitto_property_identifier()`, for retrieving the identifier integer
  for a property.
- Add `mosquitto_property_identifier_to_string()` for converting a property
  identifier integer to the corresponding property name string.
- Add `mosquitto_property_next()` to retrieve the next property in a list, for
  iterating over property lists.
- mosquitto_pub now handles the MQTT v5 retain-available property by never
  setting the retain bit.
- Added MOSQ_OPT_TCP_NODELAY, to allow disabling Nagle's algorithm on client
  sockets. Closes #1526.
- Add `mosquitto_ssl_get()` to allow clients to access their SSL structure and
  perform additional verification.
- Add MOSQ_OPT_BIND_ADDRESS to allow setting of a bind address independently
  of the `mosquitto_connect*()` call.
- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and
  trust OS provided CA certificates for use with TLS connections.

Client library fixes:
- Fix send quota being incorrecly reset on reconnect. Closes #1822.
- Don't use logging until log mutex is initialised. Closes #1819.
- Fix missing mach/mach_time.h header on OS X. Closes #1831.
- Fix connect properties not being sent when the client automatically
  reconnects. Closes #1846.

Client features:
- Add timeout return code (27) for `mosquitto_sub -W <secs>` and
  `mosquitto_rr -W <secs>`. Closes openembedded#275.
- Add support for connecting to brokers through Unix domain sockets with the
  `--unix` argument.
- Use cJSON library for producing JSON output, where available. Closes #1222.
- Add support for outputting MQTT v5 property information to mosquitto_sub/rr
  JSON output. Closes #1416.
- Add `--pretty` option to mosquitto_sub/rr for formatted/unformatted JSON
  output.
- Add support for v5 property printing to mosquitto_sub/rr in non-JSON mode.
  Closes #1416.
- Add `--nodelay` to all clients to allow them to use the MOSQ_OPT_TCP_NODELAY
  option.
- Add `-x` to all clients to all the session-expiry-interval property to be
  easily set for MQTT v5 clients.
- Add `--random-filter` to mosquitto_sub, to allow only a certain proportion
  of received messages to be printed.
- mosquitto_sub %j and %J timestamps are now in a ISO 8601 compatible format.
- mosquitto_sub now supports extra format specifiers for field width and
  precision for some parameters.
- Add `--version` for all clients.
- All clients now load OS provided CA certificates if used with `-L
  mqtts://...`, or if port is set to 8883 and no other CA certificates are
  used. Closes #1824.
- Add the `--tls-use-os-certs` option to all clients.

Client fixes:
- mosquitto_sub will now exit if all subscriptions were denied.
- mosquitto_pub now sends 0 length files without an error when using `-f`.
- Fix description of `-e` and `-t` arguments in mosquitto_rr. Closes #1881.
- mosquitto_sub will now quit with an error if the %U option is used on
  Windows, rather than just quitting. Closes #1908.

Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
kraj pushed a commit to YoeDistro/meta-openembedded that referenced this pull request Aug 19, 2024
- switch to meson build system

Changelog [1]:

$ git --no-pager log --oneline v1.0.4..v1.0.5
098d985 (tag: v1.0.5) Merge pull request openembedded#312 from cgwalters/release
0fae8a8 Release 1.0.5
9bdc377 Merge pull request openembedded#310 from cgwalters/symlink-limit
b06ea9b Verify payload length early on
3beb011 Merge pull request openembedded#308 from cgwalters/minor-rust-lints
a695ad4 Merge pull request openembedded#309 from giuseppe/libcomposefs-drop-ro
0a0d50f libcomposefs: drop using "ro" option
b35dc83 dumpfile: Fix clippy lint
a919ab8 rust: Drop unused cfg
3a87868 Merge pull request openembedded#307 from giuseppe/not-override-errno
bb94687 Merge pull request openembedded#306 from giuseppe/mkcomposefs-report-close-errors
76b4da5 mkcompose: report close() errors
502bc27 libcomposefs: do not override errno
2d2c09d Merge pull request openembedded#304 from jluebbe/meson
0260856 meson.build: Allow use as a meson subproject
5f512ac Merge pull request openembedded#303 from cgwalters/mount-source
91a3047 mount: Consistently use `composefs` as source
45e6179 Merge pull request openembedded#302 from cgwalters/info-term
f64022f info: Add missing terminator for `longopts`
d81cb87 Merge pull request openembedded#300 from jluebbe/meson
04c8a8e ci: Add GitHub Actions workflow which uses meson
64709f6 ci: Install meson package
b6f2b75 Add meson as an alternative to autotools
942cd73 Merge pull request openembedded#299 from giuseppe/composefs-info-set-locale
5072fd7 composefs-info: specify locale to isgraph/isprint
4f19d00 Merge pull request openembedded#298 from cgwalters/rust-misc
43a1d28 rust: Add README.md files, link to crates.io
a8bc747 rust: Clarify that "composefs-core" is really "composefs"
483356c Merge pull request openembedded#297 from cgwalters/rust-include
02213c0 composefs-core: Drop incorrect `include`
dce84ff Merge pull request openembedded#295 from cgwalters/rust-descr
3d2af03 Merge pull request openembedded#296 from Kiskae/upstream-tmpdir-fix
6928fcf test: remove hardcoded /tmp
e21be07 rust: Add mandatory `description` field, other misc changes
28dc491 Merge pull request openembedded#292 from cgwalters/rust-ci-dual
59c5a27 Merge pull request openembedded#293 from cgwalters/rust-minor
689ccc6 rust: Some doc and misc tweaks
426b65d ci: Test Rust code against current C code
32b3f6e Merge pull request openembedded#291 from Kiskae/patch-1
f7465b3 use correct `composefs-info` binary

[1] containers/composefs@v1.0.4...v1.0.5

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
kraj pushed a commit to YoeDistro/meta-openembedded that referenced this pull request Aug 19, 2024
- switch to meson build system

Changelog [1]:

$ git --no-pager log --oneline v1.0.4..v1.0.5
098d985 (tag: v1.0.5) Merge pull request openembedded#312 from cgwalters/release
0fae8a8 Release 1.0.5
9bdc377 Merge pull request openembedded#310 from cgwalters/symlink-limit
b06ea9b Verify payload length early on
3beb011 Merge pull request openembedded#308 from cgwalters/minor-rust-lints
a695ad4 Merge pull request openembedded#309 from giuseppe/libcomposefs-drop-ro
0a0d50f libcomposefs: drop using "ro" option
b35dc83 dumpfile: Fix clippy lint
a919ab8 rust: Drop unused cfg
3a87868 Merge pull request openembedded#307 from giuseppe/not-override-errno
bb94687 Merge pull request openembedded#306 from giuseppe/mkcomposefs-report-close-errors
76b4da5 mkcompose: report close() errors
502bc27 libcomposefs: do not override errno
2d2c09d Merge pull request openembedded#304 from jluebbe/meson
0260856 meson.build: Allow use as a meson subproject
5f512ac Merge pull request openembedded#303 from cgwalters/mount-source
91a3047 mount: Consistently use `composefs` as source
45e6179 Merge pull request openembedded#302 from cgwalters/info-term
f64022f info: Add missing terminator for `longopts`
d81cb87 Merge pull request openembedded#300 from jluebbe/meson
04c8a8e ci: Add GitHub Actions workflow which uses meson
64709f6 ci: Install meson package
b6f2b75 Add meson as an alternative to autotools
942cd73 Merge pull request openembedded#299 from giuseppe/composefs-info-set-locale
5072fd7 composefs-info: specify locale to isgraph/isprint
4f19d00 Merge pull request openembedded#298 from cgwalters/rust-misc
43a1d28 rust: Add README.md files, link to crates.io
a8bc747 rust: Clarify that "composefs-core" is really "composefs"
483356c Merge pull request openembedded#297 from cgwalters/rust-include
02213c0 composefs-core: Drop incorrect `include`
dce84ff Merge pull request openembedded#295 from cgwalters/rust-descr
3d2af03 Merge pull request openembedded#296 from Kiskae/upstream-tmpdir-fix
6928fcf test: remove hardcoded /tmp
e21be07 rust: Add mandatory `description` field, other misc changes
28dc491 Merge pull request openembedded#292 from cgwalters/rust-ci-dual
59c5a27 Merge pull request openembedded#293 from cgwalters/rust-minor
689ccc6 rust: Some doc and misc tweaks
426b65d ci: Test Rust code against current C code
32b3f6e Merge pull request openembedded#291 from Kiskae/patch-1
f7465b3 use correct `composefs-info` binary

[1] containers/composefs@v1.0.4...v1.0.5

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants