From 9e88ecc1d1d8c05246698249ddb1dd77b1161935 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Sat, 15 Oct 2005 02:45:26 +0000 Subject: [PATCH] * src/ejabberd_c2s.erl: Updated to work correctly with mod_vcard_odbc SVN Revision: 419 --- ChangeLog | 5 +++++ src/ejabberd_c2s.erl | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bab0c9fb8..d6722e7fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-10-15 Alexey Shchepin + + * src/ejabberd_c2s.erl: Updated to work correctly with + mod_vcard_odbc + 2005-10-13 Alexey Shchepin * src/odbc/ejabberd_odbc.erl: Experimental support for pgsql diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 72c121336..a567303b6 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -895,10 +895,16 @@ handle_info({route, From, To, Packet}, StateName, StateData) -> IQ = jlib:iq_query_info(Packet), case IQ of #iq{xmlns = ?NS_VCARD} -> - ResIQ = mod_vcard:process_sm_iq(From, To, IQ), - ejabberd_router:route(To, - From, - jlib:iq_to_xml(ResIQ)), + Host = StateData#state.server, + case ets:lookup(sm_iqtable, {?NS_VCARD, Host}) of + [{_, Module, Function, Opts}] -> + gen_iq_handler:handle(Host, Module, Function, Opts, + From, To, IQ); + [] -> + Err = jlib:make_error_reply( + Packet, ?ERR_FEATURE_NOT_IMPLEMENTED), + ejabberd_router:route(To, From, Err) + end, {false, Attrs, StateData}; %-ifdef(PRIVACY_SUPPORT). #iq{} ->