From ea2fea77d795a8ba0e24cfd37aa59f684b676a15 Mon Sep 17 00:00:00 2001 From: Kjell Winblad Date: Tue, 23 May 2023 15:47:09 +0200 Subject: [PATCH] fix: RabbitMQ field not marked as required This commit makes sure that the RabbitMQ password filed is marked as required. This ensures that the user provides a password and that the bridge does not throw a function clause exception if the password filed is not set. Fixes: https://emqx.atlassian.net/browse/EMQX-9974 --- .../src/emqx_bridge_rabbitmq.app.src | 2 +- .../src/emqx_bridge_rabbitmq_connector.erl | 2 +- apps/emqx_connector/src/emqx_connector_schema_lib.erl | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq.app.src b/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq.app.src index 36f47aaf6..2b572a98c 100644 --- a/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq.app.src +++ b/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq.app.src @@ -1,6 +1,6 @@ {application, emqx_bridge_rabbitmq, [ {description, "EMQX Enterprise RabbitMQ Bridge"}, - {vsn, "0.1.0"}, + {vsn, "0.1.1"}, {registered, []}, {applications, [kernel, stdlib, ecql, rabbit_common, amqp_client]}, {env, []}, diff --git a/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq_connector.erl b/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq_connector.erl index 6f833d659..3e809d99c 100644 --- a/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq_connector.erl +++ b/apps/emqx_bridge_rabbitmq/src/emqx_bridge_rabbitmq_connector.erl @@ -72,7 +72,7 @@ fields(config) -> desc => ?DESC("username") } )}, - {password, fun emqx_connector_schema_lib:password/1}, + {password, fun emqx_connector_schema_lib:password_required/1}, {pool_size, hoconsc:mk( typerefl:pos_integer(), diff --git a/apps/emqx_connector/src/emqx_connector_schema_lib.erl b/apps/emqx_connector/src/emqx_connector_schema_lib.erl index f64208311..a277fe8c8 100644 --- a/apps/emqx_connector/src/emqx_connector_schema_lib.erl +++ b/apps/emqx_connector/src/emqx_connector_schema_lib.erl @@ -30,6 +30,7 @@ database/1, username/1, password/1, + password_required/1, auto_reconnect/1 ]). @@ -104,6 +105,14 @@ password(sensitive) -> true; password(converter) -> fun emqx_schema:password_converter/2; password(_) -> undefined. +password_required(type) -> binary(); +password_required(desc) -> ?DESC("password"); +password_required(required) -> true; +password_required(format) -> <<"password">>; +password_required(sensitive) -> true; +password_required(converter) -> fun emqx_schema:password_converter/2; +password_required(_) -> undefined. + auto_reconnect(type) -> boolean(); auto_reconnect(desc) -> ?DESC("auto_reconnect"); auto_reconnect(default) -> true;