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

Timothée Jaussoin edhelas at movim.eu
Sat Mar 3 21:36:11 UTC 2018


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?

Regards,

Timothée


More information about the Standards mailing list