Allow origin-id elements, disallow stanza-id and extended stanza addressing elements inside the payload element
+Clarify wording on stanza processed elements and improve XEP formatting
+Remove limitation of random padding content to base64 characters alone
+Chat messages MUST contain message processing store hint
+Credit where credit is due
+As a last step, the original unencrypted stanza is recreated by replacing the &envelope; element of the stanza with the contents of the &payload; element.
-The receiving client MUST ignore certain elements that may allow for attacks to take place.
-Since it is hard to come up with a complete list of blacklisted elements, a general rule of thumb would be the following:
-Blacklisted are all elements that need to be read by the server at some point.
-Below is an additional list of elements that are definitely forbidden inside the &content; element and MUST instead be placed in the message unencrypted.
-Element | Reason | ||
---|---|---|---|
Elements of &xep0334; | -Those elements are addressed to the server and of no interest for the client | +Message Processing Hints are addressed to the server and MUST therefore be accessible in plaintext. A receiving client MUST ignore any message processing hints encountered inside the encrypted &content; element | |
Origin-ID elements of &xep0359; | -These IDs may be used to identify a message even though it cannot be decrypted. | +Stanza-ID elements of &xep0359; | +Sending clients MUST NOT include Stanza-ID elements inside the &content; element, as this would prevent the server from filtering it. + A client MUST ignore Stanza-ID elements encountered inside &content; element | +
Elements of &xep0033; | +The server MUST be able to access the <addresses/> and <address/> elements in order to do message routing, so they MUST NOT be encrypted. | ||
TODO: Other elements? | @@ -348,17 +362,21 @@