Apache Directory Project - OID size limit?

This is Interesting: Free IT Magazines  
Home > Archive > Apache Directory Project > December 2006 > OID size limit?





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author OID size limit?
Tino Schwarze

2006-12-28, 1:11 pm

Hi there,

is there any known limitation of OID size or the size of an OID part?
I'm going to use auto-generated OIDs and they will look like:
1.3.6.1.4.1.<myprivateOID>.0.8228681198498217497059596.0.7212074495361812662326490325180684

The OID BNF grammar doesn't specify any limits, so I'm only wondering
whether there are known real-life limits. Will performance be affected
by these monsters?

Thank you,

Tino.

--
www.quantenfeuerwerk.de
www.spiritualdesign-chemnitz.de
www.lebensraum11.de

Emmanuel Lecharny

2006-12-28, 1:11 pm

Hi Tino,

so far, OID parts are stored in Java long, so into the interval [-2^63,
2^63-1]. You can use up to 19 digits for an element of an OID, so your
sample won'ty be accepted.

If you want to generate "random" OID, what I suggest is that you store 32
bits values separated by a '.', like :

1.3.6.1.4.1.<myprivateOID>.0.<first 32 bits value>.<second 32 bits value>.
.... .<last 32 bits value>.

Do also remember that, in LDAP, OID are used to declare new attribute types,
so creating arbitrary long OID does not make a lot of sense, but as I'm not
aware of all the possible use-cases...

I would be very interested to know why you need such OID values.

Emmanuel

On 12/28/06, Tino Schwarze <tisc-CdamFmlgbXPX2ID+q72mRQ@public.gmane.org> wrote:
>
> Hi there,
>
> is there any known limitation of OID size or the size of an OID part?
> I'm going to use auto-generated OIDs and they will look like:
> 1.3.6.1.4.1
> .<myprivateOID>.0.8228681198498217497059596.0.7212074495361812662326490325180684
>
> The OID BNF grammar doesn't specify any limits, so I'm only wondering
> whether there are known real-life limits. Will performance be affected
> by these monsters?
>
> Thank you,
>
> Tino.
>
> --
> www.quantenfeuerwerk.de
> www.spiritualdesign-chemnitz.de
> www.lebensraum11.de
>




--
Cordialement,
Emmanuel Lécharny
www.iktek.com

Tino Schwarze

2006-12-28, 1:11 pm

Hi Emmanuel,

On Thu, Dec 28, 2006 at 03:56:50PM +0100, Emmanuel Lecharny wrote:

> so far, OID parts are stored in Java long, so into the interval [-2^63,
> 2^63-1]. You can use up to 19 digits for an element of an OID, so your
> sample won'ty be accepted.
>
> If you want to generate "random" OID, what I suggest is that you store 32
> bits values separated by a '.', like :
>
> 1.3.6.1.4.1.<myprivateOID>.0.<first 32 bits value>.<second 32 bits value>.
> ... .<last 32 bits value>.


Oh, I see. That's rather cumbersome and would clutter the structure a
lot. Well, one's not supposed to parse the structure anyway...

> Do also remember that, in LDAP, OID are used to declare new attribute types,
> so creating arbitrary long OID does not make a lot of sense, but as I'm not
> aware of all the possible use-cases...
>
> I would be very interested to know why you need such OID values.


Well, I'd like to create an automated open-EIS to LDAP mapping. In
open-EIS we've got so-called templates (which are basically RDBMS tables
with lots of sugar and niceties like multi-language support etc.). A
template has a uniqe name called GUID, e.g. "c4u_classic_email". To
avoid having to assign a unique template OID for each open-EIS template
(extending the data model etc.), I just took the template GUID (which
consist of [a-zA-Z0-9_] and is up to 128 characters long) and converted
it to a number.

That way, the template GUID -> OID mapping is unique and I don't need a
central registry (which is rather cumbersome because third parties may
develop open-EIS modules themselves and currently, they don't need to
tell us; then they'd need to apply for template OID, wait for it etc.).

I'll try the 32-bits approach (BTW why 32 and not 42? ;-) ).
[vbcol=seagreen]

Thanks,

Tino.

--
www.quantenfeuerwerk.de
www.spiritualdesign-chemnitz.de
www.lebensraum11.de

Emmanuel Lecharny

2006-12-28, 1:11 pm

Hi Tino,

On 12/28/06, Tino Schwarze <tisc-CdamFmlgbXPX2ID+q72mRQ@public.gmane.org> wrote:
>
> Hi Emmanuel,
>
> value>.
>
> Oh, I see. That's rather cumbersome and would clutter the structure a
> lot. Well, one's not supposed to parse the structure anyway...



The question is : will you AttributeType be OID ? Becuase then, well, we
won't accept attribute values with OIDs containing arks above this interval..
We could have used BigInterger, I know ... Anyway

> Do also remember that, in LDAP, OID are used to declare new attribute
> types,
> not
>
> Well, I'd like to create an automated open-EIS to LDAP mapping. In
> open-EIS we've got so-called templates (which are basically RDBMS tables
> with lots of sugar and niceties like multi-language support etc.). A
> template has a uniqe name called GUID, e.g. "c4u_classic_email". To
> avoid having to assign a unique template OID for each open-EIS template
> (extending the data model etc.), I just took the template GUID (which
> consist of [a-zA-Z0-9_] and is up to 128 characters long) and converted
> it to a number.



What about doing a conversion like : A-> 10+ 1, B-> 10 + 2, ... Z->10 + 26,
0 -> 0, 1 -> 1, ...etc leading to OIDs like that :
GUID = azerty12345
OID = 11.36.15.28.30.35.1.2.3.4.5

Just a suggestion ...

That way, the template GUID -> OID mapping is unique and I don't need a
> central registry (which is rather cumbersome because third parties may
> develop open-EIS modules themselves and currently, they don't need to
> tell us; then they'd need to apply for template OID, wait for it etc.).
>
> I'll try the 32-bits approach (BTW why 32 and not 42? ;-) ).



Because.

42 is totally different, and should be used with respect :
http://de.wikipedia.org/wiki/42_(Antwort)


--
Cordialement,
Emmanuel Lécharny
www.iktek.com

Tino Schwarze

2006-12-28, 1:11 pm

On Thu, Dec 28, 2006 at 04:55:11PM +0100, Emmanuel Lecharny wrote:

>
> The question is : will you AttributeType be OID ?


Yes, I will be generating attribute types on demand.

> Becuase then, well, we won't accept attribute values with OIDs
> containing arks above this interval. We could have used BigInterger,
> I know ... Anyway


>
> What about doing a conversion like : A-> 10+ 1, B-> 10 + 2, ... Z->10 + 26,
> 0 -> 0, 1 -> 1, ...etc leading to OIDs like that :
> GUID = azerty12345
> OID = 11.36.15.28.30.35.1.2.3.4.5
>
> Just a suggestion ...


Good point, very simple indeed. I could even stick to ASCII and
zero-terminate the "string". That way it would be "human readable" for
fluent ASCII speakers.

Thanks,

Tino.

--
www.quantenfeuerwerk.de
www.spiritualdesign-chemnitz.de
www.lebensraum11.de

Emmanuel Lecharny

2006-12-28, 1:11 pm

>
> 26,
>
> Good point, very simple indeed. I could even stick to ASCII and
> zero-terminate the "string". That way it would be "human readable" for
> fluent ASCII speakers.



you mean, OID= 65.90.69.82.84.89.49.50.51.52.53 for arzerty12345 ? Even
better than what I suggested. Not necessary to zero terminate the OID...

Thanks,
>
> Tino.
>
> --
> www.quantenfeuerwerk.de
> www.spiritualdesign-chemnitz.de
> www.lebensraum11.de
>




--
Cordialement,
Emmanuel Lécharny
www.iktek.com

Tino Schwarze

2006-12-28, 1:11 pm

On Thu, Dec 28, 2006 at 06:31:56PM +0100, Emmanuel Lecharny wrote:

>
> you mean, OID= 65.90.69.82.84.89.49.50.51.52.53 for arzerty12345 ?


Yes.

> Even better than what I suggested. Not necessary to zero terminate the
> OID...


Well, the (optional) zero would allow the hierarchy to be extended below
the encoded GUID. I even need that because this way I can assign each
open-EIS module a unique OID. My LDAP server would get an OID like this
(in decoded form):
....private-number.0.c4u_ldapserver.0.c4u_classic_email
the next module could get it's own OID space:
....private-number.0.c4u_something_else.0.custom-use

Hm. Supposed, anyone would need to parse back the OIDs. Otherwise, the
zero-termination is not neccessary, that's right.

Bye,

Tino.

--
www.quantenfeuerwerk.de
www.spiritualdesign-chemnitz.de
www.lebensraum11.de

Alex Karasulu

2006-12-28, 7:11 pm

Can't us just use a separate attribute for the correlation instead of
using an OID?

Alex

Tino Schwarze wrote:
> Hi Emmanuel,
>
> On Thu, Dec 28, 2006 at 03:56:50PM +0100, Emmanuel Lecharny wrote:
>
>
> Oh, I see. That's rather cumbersome and would clutter the structure a
> lot. Well, one's not supposed to parse the structure anyway...
>
>
> Well, I'd like to create an automated open-EIS to LDAP mapping. In
> open-EIS we've got so-called templates (which are basically RDBMS tables
> with lots of sugar and niceties like multi-language support etc.). A
> template has a uniqe name called GUID, e.g. "c4u_classic_email". To
> avoid having to assign a unique template OID for each open-EIS template
> (extending the data model etc.), I just took the template GUID (which
> consist of [a-zA-Z0-9_] and is up to 128 characters long) and converted
> it to a number.
>
> That way, the template GUID -> OID mapping is unique and I don't need a
> central registry (which is rather cumbersome because third parties may
> develop open-EIS modules themselves and currently, they don't need to
> tell us; then they'd need to apply for template OID, wait for it etc.).
>
> I'll try the 32-bits approach (BTW why 32 and not 42? ;-) ).
>
>
> Thanks,
>
> Tino.
>



Alex Karasulu

2006-12-28, 7:11 pm

Tino Schwarze wrote:
> On Thu, Dec 28, 2006 at 04:55:11PM +0100, Emmanuel Lecharny wrote:
>
>
> Yes, I will be generating attribute types on demand.


Ok ignore my previous email ... now that I know what you're doing yes
you do need an OID for this.

Alex

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com