diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2013-06-15 04:17:38 +1000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2013-06-17 16:10:30 +0300 |
commit | 0baf4e608869f0c5ad35049d8692cfaf25c992f0 (patch) | |
tree | ae26a475993304cada9eef38441ea98391a60a4d | |
parent | Don't include sub-elements in IQ results where it's not required (diff) |
Advertise privacy lists support via disco#info
-rw-r--r-- | src/mod_privacy.erl | 2 | ||||
-rw-r--r-- | test/ejabberd_SUITE.erl | 8 |
2 files changed, 3 insertions, 7 deletions
diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl index 4c03159f5..4dbf608c6 100644 --- a/src/mod_privacy.erl +++ b/src/mod_privacy.erl @@ -64,6 +64,7 @@ start(Host, Opts) -> update_table(); _ -> ok end, + mod_disco:register_feature(Host, ?NS_PRIVACY), ejabberd_hooks:add(privacy_iq_get, Host, ?MODULE, process_iq_get, 50), ejabberd_hooks:add(privacy_iq_set, Host, ?MODULE, @@ -80,6 +81,7 @@ start(Host, Opts) -> ?NS_PRIVACY, ?MODULE, process_iq, IQDisc). stop(Host) -> + mod_disco:unregister_feature(Host, ?NS_PRIVACY), ejabberd_hooks:delete(privacy_iq_get, Host, ?MODULE, process_iq_get, 50), ejabberd_hooks:delete(privacy_iq_set, Host, ?MODULE, diff --git a/test/ejabberd_SUITE.erl b/test/ejabberd_SUITE.erl index 043b7000b..7b8fddfbf 100644 --- a/test/ejabberd_SUITE.erl +++ b/test/ejabberd_SUITE.erl @@ -356,13 +356,7 @@ last(Config) -> disconnect(Config). privacy(Config) -> - %% BUG: the feature MUST be advertised via disco#info: - %% http://xmpp.org/extensions/xep-0016.html#disco - %% It seems like this bug exists because Privacy Lists - %% were implemented according to the old RFC where support - %% needn't be advertised via service discovery. - %% TODO: fix in ejabberd - %% true = is_feature_advertised(Config, ?NS_PRIVACY), + true = is_feature_advertised(Config, ?NS_PRIVACY), I1 = send(Config, #iq{type = get, sub_els = [#privacy{}]}), #iq{type = result, id = I1, sub_els = [#privacy{}]} = recv(), JID = <<"tybalt@example.com">>, |