diff --git a/apps/emqx_authz/src/emqx_authz.erl b/apps/emqx_authz/src/emqx_authz.erl index af77390d5..e0e584806 100644 --- a/apps/emqx_authz/src/emqx_authz.erl +++ b/apps/emqx_authz/src/emqx_authz.erl @@ -198,6 +198,7 @@ post_config_update({{replace_once, Type}, #{type := Type} = Source}, _NewSources {Index, OldSource} = find_source_by_type(Type, OldInitedSources), case maps:get(type, OldSource, undefined) of undefined -> ok; + file -> ok; _ -> #{annotations := #{id := Id}} = OldSource, ok = emqx_resource:remove(Id) diff --git a/apps/emqx_authz/src/emqx_authz_api_sources.erl b/apps/emqx_authz/src/emqx_authz_api_sources.erl index df62a418a..00d0a5b7a 100644 --- a/apps/emqx_authz/src/emqx_authz_api_sources.erl +++ b/apps/emqx_authz/src/emqx_authz_api_sources.erl @@ -304,7 +304,7 @@ sources(get, _) -> {ok, Rules} = file:consult(Path), lists:append(AccIn, [#{type => file, enable => true, - rules => [ iolist_to_binary(io_lib:format("~p", [R])) || R <- Rules], + rules => [ iolist_to_binary(io_lib:format("~p.", [R])) || R <- Rules], annotations => #{status => healthy} }]); (#{type := _Type, annotations := #{id := Id}} = Source, AccIn) -> @@ -372,7 +372,7 @@ source(get, #{bindings := #{type := Type}}) -> {ok, Rules} = file:consult(Path), {200, #{type => file, enable => true, - rules => [ iolist_to_binary(io_lib:format("~p", [R])) || R <- Rules], + rules => [ iolist_to_binary(io_lib:format("~p.", [R])) || R <- Rules], annotations => #{status => healthy} } }; @@ -395,7 +395,7 @@ source(get, #{bindings := #{type := Type}}) -> end, {200, read_cert(NSource2)} end; -source(put, #{bindings := #{type := file}, body := #{<<"type">> := <<"file">>, <<"rules">> := Rules, <<"enable">> := Enable}}) -> +source(put, #{bindings := #{type := <<"file">>}, body := #{<<"type">> := <<"file">>, <<"rules">> := Rules, <<"enable">> := Enable}}) -> {ok, Filename} = write_file(maps:get(path, emqx_authz:lookup(file), ""), erlang:list_to_bitstring([<> || Rule <- Rules]) ),