[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Proposed Resolution to Issue 198: Attribute Concatenation/Splitting
The text of Issue 198 is enclosed below. The proposed resolution is as
follows:
Change Section 2 to the following:
"2. NAS-Filter-Rule Attribute
Description
This attribute indicates filter rules to be applied for this user.
Zero or more NAS-Filter-Rule attributes MAY be sent in Access-
Accept, CoA-Request, or Accounting-Request packets.
The NAS-Filter-Rule attribute is not intended to be used
concurrently with any other filter rule attribute, including
Filter-Id (11) and NAS-Traffic-Rule [Traffic] attributes, and
SHOULD NOT appear in the same RADIUS packet. If a Filter-Id
attribute is present, then implementations of this specification
MUST silently discard NAS-Filter-Rule attributes, if present.
Where more than one NAS-Filter-Rule attribute with the same non-
zero Tag field value is included in a RADIUS packet, the String
field of the attributes are to be concatenated to form a single
filter. As noted in [RFC2865] Section 2.3, "the forwarding server
MUST NOT change the order of any attributes of the same type", so
that RADIUS proxies will not reorder NAS-Filter-Rule attributes.
A summary of the NAS-Filter-Rule Attribute format is shown below.
The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Tag | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
>=4
Tag
The Tag field is one octet, and MUST always be present. It is
used to identify the filter rule that is represented. Where a
single filter rule exceeds 253 octets in length, the rule MUST be
encoded across multiple NAS-Filter-Rule attributes, each with the
same Tag value; Tag values MUST be unique for each filter rule
present in a RADIUS packet with the exception of a Tag value of
'0' (0x30). The value of '0' (0x30) in the Tag field indicates
that the attribute contains a filter rule that does not exceed 253
octets in length; as a result attributes with a Tag value of 0x30
MUST NOT be concatenated, and one or more Filter-Rule attributes
with a tag value of 0x30 may be included in a single RADIUS
packet, each describing a single filter rule.
String
The String field is one or more octets. It contains filter rules
in the IPFilterRule syntax defined in [RFC3588] Section 4.3.
[RFC3629] UTF-8 encoded 10646 characters are RECOMMENDED, but a
robust implementation SHOULD support the field as undistinguished
octets."
-------------------------------------
Issue 198: Attribute Concatenation/Splitting
Submitter names: Pasi Eronen
Submitter email address: pasi.eronen@nokia.com
Date first submitted: June 30, 2006
Reference: http://ops.ietf.org/lists/radiusext/2006/msg00640.html
Document: Filter-00
Comment type: 'T'echnical
Priority: S
Section: 2 and 4
Rationale/Explanation of issue:
Section 2 currently says that "Where more than one NAS-Filter-Rule
attribute is included in a RADIUS packet, the attributes MUST be
consecutive and it is assumed that the attributes are to be
concatenated to form a single filter list."
I guess this means that a single long rule can be split into multiple
NAS-Filter-Rule attributes? And a single NAS-Filter-Rule attribute
could contain pieces of multiple rules? If so, I'd recommend
separating the individual rules somehow. In the current version of
NAS-Traffic-Rule each individual rule ends with LF, making it easy to
determine where one rule ends and another one begins. I'd suggest
adopting this same convention for RADIUS NAS-Filter-Rule.
This concatenation/splitting has also implications for Diameter
translation (Section 4): AVPs coming from Diameter side may have to be
split to several RADIUS attributes (and rule delimiters added), and
attributes coming from RADIUS side have to be concatenated/split to
Diameter AVPs (and rule delimiter removed).
--
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/>