Re: Timer for chunked messaging. Was [Re: Fwd: Re: Adrian Farrel's Discuss on draft-ietf-simple-chat-16: (with DISCUSS and COMMENT)]
"Miguel A. Garcia" <[email protected]> Thu, 6 Sep 2012 12:27:52 +0200
| Newsgroups | gmane.ietf.simple |
|---|---|
| Message-ID | <[email protected]> |
Thank you Saúl. /Miguel On 05/09/2012 16:46, Saúl Ibarra Corretgé wrote: > Hi, > > On Sep 5, 2012, at 3:32 PM, Miguel A. Garcia wrote: > >> In relation with the issue of chunked messages, where the MSRP switch does not receive a last chunk due to, e.g., the sender's connection is dropped, I have a proposal and a doubt. >> >> Proposal: >> >> Once the MSRP switch receives the last chunk of a message, >> and that chunk is successfully sent to each of the >> recipients, the MSRP switch MUST discard the temporary >> storage of MSRP Message-ID and the associated list of >> recipients. >> >> >> In some occasions, a sender might suffer a transport error >> condition (such as loss of connectivity) that makes the >> sending of a message incomplete, e.g., some chunks were >> received by the MSRP switch, but not all of them. This is a >> behavior already considered in the core MSRP specification >> (see <xref target="RFC4575"> RFC 4575 </xref> Section >> 5.4). The problem in the context of a chat room lies with >> the usage of temporary storage for fast forwarding. In order >> to prevent attacks related to the exhaustion of temporary >> storage of chunked messages, on receiving a first chunk of a >> message, where the MSRP switch is using the fast forward >> method, the MSRP switch MUST set a timer for controlling the >> reception of the remaining chunks. This timer can be re-set >> every time a new chunk of the same message is received. When >> this timer fires, the MSRP switch MUST considered that the > > "the MSRP switch MUST consider that the" > >> sending of the message was aborted, and MUST delete all the >> temporary storage pertaining to this message. >> >> Now the doubt. If the above condition happens, I would like to know what is best to do with respect the recipients. These are in a strange state, where they have received a number of chunks of a message, but not all the chunks, and they will not receive any more. What the MSRP switch can do: >> >> a) Nothing. The recipients have received a number of a chunks of a message; the message is not complete. The MSRP switch will send other messages (perhaps originated by other participants), but this chunked message will remain in the endpoints until the endpoint crashes^H^H^H^H^H^H^Hrecovers from that situation. >> >> b) A nice MSRP switch will create a new chunk, as it if were received from the sender, where there won't be any content, but just the abort flag "#". At least this one will have a bigger likelihood of endpoint recovery. >> >> I propose to do b). I guess there are no security issues, even if TLS is used, because the TLS connection is ending at the MSRP switch. >> >> Can anyone think of other options? Is option b) reasonable? >> > > I agree with taking the b option approach, it's reasonable. > > > Regards, > > -- > Saúl Ibarra Corretgé > AG Projects > > > -- Miguel A. Garcia +34-91-339-3608 Ericsson Spain