diff --git a/include/ejabberd.hrl b/include/ejabberd.hrl index 7a6df5644..391089a0e 100644 --- a/include/ejabberd.hrl +++ b/include/ejabberd.hrl @@ -39,6 +39,8 @@ -define(EJABBERD_URI, <<"http://www.process-one.net/en/ejabberd/">>). +-define(COPYRIGHT, "Copyright (c) 2002-2016 ProcessOne"). + -define(S2STIMEOUT, timer:minutes(10)). %%-define(DBGFSM, true). diff --git a/src/mod_irc.erl b/src/mod_irc.erl index 2fb35414d..3dd0e492d 100644 --- a/src/mod_irc.erl +++ b/src/mod_irc.erl @@ -420,10 +420,9 @@ iq_disco(ServerHost, Node, Lang) -> iq_get_vcard(Lang) -> Desc = translate:translate(Lang, <<"ejabberd IRC module">>), - Copyright = <<"Copyright (c) 2003-2016 ProcessOne">>, #vcard_temp{fn = <<"ejabberd/mod_irc">>, url = ?EJABBERD_URI, - desc = <>}. + desc = <>}. command_items(ServerHost, Host, Lang) -> lists:map(fun({Node, Name, _Function}) -> diff --git a/src/mod_muc.erl b/src/mod_muc.erl index 28008aaae..554a21704 100644 --- a/src/mod_muc.erl +++ b/src/mod_muc.erl @@ -429,11 +429,10 @@ do_route1(Host, ServerHost, Access, HistorySize, RoomShaper, -spec process_vcard(iq()) -> iq(). process_vcard(#iq{type = get, lang = Lang, sub_els = [#vcard_temp{}]} = IQ) -> Desc = translate:translate(Lang, <<"ejabberd MUC module">>), - Copyright = <<"Copyright (c) 2003-2016 ProcessOne">>, xmpp:make_iq_result( IQ, #vcard_temp{fn = <<"ejabberd/mod_muc">>, url = ?EJABBERD_URI, - desc = <>}); + desc = <>}); process_vcard(#iq{type = set, lang = Lang} = IQ) -> Txt = <<"Value 'set' of 'type' attribute is not allowed">>, xmpp:make_error(IQ, xmpp:err_not_allowed(Txt, Lang)); diff --git a/src/mod_multicast.erl b/src/mod_multicast.erl index 72046491f..0aa2270ae 100644 --- a/src/mod_multicast.erl +++ b/src/mod_multicast.erl @@ -268,10 +268,9 @@ iq_disco_info(From, Lang, State) -> iq_vcard(Lang) -> Desc = translate:translate(Lang, <<"ejabberd Multicast service">>), - Copyright = <<"Copyright (c) 2002-2016 ProcessOne">>, #vcard_temp{fn = <<"ejabberd/mod_multicast">>, url = ?EJABBERD_URI, - desc = <>}. + desc = <>}. %%%------------------------- %%% Route diff --git a/src/mod_proxy65_service.erl b/src/mod_proxy65_service.erl index 789771d7d..0f69086e0 100644 --- a/src/mod_proxy65_service.erl +++ b/src/mod_proxy65_service.erl @@ -136,11 +136,10 @@ process_vcard(#iq{type = set, lang = Lang} = IQ) -> xmpp:make_error(IQ, xmpp:err_not_allowed(Txt, Lang)); process_vcard(#iq{type = get, lang = Lang} = IQ) -> Desc = translate:translate(Lang, <<"ejabberd SOCKS5 Bytestreams module">>), - Copyright = <<"Copyright (c) 2003-2016 ProcessOne">>, xmpp:make_iq_result( IQ, #vcard_temp{fn = <<"ejabberd/mod_proxy65">>, url = ?EJABBERD_URI, - desc = <>}). + desc = <>}). -spec process_bytestreams(iq()) -> iq(). process_bytestreams(#iq{type = get, from = JID, to = To, lang = Lang} = IQ) -> diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index a138b1896..c379760ed 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -1186,10 +1186,9 @@ iq_sm(#iq{to = To, sub_els = [SubEl]} = IQ) -> -spec iq_get_vcard(binary()) -> vcard_temp(). iq_get_vcard(Lang) -> Desc = translate:translate(Lang, <<"ejabberd Publish-Subscribe module">>), - Copyright = <<"Copyright (c) 2004-2016 ProcessOne">>, #vcard_temp{fn = <<"ejabberd/mod_pubsub">>, url = ?EJABBERD_URI, - desc = <>}. + desc = <>}. -spec iq_pubsub(binary() | ljid(), atom(), iq()) -> {result, pubsub()} | {error, stanza_error()}. diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl index dc9476206..843281ef8 100644 --- a/src/mod_vcard.erl +++ b/src/mod_vcard.erl @@ -191,11 +191,10 @@ process_local_iq(#iq{type = set, lang = Lang} = IQ) -> xmpp:make_error(IQ, xmpp:err_not_allowed(Txt, Lang)); process_local_iq(#iq{type = get, lang = Lang} = IQ) -> Desc = translate:translate(Lang, <<"Erlang Jabber Server">>), - Copyright = <<"Copyright (c) 2002-2016 ProcessOne">>, xmpp:make_iq_result( IQ, #vcard_temp{fn = <<"ejabberd">>, url = ?EJABBERD_URI, - desc = <>, + desc = <>, bday = <<"2002-11-16">>}). -spec process_sm_iq(iq()) -> iq(). @@ -228,11 +227,10 @@ process_vcard(#iq{type = set, lang = Lang} = IQ) -> xmpp:make_error(IQ, xmpp:err_not_allowed(Txt, Lang)); process_vcard(#iq{type = get, lang = Lang} = IQ) -> Desc = translate:translate(Lang, <<"ejabberd vCard module">>), - Copyright = <<"Copyright (c) 2003-2016 ProcessOne">>, xmpp:make_iq_result( IQ, #vcard_temp{fn = <<"ejabberd/mod_vcard">>, url = ?EJABBERD_URI, - desc = <>}). + desc = <>}). -spec process_search(iq()) -> iq(). process_search(#iq{type = get, to = To, lang = Lang} = IQ) -> diff --git a/test/proxy65_tests.erl b/test/proxy65_tests.erl index 01292f508..49e195d38 100644 --- a/test/proxy65_tests.erl +++ b/test/proxy65_tests.erl @@ -24,12 +24,20 @@ %%%=================================================================== single_cases() -> {proxy65_single, [sequence], - [single_test(feature_enabled)]}. + [single_test(feature_enabled), + single_test(service_vcard)]}. feature_enabled(Config) -> true = is_feature_advertised(Config, ?NS_BYTESTREAMS, proxy_jid(Config)), disconnect(Config). +service_vcard(Config) -> + JID = proxy_jid(Config), + ct:comment("Retreiving vCard from ~s", [jid:to_string(JID)]), + #iq{type = result, sub_els = [#vcard_temp{}]} = + send_recv(Config, #iq{type = get, to = JID, sub_els = [#vcard_temp{}]}), + disconnect(Config). + %%%=================================================================== %%% Master-slave tests %%%=================================================================== diff --git a/test/pubsub_tests.erl b/test/pubsub_tests.erl index fae7234e4..daffc29ec 100644 --- a/test/pubsub_tests.erl +++ b/test/pubsub_tests.erl @@ -25,6 +25,7 @@ single_cases() -> {pubsub_single, [sequence], [single_test(test_features), + single_test(test_vcard), single_test(test_create), single_test(test_configure), single_test(test_delete), @@ -67,6 +68,13 @@ test_features(Config) -> true = sets:is_subset(NeededFeatures, AllFeatures), disconnect(Config). +test_vcard(Config) -> + JID = pubsub_jid(Config), + ct:comment("Retreiving vCard from ~s", [jid:to_string(JID)]), + #iq{type = result, sub_els = [#vcard_temp{}]} = + send_recv(Config, #iq{type = get, to = JID, sub_els = [#vcard_temp{}]}), + disconnect(Config). + test_create(Config) -> Node = ?config(pubsub_node, Config), Node = create_node(Config, Node), diff --git a/test/vcard_tests.erl b/test/vcard_tests.erl index bb3efb475..26cfdc92b 100644 --- a/test/vcard_tests.erl +++ b/test/vcard_tests.erl @@ -11,7 +11,7 @@ %% API -compile(export_all). -import(suite, [send_recv/2, disconnect/1, is_feature_advertised/2, - is_feature_advertised/3, + is_feature_advertised/3, server_jid/1, my_jid/1, wait_for_slave/1, wait_for_master/1, recv_presence/1, recv/1]). @@ -26,7 +26,8 @@ single_cases() -> {vcard_single, [sequence], [single_test(feature_enabled), - single_test(get_set)]}. + single_test(get_set), + single_test(service_vcard)]}. feature_enabled(Config) -> BareMyJID = jid:remove_resource(my_jid(Config)), @@ -72,6 +73,13 @@ get_set(Config) -> send_recv(Config, #iq{type = get, sub_els = [#vcard_temp{}]}), disconnect(Config). +service_vcard(Config) -> + JID = server_jid(Config), + ct:comment("Retreiving vCard from ~s", [jid:to_string(JID)]), + #iq{type = result, sub_els = [#vcard_temp{}]} = + send_recv(Config, #iq{type = get, to = JID, sub_els = [#vcard_temp{}]}), + disconnect(Config). + %%%=================================================================== %%% Master-slave tests %%%===================================================================