summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2009-08-28 16:22:37 +0000
committerChristophe Romain <christophe.romain@process-one.net>2009-08-28 16:22:37 +0000
commite29c992cbff5e498eaaf6bcd918c19b536a61fcf (patch)
treec8a39e2f893fcf4a2543bd1481b99bbc241a3468
parentfix send last item issue (diff)
secure calls to ets:lookup
SVN Revision: 2562
-rw-r--r--src/mod_pubsub/mod_pubsub.erl10
-rw-r--r--src/mod_pubsub/node_hometree.erl6
-rw-r--r--src/mod_pubsub/node_hometree_odbc.erl2
-rw-r--r--src/mod_pubsub/node_pep.erl4
4 files changed, 11 insertions, 11 deletions
diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl
index ec7a4207..e55bf607 100644
--- a/src/mod_pubsub/mod_pubsub.erl
+++ b/src/mod_pubsub/mod_pubsub.erl
@@ -3407,7 +3407,7 @@ set_xoption([_ | Opts], NewOpts) ->
is_last_item_cache_enabled({_, ServerHost, _}) ->
is_last_item_cache_enabled(ServerHost);
is_last_item_cache_enabled(Host) ->
- case ets:lookup(gen_mod:get_module_proc(Host, config), last_item_cache) of
+ case catch ets:lookup(gen_mod:get_module_proc(Host, config), last_item_cache) of
[{last_item_cache, true}] -> true;
_ -> false
end.
@@ -3431,7 +3431,7 @@ get_cached_item({_, ServerHost, _}, NodeId) ->
get_cached_item(Host, NodeId) ->
case is_last_item_cache_enabled(Host) of
true ->
- case ets:lookup(gen_mod:get_module_proc(Host, last_items), NodeId) of
+ case catch ets:lookup(gen_mod:get_module_proc(Host, last_items), NodeId) of
[{NodeId, {ItemId, Payload}}] ->
#pubsub_item{itemid = {ItemId, NodeId}, payload = Payload};
_ ->
@@ -3444,7 +3444,7 @@ get_cached_item(Host, NodeId) ->
%%%% plugin handling
plugins(Host) ->
- case ets:lookup(gen_mod:get_module_proc(Host, config), plugins) of
+ case catch ets:lookup(gen_mod:get_module_proc(Host, config), plugins) of
[{plugins, []}] -> [?STDNODE];
[{plugins, PL}] -> PL;
_ -> [?STDNODE]
@@ -3452,7 +3452,7 @@ plugins(Host) ->
select_type(ServerHost, Host, Node, Type)->
SelectedType = case Host of
{_User, _Server, _Resource} ->
- case ets:lookup(gen_mod:get_module_proc(ServerHost, config), pep_mapping) of
+ case catch ets:lookup(gen_mod:get_module_proc(ServerHost, config), pep_mapping) of
[{pep_mapping, PM}] -> proplists:get_value(Node, PM, ?PEPNODE);
_ -> ?PEPNODE
end;
@@ -3535,7 +3535,7 @@ tree_call({_User, Server, _Resource}, Function, Args) ->
tree_call(Server, Function, Args);
tree_call(Host, Function, Args) ->
?DEBUG("tree_call ~p ~p ~p",[Host, Function, Args]),
- Module = case ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
+ Module = case catch ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
[{nodetree, N}] -> N;
_ -> list_to_atom(?TREE_PREFIX ++ ?STDTREE)
end,
diff --git a/src/mod_pubsub/node_hometree.erl b/src/mod_pubsub/node_hometree.erl
index 5bb9be05..e69e866a 100644
--- a/src/mod_pubsub/node_hometree.erl
+++ b/src/mod_pubsub/node_hometree.erl
@@ -598,7 +598,7 @@ get_entity_affiliations(Host, Owner) ->
SubKey = jlib:jid_tolower(Owner),
GenKey = jlib:jid_remove_resource(SubKey),
States = mnesia:match_object(#pubsub_state{stateid = {GenKey, '_'}, _ = '_'}),
- NodeTree = case ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
+ NodeTree = case catch ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
[{nodetree, N}] -> N;
_ -> nodetree_tree
end,
@@ -655,7 +655,7 @@ get_entity_subscriptions(Host, Owner) ->
++ mnesia:match_object(
#pubsub_state{stateid = {SubKey, '_'}, _ = '_'})
end,
- NodeTree = case ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
+ NodeTree = case catch ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
[{nodetree, N}] -> N;
_ -> nodetree_tree
end,
@@ -759,7 +759,7 @@ get_pending_nodes(Host, Owner) ->
affiliation = owner,
_ = '_'}),
NodeIDs = [ID || #pubsub_state{stateid = {_, ID}} <- States],
- NodeTree = case ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
+ NodeTree = case catch ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
[{nodetree, N}] -> N;
_ -> nodetree_tree
end,
diff --git a/src/mod_pubsub/node_hometree_odbc.erl b/src/mod_pubsub/node_hometree_odbc.erl
index df9dfc35..738b3191 100644
--- a/src/mod_pubsub/node_hometree_odbc.erl
+++ b/src/mod_pubsub/node_hometree_odbc.erl
@@ -827,7 +827,7 @@ get_pending_nodes(Host, Owner) ->
affiliation = owner,
_ = '_'}),
NodeIDs = [ID || #pubsub_state{stateid = {_, ID}} <- States],
- NodeTree = case ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
+ NodeTree = case catch ets:lookup(gen_mod:get_module_proc(Host, config), nodetree) of
[{nodetree, N}] -> N;
_ -> nodetree_tree_odbc
end,
diff --git a/src/mod_pubsub/node_pep.erl b/src/mod_pubsub/node_pep.erl
index b811ee58..1ef6d0a1 100644
--- a/src/mod_pubsub/node_pep.erl
+++ b/src/mod_pubsub/node_pep.erl
@@ -172,7 +172,7 @@ get_entity_affiliations(_Host, Owner) ->
SubKey = jlib:jid_tolower(Owner),
GenKey = jlib:jid_remove_resource(SubKey),
States = mnesia:match_object(#pubsub_state{stateid = {GenKey, '_'}, _ = '_'}),
- NodeTree = case ets:lookup(gen_mod:get_module_proc(D, config), nodetree) of
+ NodeTree = case catch ets:lookup(gen_mod:get_module_proc(D, config), nodetree) of
[{nodetree, N}] -> N;
_ -> nodetree_tree
end,
@@ -204,7 +204,7 @@ get_entity_subscriptions(_Host, Owner) ->
++ mnesia:match_object(
#pubsub_state{stateid = {SubKey, '_'}, _ = '_'})
end,
- NodeTree = case ets:lookup(gen_mod:get_module_proc(D, config), nodetree) of
+ NodeTree = case catch ets:lookup(gen_mod:get_module_proc(D, config), nodetree) of
[{nodetree, N}] -> N;
_ -> nodetree_tree
end,