#968 mod_http_upload sends urn:xmpp:http:upload:0 slot assignments with urls in nodes' string content
Reporter
notaname
Owner
Zash
Created
Updated
Stars
★★ (3)
Tags
Compliance
Status-Fixed
Priority-Medium
Type-Defect
notaname
on
Since the namespace bump to urn:xmpp:http:upload:0, urls in a slot assignment should be put into attributes of the get/set node, however prosody still puts them into the string content of the nodes (as it was in urn:xmpp:http:upload).
XEP 0363, Example 6. The upload service responds with a slot
<iq from='upload.montague.tld'
id='step_03'
to='romeo@montague.tld/garden'
type='result'>
<slot xmlns='urn:xmpp:http:upload:0'>
<put url='https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my-juliet.jpg'>
<header name='Authorization'>Basic Base64String==</header>
<header name='Host'>montague.tld</header>
</put>
<get url='https://download.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my-juliet.jpg' />
</slot>
</iq>
Prosody instead does this:
<iq id='123' type='result' to='domain.com/resource' from='domain.com'>
<slot xmlns='urn:xmpp:http:upload:0'>
<get>
https://domain.com/test.png
</get>
<put>
https://domain.com/test.png
</put>
</slot>
</iq>
Since the namespace bump to urn:xmpp:http:upload:0, urls in a slot assignment should be put into attributes of the get/set node, however prosody still puts them into the string content of the nodes (as it was in urn:xmpp:http:upload). XEP 0363, Example 6. The upload service responds with a slot <iq from='upload.montague.tld' id='step_03' to='romeo@montague.tld/garden' type='result'> <slot xmlns='urn:xmpp:http:upload:0'> <put url='https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my-juliet.jpg'> <header name='Authorization'>Basic Base64String==</header> <header name='Host'>montague.tld</header> </put> <get url='https://download.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my-juliet.jpg' /> </slot> </iq> Prosody instead does this: <iq id='123' type='result' to='domain.com/resource' from='domain.com'> <slot xmlns='urn:xmpp:http:upload:0'> <get> https://domain.com/test.png </get> <put> https://domain.com/test.png </put> </slot> </iq>
Fixed in https://hg.prosody.im/prosody-modules/rev/e1edf643fbb1
Changes