You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Explicitly require transports to validate inbound messages
The L1 specification has been updated to explicitly require transports
to validate inbound messages and discard invalid ones. This change
enhances the robustness and security of the protocol by ensuring that
only well-formed messages are processed by higher levels.
Note that the validation of outbound messages is already required by
the "send" operation.
Copy file name to clipboardExpand all lines: up-l1/README.adoc
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -220,9 +220,9 @@ UTransport implementations
220
220
* *MUST* fail invocations of <<receive>> with a `UCode.UNIMPLEMENTED`, if the transport does not support the _pull_ <<delivery-method, delivery method>>.
* *MUST* fail invocations of <<receive>> with a `UCode.NOT_FOUND`, if there are no matching messages available.
225
+
* *MUST* fail invocations of <<receive>> with a `UCode.NOT_FOUND`, if there are no matching messages available. This is also the case if the a package data unit cannot be deserialized into a valid xref:../basics/umessage.adoc[uProtocol message]. Transport implementations *SHOULD* use the validation functionality provided by language libraries for this purpose, if available.
226
226
--
227
227
228
228
[mermaid]
@@ -335,6 +335,11 @@ UTransport implementations
335
335
* *MUST* deliver matching messages to a successfully registered listener. This means that for each message that the transport receives _after_ <<register-listener>> has completed successfully, and which matches the listener's source and sink filter criteria according to the xref:../basics/uri.adoc#pattern-matching[UUri pattern matching rules], the transport *MUST* invoke the listener's <<on-receive>> method _at least once_.
* *MUST* discard any inbound transport specific package data unit that cannot be deserialized into a valid xref:../basics/umessage.adoc[uProtocol message]. Transport implementations *SHOULD* use the validation functionality provided by language libraries for this purpose, if available.
0 commit comments