25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-26 16:26:24 +01:00

Fix unknown rid error (thanks to Jerome Sautret)

SVN Revision: 2307
This commit is contained in:
Badlop 2009-06-16 18:26:48 +00:00
parent 6e52ca3f4e
commit 1c2d0afd95

View File

@ -4,7 +4,7 @@
%%% Purpose : Implements XMPP over BOSH (XEP-0205) (formerly known as %%% Purpose : Implements XMPP over BOSH (XEP-0205) (formerly known as
%%% HTTP Binding) %%% HTTP Binding)
%%% Created : 21 Sep 2005 by Stefan Strigler <steve@zeank.in-berlin.de> %%% Created : 21 Sep 2005 by Stefan Strigler <steve@zeank.in-berlin.de>
%%% Id : $Id: ejabberd_http_bind.erl 720 2008-09-17 15:52:58Z mremond $ %%% Id : $Id: ejabberd_http_bind.erl 827 2008-11-21 15:49:09Z jsautret $
%%%---------------------------------------------------------------------- %%%----------------------------------------------------------------------
-module(ejabberd_http_bind). -module(ejabberd_http_bind).
@ -617,14 +617,15 @@ process_http_put({http_put, Rid, Attrs, Payload, Hold, StreamTo, IP},
{reply, Reply, StateName, StateData}; {reply, Reply, StateName, StateData};
repeat -> repeat ->
?DEBUG("REPEATING ~p", [Rid]), ?DEBUG("REPEATING ~p", [Rid]),
[Out | _XS] = [El#hbr.out || Reply = case [El#hbr.out ||
El <- StateData#state.req_list, El <- StateData#state.req_list,
El#hbr.rid == Rid], El#hbr.rid == Rid] of
case Out of [] ->
[[] | OutPacket] -> {error, not_exists};
Reply = {repeat, OutPacket}; [ [[] | Out] | _XS] ->
_ -> {repeat, Out};
Reply = {repeat, Out} [Out | _XS] ->
{repeat, Out}
end, end,
{reply, Reply, StateName, {reply, Reply, StateName,
StateData#state{input = "cancel", last_poll = LastPoll}}; StateData#state{input = "cancel", last_poll = LastPoll}};
@ -647,7 +648,7 @@ process_http_put({http_put, Rid, Attrs, Payload, Hold, StreamTo, IP},
El#hbr.rid < Rid, El#hbr.rid < Rid,
El#hbr.rid > (Rid - 1 - Hold)] El#hbr.rid > (Rid - 1 - Hold)]
], ],
%% ?DEBUG("reqlist: ~p", [ReqList]), ?DEBUG("reqlist: ~p", [ReqList]),
%% setup next timer %% setup next timer
if if