[Standards] What is the size limit of node and item ids in XEP-0060: Publish-Subscribe?

Peter Saint-Andre stpeter at stpeter.im
Sun Mar 4 01:30:17 UTC 2018

> On Mar 3, 2018, at 2:36 PM, Timothée Jaussoin <edhelas at movim.eu> wrote:
>> Le jeudi 01 mars 2018 à 07:10 -0700, Peter Saint-Andre a écrit :
>>> On 3/1/18 1:07 AM, Jonas Wielicki wrote:
>>>> On Donnerstag, 1. März 2018 08:52:29 CET Florian Schmaus wrote:
>>>>> On 01.03.2018 01:17, Peter Saint-Andre wrote:
>>>>>> On 2/28/18 3:18 PM, Timothée Jaussoin wrote:
>>>>>> Hi,
>>>>>> I came across a database limitation while implementing Pubsub in Movim.
>>>>>> I'd like to know if we have a limitation for the size of the node and
>>>>>> items ids in Pubsub (like we have for the JIDs). Also do we have some
>>>>>> specific forbid characters, basically what is the format of such
>>>>>> attributes? If noting is already specificed I think that it would be
>>>>>> wise to update the 0060 to do so.> 
>>>>> My inclination is to specify a length of 1023 octets
>>>> Which would break applications and protocols using JIDs as node or item
>>>> identifier. This includes for example MIX. If we want to allow this, we
>>>> need at least (3x1023)+2 octets, and then I would probably go for 4096
>>>> octets.
>>> This is bikeshedding territory. But given that databases have limits on the 
>>> size of keys, using as many as needed and as few as possible octets (the 3071 
>>> you quoted) is probably sensible.
>>> Do those protocols use bare or full JIDs? If they only use bare and if we 
>>> agree that full JIDs (due to their transience) do not make sense, the limit 
>>> could conceivably be as low as 2047, which is probably comfortable for 
>>> databases to handle.
>> A full, especially non-client JID need not be transient, so I suppose
>> we'd set it to 3071 (not sure why we'd need 4096 other than the fact
>> it's a power of 2):
>> https://tools.ietf.org/html/rfc7622#section-3.1
>> Peter
>> _______________________________________________
>> Standards mailing list
>> Info: https://mail.jabber.org/mailman/listinfo/standards
>> Unsubscribe: Standards-unsubscribe at xmpp.org
>> _______________________________________________
> Hi,
> Thanks for the answers. I'm fine for the 3071 limitation, so we can set it both for the Pubsub nodes id and Pubsub items it?
> If yes I'm ok to do a PR on the 0060 to specify that. I'm also wondering if there is a specific way of declaring such string
> limitations, are you aware of any other XEPs that specify such things?

As mentioned, I think this belongs in XEP-0030 but I suppose it can be defined in XEP-0060.

See appendix A.7 of RFC 6120 for an example of length limits in XML Schema. RFC has similar text as well.



More information about the Standards mailing list