In my working copy of rfc3921bis I have:*** The server SHOULD return a <not-allowed/> error to the client if the roster set violates any of the following rules: 1. The <item/> element MAY contain a 'name' attribute, but the value of the 'name' attribute SHOULD NOT be more than 1023 characters in length. 2. The XML character data of any given <group/> element MUST NOT be of zero length and SHOULD NOT be more than 1023 characters in length. *** It says SHOULD NOT. If a server has good reasons to go over 1024, it is perfectly allowed to do so. So this is a guideline, not a requirement. As a guideline I think it makes a lot of sense (we can quibble over the size).
It would be handy to also specify an extended additional error along with the <not-allowed/> so that the client can know what part of the roster item is wrong which would add to the flexibility, e.g. <name-limit-exceeded xmlns="urn:xmpp:roster:errors"/> and <groupname-limit-exceeded xmlns="urn:xmpp:roster:errors"/>.
This will allow the client to present the appropriate message to the user as to what they need to modify, this along with the not set in stone limit of 1023 is flexible enough for me.
Richard
