diff options
author | Christophe Romain <christophe.romain@process-one.net> | 2009-01-11 04:08:10 +0000 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2009-01-11 04:08:10 +0000 |
commit | 1ac9246a498027a190b389a70e46429aa83d96f0 (patch) | |
tree | e307b709ef71425f716483d0901cfcce06e84460 /src | |
parent | fix previous partial patch (EJAB-840) (diff) |
prevent unauthorized entity to gain none-affiliation for given entity
SVN Revision: 1802
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_pubsub/node_default.erl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mod_pubsub/node_default.erl b/src/mod_pubsub/node_default.erl index a92c49aa..e1d4fd6e 100644 --- a/src/mod_pubsub/node_default.erl +++ b/src/mod_pubsub/node_default.erl @@ -356,6 +356,9 @@ unsubscribe_node(Host, Node, Sender, Subscriber, _SubId) -> _ -> get_state(Host, Node, SubKey) end, if + %% Requesting entity is prohibited from unsubscribing entity + not Authorized -> + {error, ?ERR_FORBIDDEN}; %% Entity did not specify SubID %%SubID == "", ?? -> %% {error, ?ERR_EXTENDED(?ERR_BAD_REQUEST, "subid-required")}; @@ -365,9 +368,6 @@ unsubscribe_node(Host, Node, Sender, Subscriber, _SubId) -> %% Requesting entity is not a subscriber SubState#pubsub_state.subscription == none -> {error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST, "not-subscribed")}; - %% Requesting entity is prohibited from unsubscribing entity - not Authorized -> - {error, ?ERR_FORBIDDEN}; %% Was just subscriber, remove the record SubState#pubsub_state.affiliation == none -> del_state(SubState#pubsub_state.stateid), |