> But also XML C14N-based signing (such as XMLDSIG, which also happens in the 
> real world) would be broken by element reordering.

Doesn’t the server adding or overriding a “from” in RFC6120 8.1.2.1 already 
break XMLDSIG canonicalization?

> You not emitting in the correct order is an interop concern as we've seen, 
> but is broadly something we can argue about. You not caring about ordering 
> when forwarding seems like it's broken.


I emit in the correct order, even if it’s not the original order. I maintain 
order where it matters. In the case of a data forms with <reported/> after the 
<item/>s, my implementation would forward the “correct” version with 
<reported/> first. Is that worse than sending the original?

 I feel like there’s something in the spec I am missing here.

> On Feb 17, 2021, at 9:44 AM, Dave Cridland <d...@cridland.net> wrote:
> 
> 
> 
> On Wed, 17 Feb 2021 at 13:31, <drew.var...@ninefx.com> wrote:
>> But you reorder different elements with anything that has a spec when 
>> forwarding, is that right?
> 
> Correct. We may change the order in which child elements appear for elements 
> in our spec. Order among child elements of the same type (el name + 
> namespace) is stable. Child elements of the same type will always appear 
> contiguously.
> 
> 
> OK, this sounds like a bug you may wish to fix.
> 
> There's nothing in our specifications which says that ordering is 
> insignificant, and general principles such as the end-to-end principle very 
> strongly suggest you shouldn't be messing with any ordering which could - to 
> the endpoints - be significant (even if you think it isn't).
> 
> There are practical examples which could be covered by your code here, like 
> security labelling in PubSub, which (in practise, and contrary to what 
> XEP-0314 says on the issue) adds child elements to the <item/> after the 
> payload, and consumers assume the first element is always the payload.
> 
> But also XML C14N-based signing (such as XMLDSIG, which also happens in the 
> real world) would be broken by element reordering.
> 
> You not caring about ordering on parsing is fine. You not emitting in the 
> correct order is an interop concern as we've seen, but is broadly something 
> we can argue about. You not caring about ordering when forwarding seems like 
> it's broken.
>  
> We don’t have a good way to annotate/enforce that certain child element types 
> need to appear before other child element types.
> 
> Attribute order, namespacing method (xmlns vs. prefix), and insignificant 
> white space could also change.
> 
> Aside from the latter - it's not clear to me how you tell if whitespace is 
> truly insignificant - those are all OK, though unexpected.
>  
> 
>> On Feb 17, 2021, at 7:27 AM, Dave Cridland <d...@cridland.net> wrote:
>> 
>> 
>> 
>> 
>> On Tue, 16 Feb 2021 at 15:07, Drew Varner <drew.var...@ninefx.com> wrote:
>> > So, for example, XEP-0141 page elements could be reordered? 
>> 
>> No. The spec does not know about markup mini languages like XEP-0141, 
>> XEP-0071,  XEP-0393 and XEP-0394. Markup is validated at the client. Order 
>> is maintained because the spec just encodes unknown XML into a struct that 
>> maintains child order. It’s just a pain to bake those into the spec.
>> 
>> > Fields in forms are assumed to be ordered as well,
>> 
>> No. The order of XData fields in a form (“x”) is maintained. It’s a list of 
>> fields. The order that could change is whether  the list of instructions 
>> comes after the list of fields.
>> 
>> https://github.com/processone/xmpp/blob/master/specs/xmpp_codec.spec#L2027-L2028
>> 
>> But you reorder different elements with anything that has a spec when 
>> forwarding, is that right?
>> 
>> Dave. 
>> _______________________________________________
>> Standards mailing list
>> Info: https://mail.jabber.org/mailman/listinfo/standards
>> Unsubscribe: standards-unsubscr...@xmpp.org
>> _______________________________________________
> _______________________________________________
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> _______________________________________________
> _______________________________________________
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> _______________________________________________

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
_______________________________________________

Reply via email to