diff options
Diffstat (limited to 'src/mod_caps.erl')
-rw-r--r-- | src/mod_caps.erl | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/mod_caps.erl b/src/mod_caps.erl index f10ed66c7..4d166ce70 100644 --- a/src/mod_caps.erl +++ b/src/mod_caps.erl @@ -47,7 +47,7 @@ -export([init/1, handle_info/2, handle_call/3, handle_cast/2, terminate/2, code_change/3]). --export([user_send_packet/3, user_receive_packet/4, +-export([user_send_packet/4, user_receive_packet/5, c2s_presence_in/2, c2s_filter_packet/6, c2s_broadcast_recipients/6, mod_opt_type/1]). @@ -143,11 +143,12 @@ read_caps([_ | Tail], Result) -> read_caps(Tail, Result); read_caps([], Result) -> Result. -user_send_packet(#jid{luser = User, lserver = Server} = From, +user_send_packet(#xmlel{name = <<"presence">>, attrs = Attrs, + children = Els} = Pkt, + _C2SState, + #jid{luser = User, lserver = Server} = From, #jid{luser = User, lserver = Server, - lresource = <<"">>}, - #xmlel{name = <<"presence">>, attrs = Attrs, - children = Els} = Pkt) -> + lresource = <<"">>}) -> Type = xml:get_attr_s(<<"type">>, Attrs), if Type == <<"">>; Type == <<"available">> -> case read_caps(Els) of @@ -158,13 +159,14 @@ user_send_packet(#jid{luser = User, lserver = Server} = From, true -> ok end, Pkt; -user_send_packet( _From, _To, Pkt) -> +user_send_packet(Pkt, _C2SState, _From, _To) -> Pkt. -user_receive_packet(#jid{lserver = Server}, - From, _To, - #xmlel{name = <<"presence">>, attrs = Attrs, - children = Els} = Pkt) -> +user_receive_packet(#xmlel{name = <<"presence">>, attrs = Attrs, + children = Els} = Pkt, + _C2SState, + #jid{lserver = Server}, + From, _To) -> Type = xml:get_attr_s(<<"type">>, Attrs), IsRemote = not lists:member(From#jid.lserver, ?MYHOSTS), if IsRemote and @@ -177,7 +179,7 @@ user_receive_packet(#jid{lserver = Server}, true -> ok end, Pkt; -user_receive_packet( _JID, _From, _To, Pkt) -> +user_receive_packet(Pkt, _C2SState, _JID, _From, _To) -> Pkt. -spec caps_stream_features([xmlel()], binary()) -> [xmlel()]. |