[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: "Last Look" at the RADIUS Design Guidelines document



> A. Section 2.1.3
>
> I did not find the discussion of complex attributes very compelling.
> Its not clear to me what the difference between string and complex
> attribute is. If your RADIUS server supports string then it seems that
> it would be possible to support a complex attribute without requiring a
> "code change".

There are several distinct aspects that are discussed in Section 2.1.3:

a. Enabling a RADIUS server to send a complex attribute;
b. Enabling a RADIUS server to receive a complex attribute;
c. Enabling a RADIUS client to send a complex attribute;
d. Enabling a RADIUS client to receive a complex attribute.

However, rather than examining each of these aspects separately, the section
appears to switch between the aspects, sometimes within the same paragraph.
As a result, it is not always clear what aspects are being discussed.  Since the
arguments made depend on what aspect is being discussed, it can be hard to
follow.

For example, the second paragraph of Section 2.1.3 seems to focus largely on a).  As you say,
in this case, a RADIUS server can send a complex attribute without a code change
(merely by encoding it as a string). 

However, while the first bullet appears to apply to aspect a) (e.g. ease of data entry),
the second and third bullets appear to relate either to aspect b) or d). 

On reading the second and third bullets, I'm not sure which aspect is being referred to.
In paragraph 4, it is noted that RADIUS clients require code changes to support any
attribute, regardless of whether it is complex or not.   Therefore one cannot make
an argument about additional code changes arising from aspect c) or d), only
aspect b).

Presumably, with respect to aspect d), a RADIUS client receiving a complex attribute
would also implement the required parsing and validation routes for that
attribute (if not, then the client would either ignore the attribute, or possibly reject the
Access-Response).   So on reading this, I'm not sure that the "additional error checking"
applies to, exactly.

In reading paragraph 3 about server code changes, there does not appear to be a
distinction between aspect a (in which code changes are not required) and aspect b
(in which a code change would be necessary). 

Paragraph 4 does make the distinction between aspects c and d.

However, paragraph 6 mixes aspects a) and b).  Paragraph 4 seems to assert that code
changes are not required for aspect a), while this paragraph does seem to say
that this is possible, though it is not clear in what circumstances this would be
necessary.