summaryrefslogtreecommitdiff
path: root/src/mod_pubsub/node_default.erl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/mod_pubsub/node_default.erl16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mod_pubsub/node_default.erl b/src/mod_pubsub/node_default.erl
index 49167626..af8ad9dc 100644
--- a/src/mod_pubsub/node_default.erl
+++ b/src/mod_pubsub/node_default.erl
@@ -193,21 +193,23 @@ features() ->
%% module by implementing this function like this:
%% ```check_create_user_permission(Host, Node, Owner, Access) ->
%% node_default:check_create_user_permission(Host, Node, Owner, Access).'''</p>
-create_node_permission(_Host, ServerHost, Node, _ParentNode, Owner, Access) ->
+create_node_permission(Host, ServerHost, Node, _ParentNode, Owner, Access) ->
LOwner = jlib:jid_tolower(Owner),
{User, Server, _Resource} = LOwner,
- Allowed = case acl:match_rule(ServerHost, Access, LOwner) of
+ Allowed = case LOwner of
+ {"", Host, ""} ->
+ true; % pubsub service always allowed
+ _ ->
+ case acl:match_rule(ServerHost, Access, LOwner) of
allow ->
case Node of
["home", Server, User | _] -> true;
_ -> false
end;
_ ->
- case Owner of
- {jid, "", _, "", "", _, ""} -> true;
- _ -> false
- end
- end,
+ false
+ end
+ end,
{result, Allowed}.
%% @spec (Host, Node, Owner) ->