diff options
Diffstat (limited to 'src/acl.erl')
-rw-r--r-- | src/acl.erl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/acl.erl b/src/acl.erl index 57675112d..2864e4740 100644 --- a/src/acl.erl +++ b/src/acl.erl @@ -518,11 +518,16 @@ parse_ip_netmask(S) -> transform_access_rules_config(Config) -> lists:map(fun transform_access_rules_config2/1, lists:flatten(Config)). +transform_access_rules_config2(Type) when is_integer(Type); Type == allow; Type == deny -> + {Type, [all]}; +transform_access_rules_config2({Type, ACL}) when is_atom(ACL) -> + {Type, [{acl, ACL}]}; transform_access_rules_config2({Res, Rules}) when is_list(Rules) -> - {Res, lists:map(fun({Type, Args}) when is_list(Args) -> - normalize_spec({Type, hd(lists:flatten(Args))}); - (V) -> normalize_spec(V) - end, lists:flatten(Rules))}; + T = lists:map(fun({Type, Args}) when is_list(Args) -> + normalize_spec({Type, hd(lists:flatten(Args))}); + (V) -> normalize_spec(V) + end, lists:flatten(Rules)), + {Res, T}; transform_access_rules_config2({Res, Rule}) -> {Res, [Rule]}. |