diff options
author | Alexey Shchepin <alexey@process-one.net> | 2005-10-15 02:45:26 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2005-10-15 02:45:26 +0000 |
commit | 9e88ecc1d1d8c05246698249ddb1dd77b1161935 (patch) | |
tree | 1b0d93daec6d1a2fa4f88cf48dbecde2daaa9aad /src | |
parent | * src/odbc/ejabberd_odbc.erl: Experimental support for pgsql (diff) |
* src/ejabberd_c2s.erl: Updated to work correctly with
mod_vcard_odbc
SVN Revision: 419
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_c2s.erl | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 72c12133..a567303b 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{} -> |