Re: AD review comments on draft-ietf-fax-esmtp-conneg-01.txt

"Toyoda, Kiyoshi" <[email protected]>
Newsgroups gmane.ietf.fax
Message-ID <[email protected]>
Freed-san,

Thank you for checking document and clarify issues.
I will study issues and respond next week.


[email protected] wrote:
>
>Let's start with an obvious document issue, easily fixed: The IANA
>considerations section. It currently says "This memo is not intended to create
>any new issues for IANA." However, the document's primary goal is to define an
>ESMTP extension, and registration of ESMTP extensions is an IANA activity. As
>such, I suggest this section be changed to read "On publicatioj of this
>document by the RFC Editor the IANA shall register the Content_Negotiation
>ESMTP extension defined in section 2."
>
>Another minor document issue is that the RFC Editor has a new policy that
>references must be separated into normative and informative groups. In this
>case I think there is effectively no separation: All three of the references
>here appear normative to me. So the thing to do is change the title of section
>9 to "NORMATIVE REFERENCES".
>
>Another document issue is that this document begins with a SUMMARY but has no
>ABSTRACT or INTRODUCTION. The RFC Editor wants to see a separate ABSTRACT and
>INTRODUCTION section in all new RFCs. I would suggest keeping the current
>SUMMARY as the ABSTRACT and writing a new INTRODUCTION, reiterating the
>ABSTRACT but adding some additional background information if possible.
>
>On to security considerations. What's there seems entirely appropriate.
>However, there's are two other security considerations I believe deserve
>mention: The possibility that a vulnerability will be disclosed by the
>mechanism and the possibility of tampering with the result the mechanism
>returns.
>
>The first specific case that concerns me is that of a capability that is
>typically handled by, say, a plugin that has been found to contain a security
>vulnerability. Disclosure of support for this capability becomes tantamount to
>disclosing a vulnerability.
>
>The second case is one where a man in the middle changes the capabilities
>associated with a given recipient. Here's a somewhat fanciful example: Suppose
>the sender knows the recipient has the ability to view color documents so they
>mark some things in red in what is otherwise a black and white document. But
>someone interferes with the returned capabilities, making them say the
>recipient only supports black and white. The document is duly downgraded, with
>the result that the recipient doesn't see what the sender marked. (Of course
>the man in the middle could have tampered with the document itself, but
>modifying a document on the fly is a much more difficult proposition.)
>
>I'm not suggesting that this facility be changed to address these issues,
>merely that they be mentioned in the security considerations section.
>
>Next up is failure modes. The model defined here seems simple enough: Client
>asks server for capabilities for a given recipient and the server either
>returns those capabilities or fails with a CONNEG-specific error code.
>
>I wonder, however, if this isn't too simple. A server may have no trouble
>delivering mail to a given recipient but might be unable to return that
>recipient's capabilities. And this could be either a temporary or permanent
>failure: The directory containing this information could be offline, or it
>could be the case that this information simply isn't available for this
>particular recipient.
>
>Of course a client that receives a 504 can always retry the recipient without
>the CONNEG parameter if it is willing to operate in the absence of capability
>information. But it may want to take different actions depending on whether the 
>failure is temporary or permanent: I could easily see sending some sort of
>default for a permanent failure while waiting to retry in the even of a
>temporary failure.
>
>I therefore suggest that an additional 404 status code be defined that can be
>returned when the server experiences a temporary failure getting capability
>information.
>
>The unconditional use of a failure code when capabilities aren't available also
>concerns me. While it is true the client can simply reissue the RCPT TO without
>the CONNEG parameter, handling this case effectively stalls the SMTP dialogue.
>(That is, the client has to wait for the response to the RCPT TO before it
>knows how to proceed.) And dialogue stalls are a significant operational issue
>in practice. I therefore suggest that the mechanism be changed to allow a
>CONNEG parameter value. The value would be, say, either REQUIRED or OPTIONAL.
>The REQUIRED value would result in the same behavior currently described in the
>document. The OPTIONAL case, however, would instruct the server to proceed
>normally and return a _success_ status when the capabilities aren't available.
>A corresponding 2xx code would need to be defined for this case.
>
>This document also fails to specify what enhanced status code should be
>returned in the event the server is unable to return capabilities information.
>Looking at the list in RFC 1893 I'd say one possibility is x.3.3, system not
>capable of selected feature. I also note in passing that there are no examples
>of CONNEG failures in the examples section. Some examples of this sort need to
>be added.
>
>Another interesting case that could arise in practice is where a server is
>configured to require authentication, integrity, or privacy services before
>capability information can be returned. I think the document needs to discuss
>this case, saying that if such requirements have not been met the CONNEG
>extension should not be offered in the EHLO response. (Note that successful
>security negotiation already involves repeating EHLO.)
>
>Although several examples of returned capabilities are shown, the document
>isn't very specific about how capabilities have to be formatted. In particular,
>I'd expect to see capabilities often stored as a single string without any line
>breaks. Some advice on how to take such a string and format it for inclusion in
>the reponse seems warranted.
>
>According to this document the only capabilities that can be returned are those
>defined in RFC 2879, which is FAX-specific. I realize this document is a
>product of the FAX WG, but is this really appropriate? Should more general
>capabilites return be allowed? And if not, shouldn't this extension be called
>FAXCONNEG or something similar?
>
>Finally, this document makes passing reference to "use in relay scenarios". I
>think some elaboration of this might be in order. In particular, I see at least
>two scenarios that involve relaying: One where a server knows it will
>subsequently relay the message but offers up capability information by proxy,
>and another where the client is an intermediary service with message
>downgrading capabilities.
>
>That's it!
>
>				Ned
>

Kiyoshi Toyoda
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.