mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-26 16:26:24 +01:00
Finish the conversion of mod_pubsub to Exmpp.
PR: EJABP-1 SVN Revision: 1709
This commit is contained in:
parent
d01c24bd23
commit
82b97b9639
@ -3,6 +3,13 @@
|
|||||||
* src/mod_pubsub/node_default.erl, src/mod_pubsub/node_pep.erl: Fix
|
* src/mod_pubsub/node_default.erl, src/mod_pubsub/node_pep.erl: Fix
|
||||||
acl:match_rule/3 call. It takes a #jid record, not a short JID.
|
acl:match_rule/3 call. It takes a #jid record, not a short JID.
|
||||||
|
|
||||||
|
* src/mod_pubsub/node_buddy.erl, src/mod_pubsub/node_club.erl,
|
||||||
|
src/mod_pubsub/node_dispatch.erl, src/mod_pubsub/node_mb.erl,
|
||||||
|
src/mod_pubsub/node_private.erl, src/mod_pubsub/node_public.erl,
|
||||||
|
src/mod_pubsub/node_zoo.erl, src/mod_pubsub/nodetree_default.erl,
|
||||||
|
src/mod_pubsub/nodetree_virtual.erl: Finish the conversion of
|
||||||
|
mod_pubsub to Exmpp.
|
||||||
|
|
||||||
2008-12-05 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
|
2008-12-05 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
|
||||||
|
|
||||||
* src/ejabberd_receiver.erl, src/mod_offline_odbc.erl,
|
* src/ejabberd_receiver.erl, src/mod_offline_odbc.erl,
|
||||||
|
@ -26,8 +26,9 @@
|
|||||||
-module(node_buddy).
|
-module(node_buddy).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_node).
|
-behaviour(gen_pubsub_node).
|
||||||
|
|
||||||
|
@ -26,8 +26,9 @@
|
|||||||
-module(node_club).
|
-module(node_club).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_node).
|
-behaviour(gen_pubsub_node).
|
||||||
|
|
||||||
|
@ -26,8 +26,9 @@
|
|||||||
-module(node_dispatch).
|
-module(node_dispatch).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_node).
|
-behaviour(gen_pubsub_node).
|
||||||
|
|
||||||
@ -119,10 +120,10 @@ delete_node(Host, Removed) ->
|
|||||||
|
|
||||||
subscribe_node(_Host, _Node, _Sender, _Subscriber, _AccessModel,
|
subscribe_node(_Host, _Node, _Sender, _Subscriber, _AccessModel,
|
||||||
_SendLast, _PresenceSubscription, _RosterGroup) ->
|
_SendLast, _PresenceSubscription, _RosterGroup) ->
|
||||||
{error, ?ERR_FORBIDDEN}.
|
{error, 'forbidden'}.
|
||||||
|
|
||||||
unsubscribe_node(_Host, _Node, _Sender, _Subscriber, _SubID) ->
|
unsubscribe_node(_Host, _Node, _Sender, _Subscriber, _SubID) ->
|
||||||
{error, ?ERR_FORBIDDEN}.
|
{error, 'forbidden'}.
|
||||||
|
|
||||||
publish_item(Host, Node, Publisher, Model, MaxItems, ItemId, Payload) ->
|
publish_item(Host, Node, Publisher, Model, MaxItems, ItemId, Payload) ->
|
||||||
lists:foreach(fun(SubNode) ->
|
lists:foreach(fun(SubNode) ->
|
||||||
@ -135,10 +136,10 @@ remove_extra_items(_Host, _Node, _MaxItems, ItemIds) ->
|
|||||||
{result, {ItemIds, []}}.
|
{result, {ItemIds, []}}.
|
||||||
|
|
||||||
delete_item(_Host, _Node, _JID, _ItemId) ->
|
delete_item(_Host, _Node, _JID, _ItemId) ->
|
||||||
{error, ?ERR_ITEM_NOT_FOUND}.
|
{error, 'item-not-found'}.
|
||||||
|
|
||||||
purge_node(_Host, _Node, _Owner) ->
|
purge_node(_Host, _Node, _Owner) ->
|
||||||
{error, ?ERR_FORBIDDEN}.
|
{error, 'forbidden'}.
|
||||||
|
|
||||||
get_entity_affiliations(_Host, _Owner) ->
|
get_entity_affiliations(_Host, _Owner) ->
|
||||||
{result, []}.
|
{result, []}.
|
||||||
|
@ -35,9 +35,10 @@
|
|||||||
-module(node_mb).
|
-module(node_mb).
|
||||||
-author('eric@ohmforce.com').
|
-author('eric@ohmforce.com').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("ejabberd.hrl").
|
-include("ejabberd.hrl").
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_node).
|
-behaviour(gen_pubsub_node).
|
||||||
|
|
||||||
|
@ -26,8 +26,9 @@
|
|||||||
-module(node_private).
|
-module(node_private).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_node).
|
-behaviour(gen_pubsub_node).
|
||||||
|
|
||||||
|
@ -26,8 +26,9 @@
|
|||||||
-module(node_public).
|
-module(node_public).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_node).
|
-behaviour(gen_pubsub_node).
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@
|
|||||||
-module(node_zoo).
|
-module(node_zoo).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_node).
|
-behaviour(gen_pubsub_node).
|
||||||
|
|
||||||
@ -92,12 +93,13 @@ features() ->
|
|||||||
%% the home/localhost/user/... hierarchy
|
%% the home/localhost/user/... hierarchy
|
||||||
%% any node is allowed
|
%% any node is allowed
|
||||||
create_node_permission(Host, ServerHost, _Node, _ParentNode, Owner, Access) ->
|
create_node_permission(Host, ServerHost, _Node, _ParentNode, Owner, Access) ->
|
||||||
LOwner = jlib:jid_tolower(Owner),
|
LOwner = jlib:short_prepd_jid(Owner),
|
||||||
Allowed = case LOwner of
|
Allowed = case LOwner of
|
||||||
{"", Host, ""} ->
|
{undefined, Host, undefined} ->
|
||||||
true; % pubsub service always allowed
|
true; % pubsub service always allowed
|
||||||
_ ->
|
_ ->
|
||||||
case acl:match_rule(ServerHost, Access, LOwner) of
|
{LU, LS, LR} = LOwner,
|
||||||
|
case acl:match_rule(ServerHost, Access, exmpp_jid:make_jid(LU, LS, LR)) of
|
||||||
allow ->
|
allow ->
|
||||||
true;
|
true;
|
||||||
_ ->
|
_ ->
|
||||||
|
@ -36,8 +36,9 @@
|
|||||||
-module(nodetree_default).
|
-module(nodetree_default).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_nodetree).
|
-behaviour(gen_pubsub_nodetree).
|
||||||
|
|
||||||
|
@ -34,8 +34,9 @@
|
|||||||
-module(nodetree_virtual).
|
-module(nodetree_virtual).
|
||||||
-author('christophe.romain@process-one.net').
|
-author('christophe.romain@process-one.net').
|
||||||
|
|
||||||
|
-include_lib("exmpp/include/exmpp.hrl").
|
||||||
|
|
||||||
-include("pubsub.hrl").
|
-include("pubsub.hrl").
|
||||||
-include("jlib.hrl").
|
|
||||||
|
|
||||||
-behaviour(gen_pubsub_nodetree).
|
-behaviour(gen_pubsub_nodetree).
|
||||||
|
|
||||||
@ -121,11 +122,11 @@ get_subnodes_tree(_Host, _Node) ->
|
|||||||
%% is considered as already created.</p>
|
%% is considered as already created.</p>
|
||||||
%% <p>default allowed nodes: /home/host/user/any/node/name</p>
|
%% <p>default allowed nodes: /home/host/user/any/node/name</p>
|
||||||
create_node(_Host, Node, _Type, Owner, _Options) ->
|
create_node(_Host, Node, _Type, Owner, _Options) ->
|
||||||
UserName = Owner#jid.luser,
|
UserName = Owner#jid.lnode,
|
||||||
UserHost = Owner#jid.lserver,
|
UserHost = Owner#jid.ldomain,
|
||||||
case Node of
|
case Node of
|
||||||
["home", UserHost, UserName | _] -> {error, ?ERR_CONFLICT};
|
["home", UserHost, UserName | _] -> {error, 'conflict'};
|
||||||
_ -> {error, ?ERR_NOT_ALLOWED}
|
_ -> {error, 'not-allowed'}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
%% @spec (Host, Node) -> [mod_pubsub:node()]
|
%% @spec (Host, Node) -> [mod_pubsub:node()]
|
||||||
|
Loading…
Reference in New Issue
Block a user