From e950adc0efdebd99ffda1c892c2a93ea842d5d75 Mon Sep 17 00:00:00 2001 From: Christophe Romain Date: Thu, 16 Oct 2008 22:14:04 +0000 Subject: [PATCH] fix badarg issue on get_roster_info when allowed roster groups is not defined SVN Revision: 1657 --- ChangeLog | 5 +++++ src/mod_pubsub/mod_pubsub.erl | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4c9be11e0..1d2f7bf9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-10-17 Christophe Romain + + * src/mod_pubsub/mod_pubsub.erl: fix badarg issue on get_roster_info + when allowed roster groups is not defined + 2008-10-13 Jerome Sautret * src/odbc/ejabberd_odbc.erl: log MySQL driver messages. diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl index dffd8af75..cd168f888 100644 --- a/src/mod_pubsub/mod_pubsub.erl +++ b/src/mod_pubsub/mod_pubsub.erl @@ -491,7 +491,7 @@ handle_cast({presence, JID, Pid}, State) -> whitelist -> false; % subscribers are added manually authorize -> false; % likewise roster -> - Grps = get_option(Options, roster_groups_allowed), + Grps = get_option(Options, roster_groups_allowed, []), element(2, get_roster_info(User, Server, LJID, Grps)) end, if Subscribed -> @@ -1345,7 +1345,7 @@ subscribe_node(Host, Node, From, JID) -> SubscribeConfig = get_option(Options, subscribe), AccessModel = get_option(Options, access_model), SendLast = get_option(Options, send_last_published_item), - AllowedGroups = get_option(Options, roster_groups_allowed), + AllowedGroups = get_option(Options, roster_groups_allowed, []), {PresenceSubscription, RosterGroup} = case Host of {OUser, OServer, _} -> @@ -1661,7 +1661,7 @@ get_items(Host, Node, From, SubId, SMaxItems, ItemIDs) -> RetreiveFeature = lists:member("retrieve-items", Features), PersistentFeature = lists:member("persistent-items", Features), AccessModel = get_option(Options, access_model), - AllowedGroups = get_option(Options, roster_groups_allowed), + AllowedGroups = get_option(Options, roster_groups_allowed, []), {PresenceSubscription, RosterGroup} = case Host of {OUser, OServer, _} -> @@ -2501,7 +2501,7 @@ get_configure_xfields(_Type, Options, Lang, _Owners) -> {"label", translate:translate(Lang, "Roster groups allowed to subscribe")}, {"var", "pubsub#roster_groups_allowed"}], [{xmlelement, "value", [], [{xmlcdata, Value}]} || - Value <- get_option(Options, roster_groups_allowed)]}, + Value <- get_option(Options, roster_groups_allowed, [])]}, ?ALIST_CONFIG_FIELD("Specify the publisher model", publish_model, [publishers, subscribers, open]), ?INTEGER_CONFIG_FIELD("Max payload size in bytes", max_payload_size),