Subject: [Simple] MSRP: 200 OK for chunked SEND request.

From: Miguel Garcia <[email-masked]>
Date: Tue, 13 Mar 2007 21:48:44 +0200

Hi:

In MSRP, a question about a 200 OK for a chunked SEND request. It is not 
clear in the draft if the response ends with a "$" or "+" sign.

For example. If the chunked request is:

     MSRP dkei38sd SEND
     From-Path: msrp://alicepc.example.com:7777/iau39soe2843z;tcp
     To-Path: msrp://bob.example.com:8888/9di4eae923wzd;tcp
     Message-ID: 4564dpWd
     Byte-Range: 1-*/8
     Content-Type: text/plain

     abcd
     -------dkei38sd+

Then, which one is the correct response?

Option A: Ending '+', so copied from the request.

     MSRP dkei38sd 200 OK
     From-Path: msrp://bob.example.com:8888/9di4eae923wzd;tcp
     To-Path: msrp://alicepc.example.com:7777/iau39soe2843z;tcp
     Message-ID: 4564dpWd
     -------dkei38sd+

Option B: ending '$', so all the 200 OK responses end with a '$', no 
matter whether they acknowledge a chunk or a complete message.

     MSRP dkei38sd 200 OK
     From-Path: msrp://bob.example.com:8888/9di4eae923wzd;tcp
     To-Path: msrp://alicepc.example.com:7777/iau39soe2843z;tcp
     Message-ID: 4564dpWd
     -------dkei38sd$

Whatever is the answer, please write it down in the draft. This has 
already created interoperability problems.

BR,

        Miguel

-- 
Miguel A. Garcia           tel:+358-50-4804586
Nokia Research Center      Helsinki, Finland

_______________________________________________
Simple mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/simple

---

From: Paul Kyzivat <[email-masked]>
Date: Tue, 13 Mar 2007 16:44:42 -0400

Miguel,

What am I missing? What you are talking about is part of the *body* of 
the send. The response doesn't have a body at all, so it shouldn't have 
either + or $.

	Paul

---

From: Miguel Garcia <[email-masked]>
Date: Tue, 13 Mar 2007 22:53:53 +0200

Paul:

While is true that the 200 OK does not have a body, it still contains 
the frame delimiter composed by the seven hyphens (-), the transaction 
identifier, and the continuation flag, the same like a request.

Now, if you receive a chunked MSRP, i.e., one where the continuation 
flag is a '+', you need to generate a 200 OK. Which continuation flag do 
you put in the 200 OK? MSRP does not say anything (at least anything 
that I was able to find the the draft).

/Miguel

Paul Kyzivat wrote:
>> In MSRP, a question about a 200 OK for a chunked SEND request. It is 
>> not clear in the draft if the response ends with a "$" or "+" sign.
>>

---

From: Ben Campbell <[email-masked]>
Date: Tue, 13 Mar 2007 15:57:59 -0500

On Mar 13, 2007, at 3:44 PM, Paul Kyzivat wrote:

> Miguel,
>
> What am I missing? What you are talking about is part of the *body*  
> of the send. The response doesn't have a body at all, so it  
> shouldn't have either + or $.
>

It is required by the current syntax. The presence of an end-line is  
not contingent upon the presence of a body. From the abnf:

msrp-req-or-resp = msrp-request / msrp-response
msrp-request = req-start headers [content-stuff] end-line
msrp-response = resp-start headers end-line

[...]

end-line = "-------" transact-id continuation-flag CRLF
continuation-flag = "+" / "$" / "#"

The whole point was to be able to use the same framing mechanism for  
requests and responses. One interpretation would be that  it really  
doesn't matter what you put in a response continuation flag. We  
haven't assigned it any meaning one way or another. Another would be  
that since it is never chunked, the value should always be "$".

The value of the continuation flag in a response is not in any way  
connected to that of the associated request. Perhaps an auth-48  
change on the order of "the sender of a response MUSt always use a $,  
but the recipient of the response MUST NOT care.

> 	Paul
>
> Miguel Garcia wrote:
>> Hi:
>> In MSRP, a question about a 200 OK for a chunked SEND request. It  
>> is not clear in the draft if the response ends with a "$" or "+"  
>> sign.
>> Option B: ending '$', so all the 200 OK responses end with a '$',  
>> no matter whether they acknowledge a chunk or a complete message.
>>     MSRP dkei38sd 200 OK
>> Whatever is the answer, please write it down in the draft. This  
>> has already created interoperability problems.
>> BR,
>>        Miguel

---

From: Robert Sparks <[email-masked]>
Date: Tue, 13 Mar 2007 16:12:12 -0500

Miguel - the draft does say you can't chunk (or rechunk) responses.

Where did the text mislead you into thinking the response and request
framing would be related at all? They are independent uses of the same
mechanism.

Ben's reply came in while I was typing. If any clarification is  
needed, something
along the lines of what he proposed sounds good to me (but please answer
my above question anyhow).

RjS

On Mar 13, 2007, at 3:53 PM, Miguel Garcia wrote:

> Paul:
>
> While is true that the 200 OK does not have a body, it still  
> contains the frame delimiter composed by the seven hyphens (-), the  
> transaction identifier, and the continuation flag, the same like a  
> request.
>
> Now, if you receive a chunked MSRP, i.e., one where the  
> continuation flag is a '+', you need to generate a 200 OK. Which  
> continuation flag do you put in the 200 OK? MSRP does not say  
> anything (at least anything that I was able to find the the draft).
>
> /Miguel
>
> Paul Kyzivat wrote:
>> Miguel,
>> What am I missing? What you are talking about is part of the  
>> *body* of the send. The response doesn't have a body at all, so it

---

From: Miguel Garcia <[email-masked]>
Date: Tue, 13 Mar 2007 23:18:27 +0200

Hi Ben:

Yes, I think your proposal will clarify the spec. Please try to get it 
into the document before is RFCed.

/Miguel

Ben Campbell wrote:
>> the send. The response doesn't have a body at all, so it shouldn't 
>> have either + or $.
>>
> 
> It is required by the current syntax. The presence of an end-line is not 
> contingent upon the presence of a body. From the abnf:
> 
> doesn't matter what you put in a response continuation flag. We haven't 
> assigned it any meaning one way or another. Another would be that since 
> it is never chunked, the value should always be "$".
> 
> connected to that of the associated request. Perhaps an auth-48 change 
> on the order of "the sender of a response MUSt always use a $, but the 
> recipient of the response MUST NOT care.
> 
> 
> 
> 
> 
>>     Paul
>>
>> Miguel Garcia wrote:
>>> Hi:

---

From: Paul Kyzivat <[email-masked]>
Date: Tue, 13 Mar 2007 17:19:28 -0400

Sorry. That will teach me to reply without first refreshing my memory.

	Paul

---

From: Miguel Garcia <[email-masked]>
Date: Tue, 13 Mar 2007 23:22:01 +0200

Hi Robert:

Inline comments.

> Miguel - the draft does say you can't chunk (or rechunk) responses.

Agreed, this is not an issue. It is clear that responses can't be chunked.

> framing would be related at all? They are independent uses of the same

Well, that is the problem, I wasn't able to find any text that would 
make me lean towards one or the other side. I was even looking for an 
example, but didn't find it either.

> 
> Ben's reply came in while I was typing. If any clarification is needed, 
> something

I agree with Ben's answers. This would be the required clarification.

/Miguel

>> flag is a '+', you need to generate a 200 OK. Which continuation flag 
>> do you put in the 200 OK? MSRP does not say anything (at least 
>> anything that I was able to find the the draft).
>>
>> /Miguel
>>
>> Paul Kyzivat wrote:
>>> Miguel,
>>> of the send. The response doesn't have a body at all, so it shouldn't 
>>> have either + or $.
>>>     Paul
>>> Miguel Garcia wrote:
>>>> Hi:
>>>>
>> --Miguel A. Garcia           tel:+358-50-4804586