-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Need to implement handling of CloseSession status messages #16839
Comments
Are we talking about the recipient of CloseSession acking? We don't need to:
|
Ah, perfect. I had missed that part. Then yes, we don't need to worry about acks. |
To handle a CloseSession status message, we need something with access to SecureChannel::StatusReport. That means it can't live in src/transport or src/messaging, so can't be handled by the session manager or exchange manager automatically. So unfortunate as it is, add yet another thing that needs to be initialized and initialize it once we have an initialized exchange manager. Fixes project-chip#16839
To handle a CloseSession status message, we need something with access to SecureChannel::StatusReport. That means it can't live in src/transport or src/messaging, so can't be handled by the session manager or exchange manager automatically. So unfortunate as it is, add yet another thing that needs to be initialized and initialize it once we have an initialized exchange manager. Fixes #16839
Problem
The spec defines, in "4.10.1.4. CloseSession", a secure channel status code that forces closing of the secure session it's delivered on. This is not implemented, but error recovery during commissioning critically depends on this.
Proposed Solution
What I think we need to do is:
Make sure that as we're closing the session we at least get the MRP ack off first, so the other side doesn't keep retrying. This might already work, possibly; we will need to check.Edit: no MRP involved with CloseSession.@cecille @tcarmelveilleux @lochan-apple @msandstedt
The text was updated successfully, but these errors were encountered: