From dcccc0910aad87d289dff5bd2a2aa6c7625a2b36 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Wed, 17 May 2023 11:44:19 -0300 Subject: [PATCH] fix(pulsar): mark whole auth struct as sensitive (r5.0) Fixes https://emqx.atlassian.net/browse/EMQX-9900 I tried to patch hocon itself to filter the sensitive data, but the way it's currently structured doesn't seem to keep that field metadata. So, for now, we can just mark the whole auth union as sensitive. --- apps/emqx_bridge_pulsar/src/emqx_bridge_pulsar.erl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/emqx_bridge_pulsar/src/emqx_bridge_pulsar.erl b/apps/emqx_bridge_pulsar/src/emqx_bridge_pulsar.erl index 5a87d8a0c..56c20130c 100644 --- a/apps/emqx_bridge_pulsar/src/emqx_bridge_pulsar.erl +++ b/apps/emqx_bridge_pulsar/src/emqx_bridge_pulsar.erl @@ -46,7 +46,14 @@ fields(config) -> )}, {authentication, mk(hoconsc:union([none, ref(auth_basic), ref(auth_token)]), #{ - default => none, desc => ?DESC("authentication") + default => none, + %% must mark this whole union as sensitive because + %% hocon ignores the `sensitive' metadata in struct + %% fields... Also, when trying to type check a struct + %% that doesn't match the intended type, it won't have + %% sensitivity information from sibling types. + sensitive => true, + desc => ?DESC("authentication") })} ] ++ emqx_connector_schema_lib:ssl_fields(); fields(producer_opts) ->