<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" >
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc toc="yes" ?>
<?rfc tocindent="yes" ?>
<?rfc tocdepth="2" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="yes" ?>

<rfc category="std" updates="5321" docName="draft-levine-additional-registered-clauses-03" ipr="trust200902">
  <front>
    <title abbrev="Additional registered clauses">Update to Additional Registered Clauses in SMTP Received Headers</title>

    <author fullname="John Levine" initials="J." surname="Levine">
      <organization>Taughannock Networks</organization>

      <address>
        <postal>
          <street>PO Box 727</street>
          <city>Trumansburg</city>
          <code>14886</code>
          <region>NY</region>
        </postal>
        <phone>+1 831 480 2300</phone>
        <email>standards@taugh.com</email>
        <uri>http://jl.ly</uri>
      </address>
    </author>

    <date year="2019" />

    <area>Applications</area>

    <keyword>e-mail</keyword>
    <keyword>mail</keyword>

    <abstract>
       <t>
	  SMTP servers add Received: trace headers to mail messages to track their progress
	  This document updates the registration criteria for Additional Registered Clauses
	  in those headers to Expert Review, and adds new clauses for Server Name Indication (SNI) and sending port number (PORT).
       </t>
    </abstract>
  </front>
  <middle>
     <section title="Introduction">
	<t>
	  SMTP servers add Received: trace headers to mail messages to track their progress.
	  The syntax of those headers is defined in <xref target="RFC5321"/>. Each header
	  can include optional Additional Registered Clauses that log information
	  related to optional SMTP features.
	</t><t>
	  This document updates the registration criteria for Additional Registered Clauses
	  in those headers to Expert Review, and adds a new clause for Server Name Indication (SNI).
	  The headers can include Additional Registered Clauses that add information
	  about optional SMTP features.
	</t>

     </section>
     <section title="The Server Name Indication clause">
	<t>
	   <xref target="RFC6066">Server Name Indication or SNI</xref> is an optional TLS
	   feature that a TLS client can use to advise a server the name it expects the server
	   to have.  When used in the initial negotiation for a <xref target="RFC3207">STARTTLS</xref>
	   session it enables the server to use a certificate with the identity that the client
	   expects, as is recommended in <xref target="RFC7817"/> and is required
	   for <xref target="RFC8461">SMTP MTA-STS</xref>.
	   When a client presents a name using SNI, the server can log the name using the "sni"
	   additional-registered-clause.
	</t>
	<!-- when appropriate change to past tense -->
	<t>
	   IANA is requested to add one new entry to the additional-registered-clauses
	   registry:
	   <list>
	      <t>"sni" - indicates the Server Name Indication was used.
	      </t>
	      <t>"name" - the name provided by SNI. It has the syntax of a Domain Name.
	      </t>
	   </list>
	</t>	
     </section>
     <section title="The Port Number clause">
	<t>
	   When several sending mail hosts send mail
	   from behind a Network Address Translator (NAT), often the only way to tell which host sent the is to look
	   up the sending port number in the NAT's logs.
	   The server can log the sending port number using the "port" additional-registered-clause.
	</t>
	<!-- when appropriate change to past tense -->
	<t>
	   IANA is requested to add one new entry to the additional-registered-clauses
	   registry:
	   <list>
	      <t>"port" - indicates the mail client's port number
	      </t>
	      <t>"number" - the client's port number. It has the syntax of an integer.
	      </t>
	   </list>
	</t>	
     </section>
     <section title="IANA Considerations">
	<!-- when appropriate change to past tense -->
	<t>
	   IANA is requested to update the Registration Procedure for the Additional-registered-clauses
	   registry to Expert Review.
	   The IESG will appoint the expert(s).
	</t>
     <section title="Guidance for Designated Expert">
	<t>
	   The Designated Expert is expected to check that a proposed Additional-registered-clause has
	   a specification that is stable and detailed enough to implement the clause and interoperate.
	   The Expert should ensure that the clause name is reasonably related to the information
	   it represents, that the contents of the clause are well-defined, and that any external
	   references it depends on, e.g., a vocabulary of keywords, are stable and well-defined.
	</t>
	</section>
     </section>
     <section title="Security Considerations">
	<t>
	   E-mail is subject to a vast range of threats and abuses.
	   In a few circumstances, a new Additional-registered-clause might disclose information
	   to a recipient that was otherwise unavailable.
	   On the other hand, better logging usually makes it easier to diagnose failures and
	   attacks.
	</t>
	<t>
	   If the SNI information in a STARTTLS negotiation is logged, it may make
	   it easier to determine the recipient(s) of the message if they are not
	   already logged in trace headers.
	</t>
     </section>
  </middle>

  <back>
    <references title="Normative References">
       <?rfc include="reference.RFC.3207" ?>
       <?rfc include="reference.RFC.5321" ?>
       <?rfc include="reference.RFC.6066" ?>
    </references>
    <references title="Uninformative References">
       <?rfc include="reference.RFC.7817" ?>
       <?rfc include="reference.RFC.8461" ?>
    </references>
    <!-- please remove this section before publication -->
    <section title="Change history">
          <t><list
               style="hanging">
               <t hangText="02 to 03">Add port numbers.  What the heck.</t>
               <t hangText="01 to 02">Take out ESNI clause to prevent downref.</t>
               <t hangText="00 to 01">Add new ESNI clause.  Fix many typos.
		  </t>
               <t hangText="00">New draft
		  </t>
	 </list></t>

    </section>
  </back>
</rfc>
