Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Non-conformance] Handling Further Requests with Sizes Greater than the Server's Preferred Size #42

Open
bathooman opened this issue Sep 12, 2024 · 0 comments

Comments

@bathooman
Copy link

Environment

  • Build System: [Make]
  • Operating System: [Linux]
  • Branch: master

Problem Description

In the CoAP block-wise transfer process, once the block size has been expressed by the server, it is expected that all entities will adhere to this agreed-upon size for the remainder of the data exchange. A non-conformance issue arises when a server receives a message with a block size that deviates from the one previously agreed-upon and does not generate an error or ignore it.

Expected Behavior

The RFC 7959 requires that:

In response to a request with a payload (e.g., a PUT or POST transfer), the block size given in the Block1 Option indicates the block size preference of the server for this resource.
...
the client SHOULD heed the preference indicated and, for all further blocks, use the block size preferred by the server or a smaller one.

Actual Behavior

In this case, for the second block in a block-wise transfer, block size is considered to be 256 rather than the agreed-upon value (64). Upon receiving this invalid value, server does not generate any error code.

You can find the Wireshark interaction in the following:
further-request-non.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant