project-chip / rs-matter

Rust implementation of the Matter protocol. Status: Experimental
Apache License 2.0
303 stars 43 forks source link

Bugfix: Do not reset mDNS #161

Closed ivmarkov closed 2 months ago

ivmarkov commented 2 months ago

As per section 5.5 Commissioning Flows of the spec: " In non-concurrent connection commissioning flow the commissioning channel SHALL terminate after successful step 12 (trigger joining of operational network at Commissionee). The PASE-derived encryption keys SHALL be deleted when commissioning channel terminates. The PASE session SHALL be terminated by both Commissioner and Commissionee once the CommissioningComplete command is received by the Commissionee. "

(Emphasis mine.)

To delete the encryption keys, we call Matter::reset, which - in turn - calls TransportMgr::reset. There are 3 issues with the current method:

This PR fixes all of these three issues.