[Standards] Jingle File Transfer (XEP-0234) uses NonNegativeInteger instead of UnsignedLong.

Florian Schmaus flo at geekplace.eu
Tue Jul 18 10:16:02 UTC 2017

On 17.07.2017 14:45, Jonas Wielicki wrote:
> On Montag, 17. Juli 2017 13:29:02 CEST Paul Schaub wrote:
>> This is a very minor issue, but XEP-0234 uses positiveInteger as
>> attribute type for the FileTransferElementType's size attribute.
>> positiveInteger contains all positive numbers except '0', which requires
>> implementers to choose eg. the BigInteger class to represent that value.
> Or an implementation could reject the transfer with a policy-violation or 
> similar error in case it cannot handle files or numbers that big.

IMHO unbounded values should be avoided in protocols when possible.

>> I think unsignedLong would fit better here. Same goes for the
>> fileTransferRangeType's offset value, which is currently
>> nonNegativeInteger. This limits the size of the transferred file to 4GB
>> or less.
> Please let us not do that in the standard. I know, nobody will ever transfer 4 
> GiB files over XMPP---until someone does. The size should at least be 64 bits 

xs:unsignedLong is 64 bits [1].

> wide, but I really prefer to have the maximum size unspecified in the XEP and 
> let implementations handle too large numbers with an appropriate error.

"64 bits should be enough for everyone"

- Florian

1: https://www.w3schools.com/xml/schema_dtypes_numeric.asp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 642 bytes
Desc: OpenPGP digital signature
URL: <http://mail.jabber.org/pipermail/standards/attachments/20170718/fac7274a/attachment.sig>

More information about the Standards mailing list