[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Extended attrs doc
Does anyone have feedback?
My $0.02 is that the format of the "long" attributes is very awkward.
It means that there are *two* format changes. The "flags" octet has 7
unused bits, which doesn't seem useful. And the discussion around the
whole "flags" thing seems awkward.
I've had some off-list discussions with people, and would like to
propose an alternative.
The idea is to allow "fragmented" attributes, via an explicit
"Fragment-Data" attribute. This attribute would be assigned number 255,
and would be defined as being a fragment of the *previous* attribute.
The rules for encoding it are:
- take attribute data (> 253 octets)
- fill up the first attribute as normal, until "length = 255"
- take the rest of the data
- chop it into fragments of 253 octets
- pack it into "Fragment-Data" (type = 255, length = 255)
- last fragment has length <= 255
OR last fragment has length == 255, AND the next attribute
is not Fragment-Data
The rules for decoding it are:
- For each attribute in the packet
- if length is 255 AND the next attribute is Fragment-Data (255)
THEN the data from the next attribute is concatenated to this one
There are two issues with this proposal:
1) vendors have "self allocated" attribute 255. This proposal is
compatible with that, as Fragment-Data is define only when the
previous attribute has Length==255. This should be rare.
2) existing proxies re-ordering attributes.
RFC 2865 says that implementations MUST NOT re-order attributes
of the same type. But they CAN re-order attributes of differing
type. So there's a chance that proxies which don't understand
Fragment-Data will re-order them, breaking the packet entirely...
I'm not aware of many (if any) proxies that do (2). Most are more
stringent than the requirements of RFC 2865, and don't re-order
attributes of differing type.
Thoughts?
Alan DeKok.
--
to unsubscribe send a message to radiusext-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://psg.com/lists/radiusext/>