rumqttd-0.19.0
What's New?
- π Extensible external authentication by @nathansizemore in #761
You can hook custom function for authentication using client id, username and password. This custom function can be extended as per need, for e.g. fetching credentials from DB, using tokens or spawning processes, etc. see example for setup.
- π Add support for ECC keys when configuring TLS in rumqttd by @AlexandreCassagne in #743
Previously only RSA keys were accepted, but now you can specify any TLS key formats currently supported by rustls, like ECC, PKCS8 to name a few.
Changes
Configuration related
user can specify v4 and/or v5 config. Specifying [v4.x]
in rumqttd.toml
is no longer mandatory, those who wish to only use v5 can now only include [v5.x]
in config.
specifying [console]
in rumqttd.toml
is now optional and can be safely removed if you don't wish to use console.
- CA certificate is optional if client auth is disabled
capath
in tls
config is only required is client authentication will be used ( see "verify-client-cert" feature below to know more ). Warning will be logged if the feature is disabled and capath
is being ignored.
Feature related
rumqttd will log a warning if [ws.x]
is specified in config but getting ignored due to websocket
feature is disabled.
-
"websockets" feature is removed in favour of "websocket"
-
client auth is featured gated behind "verify-client-cert" by @de-sh in #756
mutual TLS ( mTLS ) or client authentication, which is done verifying by certificates provided client is now optional with use-rustls
. capath
specifying CA certificate must be present in config file if client auth is enabled.
To enable client auth, you need to enable verify-client-cert
features ( disabled by default to match behavior of use-native-tls
)
Others
- Console endpoint
/config
prints Router Config instead of returning console settings by @swanandx in #727 - Update tungstenite and dependencies to fix CVE by @swanandx in #730
Maintainance
-
build(deps): bump webpki from 0.22.1 to 0.22.2 by @dependabot in #720
-
build(deps): bump rustix from 0.38.17 to 0.38.19 by @dependabot in #735
-
update tungstenite and other dependencies by @swanandx in #730
-
build(deps): bump openssl from 0.10.57 to 0.10.60 by @dependabot in #759
-
feat: install cross from git and cleanup by @swanandx in #716
-
chore: move rust-version from workspace to respective crates by @swanandx in #763
-
fix rust-cache with proper key and global RUSTFLAG by @swanandx in #764
New Contributors π
- @AlexandreCassagne made their first contribution in #743
- @nathansizemore made their first contribution in #761
Full Changelog: rumqttd-0.18.0...rumqttd-0.19.0