RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 4975, "The Message Session Relay Protocol (MSRP)", September 2007

Note: This RFC has been updated by RFC 7977, RFC 8591, RFC 8873, RFC 8996

Source of RFC: simple (rai)

Errata ID: 4177
Status: Reported
Type: Editorial
Publication Format(s) : TEXT

Reported By: Archie Cobbs
Date Reported: 2014-11-13

Section 7.1 says:

   line, and a flag character.  If a body is present, the end-line MUST
   be preceded by a CRLF that is not part of the body.  If the chunk
   represents the data that forms the end of the complete message, the
   flag value MUST be a "$".  If the sender is aborting an incomplete
   message, and intends to send no further chunks in that message, the
   flag MUST be a "#".  Otherwise, the flag MUST be a "+".

   If the request contains a body, the sender MUST ensure that the end-
   line (seven hyphens, the transaction identifier, and a continuation
   flag) is not present in the body.  If the end-line is present in the

It should say:

   line, and a flag character.  If a body is present, the end-line MUST
   be preceded by a CRLF that is not part of the body.  If the chunk
   represents the data that forms the end of the complete message, the
   flag value MUST be a "$".  If the sender is aborting an incomplete
   message, and intends to send no further chunks in that message, the
   flag MUST be a "#".  Otherwise, the flag MUST be a "+".

   If the request contains a body, the sender MUST ensure that the end-
   line (seven hyphens, the transaction identifier, and a continuation
   flag) is not present in the body.  A receiver detecting an end-line
   present in the body preceded by a non-empty sequence other than CRLF
   SHOULD terminate the session. If the end-line is present in the

Notes:

The way the text is written leaves unspecified how a receiver should handle the situation where it encounters an end-line within the body that's preceded by something OTHER than CRLF.

Obviously, this indicates the sender is not complying with this RFC, but what should the receiver do?

Should the receiver terminate the connection? Or just proceed giving no special interpretation to the end-line, which would actually work just fine?

The suggested change reflects the first choice. If the second choice were made, the change could be:

If the request contains a body, the sender MUST ensure that the
end-line (seven hyphens, the transaction identifier, and a continuation
flag) neither appears at the beginning of the body nor is not present
in the body preceded by CRLF. An end-line MAY appear in the body if
preceded in the body by any non-empty sequence other than CRLF.

This would force the interpretation that an end-line not preceded by CRLF has no special significance.

Report New Errata



Advanced Search