dictionary: override attribute type/id mapping
Andriy Gapon
avg at icyb.net.ua
Thu Feb 9 15:02:05 CET 2006
Alan,
thank you very much for your reply. Sorry if my reply breaks message
threading for you - I am replying based on the web-archive as I don't
receive this list by email.
I also want to apologize if my tone seemed too attacking towards
freeradius for such a novice that I am.
I want to "restart" this discussion while providing some minor
comment/replies to your answer.
Now to the subject matter: let us imagine some not very distant future
when digest authentication extension is finally standardized, there is
an RFC for it, there are devices/software that implement it. FreeRADIUS
obviously also wants to support this RFC-digest-extension. On the other
hand there are still many devices out there that use
draft-sterman-aaa-sip-00.txt and FreeRADIUS obviously wants to continue
to support them as well. In both cases people would probably like to use
"Digest-Response" attribute name (and other digest attribute names), so
that it refers to a correct attribute for their configuration.
I thought about this a little bit and I think that either some new names
would have to be introduces (e.g. "Digest-Response-New" or
"Digest-Response-Old") or somehow separate dictionaries would have to be
created and users would have to be careful about using them.
How would you resolve such situation ? Maybe I am totally missing some
other possibilities ? Are there any precedents ?
And some comments below:
Alan DeKok wrote:
> Andriy Gapon <avg at icyb.net.ua> wrote:
>> Shouldn't I be able to override name->number mapping for attributes ?
>
> Yes, so long as the only thing different is the name.
>
> ATTRIBUTE Foo-Bar 10 ipaddr
> ATTRIBUTE Bar-Foo 10 ipaddr
>
> is OK.
>
> ATTRIBUTE Foo-Bar 10 ipaddr
> ATTRIBUTE Bar-Foo 10 string
>
> is not OK.
I wanted (or, at least, I thought that I wanted) something a little bit
different - not a new name for the same type, but a different type for
the same name. E.g.:
$ cat /usr/local/etc/raddb/dictionary
ATTRIBUTE My-Local-String 300 string
ATTRIBUTE My-Local-String 301 string
$ radiusd -sfxxyz -l stdout
...
main: debug_level = 0
read_config_files: reading dictionary
Errors reading dictionary: dict_init:
/usr/local/etc/raddb/dictionary[2]: dict_addattr: Duplicate attribute
name My-Local-String
Errors reading radiusd.con
>
[skipped]
> Please *read* the attribute definitions. The definitions in
> dictionary are RADIUS attributes that go over the wire. The ones in
> dictionary.freeradius.internal are not.
Yes, but they can still create some confusion - dict_attrbyname() will
still see them. But this is not important.
>> Especially given that those definitions are based on the very old
>> and expired draft and are very unlikely to become standard.
>
> Standards matter less thyan interoperability. There are many
> systems deployed with the current digest attributes. Changing them
> now is not an option.
Completely agreed, but I am rather talking about moving them into a
separate file (BTW, there already seems to be "dictionary.digest")
instead of having them directly in "dictionary".
>> I think that those definitions should be clearly separated into
>> their own dictionary
>
> Once a standard is published for digest, the attributes in that
> standard will be placed in their own dictionary.
>
>> and they should also somehow be marked as based on the
>> draft-sterman-aaa-sip-00.txt
>
> The ones in "dictionary" are marked as being based on that draft.
By "marked" I meant not a mere comment in a dictionary file, but some
prefix to their name or something like that, e.g.
"PreRFC-Digest-Response". But this is probably too intrusive to do now.
>
[skipped]
>
--
Andriy Gapon
More information about the Freeradius-Users
mailing list