Subject: Re: objectIdentifierMatch on ambiguous name

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Mon, 10 Feb 2003 12:26:49 -0800

At 05:04 PM 1/17/2003, Kurt D. Zeilenga wrote:
>I'd like to note, for the purposes of the WG Last Call on [Models],
>that some clarification to [Models] is needed in this area.
>        Kurt
>
>At 01:52 AM 1/7/2003, Hallvard B Furuseth wrote:
>>Kurt D. Zeilenga writes:
>>>>> Doesn't this contradict [Models, 1.3]?
>>>>I guess so, but so does your suggestion.
>>> 
>>> Yes.  So, the next question is, how do we resolve this contradiction?
>>> (I'm going to chew on this a bit before attempting to offer a
>>> suggestion.)
>>
>>I think this statement in [Models] 1.3
>>
>>>  (...) the
>>>  <descr> encoding option SHOULD be used instead of the <numericoid>
>>>  encoding option

I'm thinking that this SHOULD should be should as it appears
to be a use requirement, not an implementation requirement.

>>
>>could get the addition
>>
>>   except in contexts where the server cannot unambiguously determine
>>   which <numericoid> the <descr> represents.

I note that the original imperative applied to all
implementations (or was it uses?).

Anyways, one could generalized the addition to:
        except where use of the <descr> form is ambigious.

Which is, of course, often the case.

Hence, I suggest replacing the PARAGRAPH with:

        While the <descr> form is generally preferred, the <numericoid>
        form should be used when an unambiguous short name (descriptor)
        is not available.  See Section 6.2 for additional discussion
        of Short Names (descriptors).

---

From: Hallvard B Furuseth <[email-masked]>
Date: Mon, 10 Feb 2003 21:40:18 +0100

>         of Short Names (descriptors).

I think something about which context the oid has is necessary.
Naming context as well as as attribute type vs. object class.
Otherwise people will be likely to think that if they only define
one OID with name 'foo', the server doesn't need to know that
'foo' is an attribute type and not an object class.
Sorry, it's too late now for me to come up with a good wording.

-- 
Hallvard

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Mon, 10 Feb 2003 13:38:44 -0800

>Sorry, it's too late now for me to come up with a good wording.

Isn't this more appropriately covered in 6.2?

(And as a follow-up: Is this covered appropriately in 6.2?)

Kurt

---

From: Hallvard B Furuseth <[email-masked]>
Date: Tue, 11 Feb 2003 23:53:54 +0100

> Isn't this more appropriately covered in 6.2?

Maybe.  But wouldn't you just end up restating and expanding "the
<numericod> form should be used..." part?

Something like

"Short names may only be used in contexts where the server can
unambiguously translate them to numeric OIDs and knows what kind of
entity the OID represents (i.e. whether it represents an object class,
an attribute type, or something else.)"

> (And as a follow-up: Is this covered appropriately in 6.2?)

I can't see that it's covered at all.

-- 
Hallvard

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Tue, 11 Feb 2003 17:29:21 -0800

><numericod> form should be used..." part?

The problem is making statements in 1.3 is that it is
intended to be referenced by many specifications and
any statement we make here may not be appropriate for
all cases.  So, even if we have to restate and expand in
6.2, that's the approach I prefer.

>I can't see that it's covered at all.

Fair enough.  How about adding before the paragraph starting with
        Procedures for registering short names (descriptors) ...

the paragraph:
        Implementations SHOULD avoid the use of registered
        short names (descriptors) or, when not available,
        an object identifiers in numeric form, to avoid
        ambiguity.

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Wed, 12 Feb 2003 06:14:55 -0800

At 05:29 PM 2/11/2003, I wrote:
>How about adding before the paragraph starting with

s/avoid the//

Sorry.  Kurt

---

From: Hallvard B Furuseth <[email-masked]>
Date: Wed, 12 Feb 2003 20:52:43 +0100

>>        an object identifiers in numeric form, to avoid

I prefer my own text.  Yours doesn't imply that
  attribute type ( ... NAME 'oid'
                   EQUALITY objectIdentifierMatch
                   SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 ) ; OID
from the start of this thread may not contain short names,
like you and others have said in previous articles.

> s/avoid the//

s/use of/use/

-- 
Hallvard

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Wed, 12 Feb 2003 12:51:54 -0800

At 11:52 AM 2/12/2003, Hallvard B Furuseth wrote:
>I prefer my own text.

I think I was addressing a different issue.  I think
something more is needed.  Likely [Syntaxes, 4.3.26] needs
to say something, as well as [Models].

[Syntaxes] likely should say that the <descr> form may
only be used in contexts which specifically detail which
short names are applicable.  As this is a common issue with
the use of the <oid> production, I think it might actually be
appropriate to say something about it in the [Models, 1.3].

>Yours doesn't imply that

Well, actually, if 'oid' was an operational attribute it
could be defined such that short names could be used.  For
userApplications attributes (excepting objectClass), short names
cannot be used as the server has no knowledge of the user
application semantics.

(I'm going to review past posts before offerring any
additional suggestions.)

Kurt

---

From: Hallvard B Furuseth <[email-masked]>
Date: Wed, 12 Feb 2003 22:08:38 +0100

> to say something, as well as [Models].

Also [Syntaxes] 5.2.16 (objectIdentifierFirstComponentMatch)
and maybe 5.2.17 (objectIdentifierMatch).

Except for that, I agree.

-- 
Hallvard

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Wed, 12 Feb 2003 13:25:42 -0800

Okay, taking this on somewhat incrementally.  How about
we replace the last paragraph of 1.3 (leaving my previous
addition to 6.2 in place) the following?

  While the <descr> form is generally preferred, the <numericoid>
  form should be used when an unambiguous short name (descriptor) is
  not available.  When the <descr> form is used, the representation              
  SHALL be considered invalid if the implementation cannot determine
  unambiguously which object identifier the <descr> refers to.

  See Section 6.2 for additional discussion of Short Names (descriptors).

Does this cover your [Models] concerns?

Kurt

---

From: Hallvard B Furuseth <[email-masked]>
Date: Wed, 12 Feb 2003 22:35:23 +0100

> Does this cover your [Models] concerns?

Sorry, no.  It still needs an addition like:

   "...or cannot know kind of entity the OID represents (i.e.
   whether it represents an object class, an attribute type, or
   something else.)"

Otherwise the reader may consider 'oid: person' to be unambiguous
if he has a person object class and no other OID named 'person',
with my previous definition of attribute 'oid'.

-- 
Hallvard

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Wed, 12 Feb 2003 16:17:51 -0800

At 01:35 PM 2/12/2003, Hallvard B Furuseth wrote:
>Sorry, no.

How about?

  While the <descr> form is generally preferred when the usage is                 
  restricted to short names referring to object identifiers which                 
  identify like kinds of objects (e.g., attribute type descriptions,               
  matching rule descriptions, object class descriptions), the <numericoid>          
  form should be used when the object identifiers may identify multiple
  kinds of objects or when unambiguous short name (descriptor) is not    
  available.

  When the <descr> form is used, the representation SHALL be considered
  invalid if the usage is not restricted as discussed above or the                
  implementation cannot determine unambiguously which object identifier
  the <descr> refers to.

---

From: Hallvard B Furuseth <[email-masked]>
Date: Thu, 13 Feb 2003 08:35:22 +0100

Kurt D. Zeilenga writes:
> How about? (...)

Fine.

-- 
Hallvard