From d4bf658e38f720703552a209a6415850357fc609 Mon Sep 17 00:00:00 2001 From: firest Date: Fri, 12 Aug 2022 16:36:54 +0800 Subject: [PATCH] fix(dashboard): add bootstrap user tag && return error when adding bootstrap user fails --- .../src/emqx_dashboard_admin.erl | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl index 85f145595..7f5c31771 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl @@ -56,6 +56,7 @@ ]). -type emqx_admin() :: #?ADMIN{}. +-define(BOOTSTRAP_USER_TAG, <<"bootstrap user">>). %%-------------------------------------------------------------------- %% Mnesia bootstrap @@ -314,7 +315,7 @@ add_default_user(Username, Password) -> add_bootstrap_user(File) -> case file:open(File, [read]) of {ok, Dev} -> - {ok, MP} = re:compile(<<"(\.+):(\.+)">>), + {ok, MP} = re:compile(<<"(\.+):(\.+$)">>, [ungreedy]), try load_bootstrap_user(Dev, MP) catch @@ -331,13 +332,16 @@ load_bootstrap_user(Dev, MP) -> case file:read_line(Dev) of {ok, Line} -> case re:run(Line, MP, [global, {capture, all_but_first, binary}]) of - {match, Captured} -> - _ = [add_user(Username, Password, <<>>) || [Username, Password] <- Captured], - ok; + {match, [[Username, Password]]} -> + case add_user(Username, Password, ?BOOTSTRAP_USER_TAG) of + {ok, _} -> + load_bootstrap_user(Dev, MP); + Error -> + Error + end; _ -> - ok - end, - load_bootstrap_user(Dev, MP); + load_bootstrap_user(Dev, MP) + end; eof -> ok; Error ->