-
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
Make client handling of invalid IDs a bit more lenient. #30452
Make client handling of invalid IDs a bit more lenient. #30452
Conversation
Before this change, if a server happened to send an attribute report with an invalid cluster or attribute id (very common for vendor-prefixed things that people set up incorrectly), the entire read or subscription would fail and no reports would be processed after the invalid id. This causes wildcard subscriptions to completely fail if the device happens to have an invalid path configured somewhere. The new behavior is to completely skip that one AttributeReportIB and process the other ones in the list.
PR #30452: Size comparison from c0b5b8d to 0609089 Increases (70 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, telink)
Decreases (2 builds for linux)
Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, telink)
|
@bzbarsky-apple we seem to have hit the QPG resource limit. Somewhat surprised given that the chane looked on the small side ... anything we can do? |
@andy31415 The limit got raised, but I was going to see whether I can modify the change to not entail a codesize increase. |
PR #30452: Size comparison from 4922ea6 to 801426f Increases above 0.2%:
Increases (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
Decreases (1 build for linux)
Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
Merged with master and QPG seems to pass now. |
Before this change, if a server happened to send an attribute report with an invalid cluster or attribute id (very common for vendor-prefixed things that people set up incorrectly), the entire read or subscription would fail and no reports would be processed after the invalid id. This causes wildcard subscriptions to completely fail if the device happens to have an invalid path configured somewhere.
The new behavior is to completely skip that one AttributeReportIB and process the other ones in the list.