Re: [Dime] [dime] #48: Setting M-Bit gives wrong semantics

Ben Campbell <ben@nostrum.com> Mon, 17 March 2014 17:59 UTC

Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 538911A0444 for <dime@ietfa.amsl.com>; Mon, 17 Mar 2014 10:59:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.447
X-Spam-Level:
X-Spam-Status: No, score=-2.447 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.547] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RJ0vXe4_czBF for <dime@ietfa.amsl.com>; Mon, 17 Mar 2014 10:59:42 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) by ietfa.amsl.com (Postfix) with ESMTP id E8A931A01D5 for <dime@ietf.org>; Mon, 17 Mar 2014 10:59:41 -0700 (PDT)
Received: from [10.0.1.29] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.8/8.14.7) with ESMTP id s2HHxWN9077455 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for <dime@ietf.org>; Mon, 17 Mar 2014 12:59:33 -0500 (CDT) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.29]
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <057.cca16f1268987a869c0055728f3d7793@trac.tools.ietf.org>
Date: Mon, 17 Mar 2014 12:59:32 -0500
X-Mao-Original-Outgoing-Id: 416771972.102098-6b13731749a25bc3bd257c2965d5b8a8
Content-Transfer-Encoding: quoted-printable
Message-Id: <752FBBF3-DF13-4BCC-A613-E61D00038E2E@nostrum.com>
References: <057.cca16f1268987a869c0055728f3d7793@trac.tools.ietf.org>
To: dime@ietf.org
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/dHLM86Ejgp_QxucxFkX82J77_xY
Subject: Re: [Dime] [dime] #48: Setting M-Bit gives wrong semantics
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Mar 2014 17:59:44 -0000

Hi,

In the London meeting, I agreed that this issue was invalid based on statements in the room that the 6733 correct treatment of an unknown mandatory AVP inside a grouped AVP was to ignore the grouped AVP.

On rereading that section of RFC 6733, I disagree with that interpretation. Section 4.4 says:

> Receivers of a Grouped AVP that
>    does not have the 'M' (mandatory) bit set and one or more of the
>    encapsulated AVPs within the group has the 'M' (mandatory) bit set
>    MAY simply be ignored if the Grouped AVP itself is unrecognized.


That text only applies for _unrecognized_ grouped AVPs. The case in question is when you _recognize_ an optional grouped AVP, but do not recognize a mandatory AVP imbedded in it. The exception in 4.4 does not seem to cover that case.

So I no longer believe that the issue is invalid. I think the best option is to simply forbid setting of the m-bit on any DOIC related AVP.

To address other comments on the issue:

Consider the case of a Diameter _relay_ that supports DOIC. It is not aware of any application-specific rules about m-bits. It receives an OC-Supported-Features or an OC-OLR that has a mandatory AVP that it doesn't recognize. Logically, it should probably ignore the entire OC-Supported-Features or OC-OLR grouped-AVP. But it won't. Being a relay, it's not going to reject the message. Rather it's likely to try to apply the OC-Supported-Features or OC-OLR incorrectly.


On Feb 7, 2014, at 4:10 PM, dime issue tracker <trac+dime@grenache.tools.ietf.org> wrote:

> #48: Setting M-Bit gives wrong semantics
> 
> Multiple sections indicate that a new application that incorporates DOIC
> can set the M-Bit on DOIC sub-avps. I don't think this ever does the right
> thing.
> 
> IIUC, If a node that otherwise supports DOIC encounters a DOIC avp that it
> doesn't understand, and has the M-Bit set, it will cause a failure of the
> application command. I don't think we want the lack of support of some
> DOIC feature or extension to ever cause an application-level failure.  I
> think we are looking for something that would just cause the OLR to be
> ignored.
> 
> -- 
> -------------------------+-------------------------------------------------
> Reporter:               |      Owner:  draft-docdt-dime-
>  ben@nostrum.com        |  ovli@tools.ietf.org
>     Type:  defect       |     Status:  new
> Priority:  major        |  Milestone:
> Component:  draft-       |    Version:  1.0
>  docdt-dime-ovli        |   Keywords:
> Severity:  Active WG    |
>  Document               |
> -------------------------+-------------------------------------------------
> 
> Ticket URL: <http://trac.tools.ietf.org/wg/dime/trac/ticket/48>
> dime <http://tools.ietf.org/wg/dime/>
> 
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime