From 7abfd515343b283f0120edc6c5f39ecaddc8cc18 Mon Sep 17 00:00:00 2001 From: Badlop Date: Sun, 29 Jun 2008 11:34:30 +0000 Subject: [PATCH] * src/mod_pubsub/node_pep.erl: Complain if mod_caps disabled and mod_pubsub has PEP plugin enabled (EJAB-677) SVN Revision: 1386 --- ChangeLog | 5 +++++ src/mod_pubsub/node_pep.erl | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5d661e043..7f14754c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-06-29 Badlop + + * src/mod_pubsub/node_pep.erl: Complain if mod_caps disabled and + mod_pubsub has PEP plugin enabled (EJAB-677) + 2008-06-21 Badlop * doc/guide.tex: Explain that S2S outgoing first tries IPv4 and if diff --git a/src/mod_pubsub/node_pep.erl b/src/mod_pubsub/node_pep.erl index 29f11a539..a242021b6 100644 --- a/src/mod_pubsub/node_pep.erl +++ b/src/mod_pubsub/node_pep.erl @@ -29,6 +29,7 @@ -module(node_pep). -author('christophe.romain@process-one.net'). +-include("ejabberd.hrl"). -include("pubsub.hrl"). -include("jlib.hrl"). @@ -64,6 +65,7 @@ init(Host, ServerHost, Opts) -> node_default:init(Host, ServerHost, Opts), + complain_if_modcaps_disabled(ServerHost), ok. terminate(Host, ServerHost) -> @@ -204,3 +206,24 @@ get_item(Host, Node, ItemId) -> set_item(Item) -> node_default:set_item(Item). + + +%%% +%%% Internal +%%% + +%% @doc Check mod_caps is enabled, otherwise show warning. +%% The PEP plugin for mod_pubsub requires mod_caps to be enabled in the host. +%% Check that the mod_caps module is enabled in that Jabber Host +%% If not, show a warning message in the ejabberd log file. +complain_if_modcaps_disabled(ServerHost) -> + Modules = ejabberd_config:get_local_option({modules, ServerHost}), + ModCaps = [mod_caps_enabled || {mod_caps, _Opts} <- Modules], + case ModCaps of + [] -> + ?WARNING_MSG("The PEP plugin is enabled in mod_pubsub of host ~p. " + "This plugin requires mod_caps to be enabled, " + "but it isn't.", [ServerHost]); + _ -> + ok + end.