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

Draft: Add configurable ep1 ACLs and bindings #23212

Merged
merged 3 commits into from
Nov 8, 2022
Merged

Conversation

chrisdecenzo
Copy link
Contributor

Fixes #23208

After commissioning a casting video client using ContentAppPlatform::ManageClientAccess

  1. The set of clusters on ep1 which are allowed via ACL is not configurable
  2. The bindings set on the target is not configurable
  • all previous bindings are wiped out
  • commissioners may want to read the existing bindings and merge with the current set

This PR allows the ContentAppPlatformFactory to set the cluster list on ep1, and pass a binding list to ManageClientAccess.

The linux and android example tv-apps all read the current binding list and perform a merge rather than replacement of bindings.

@github-actions
Copy link

PR #23212: Size comparison from 9f08fc1 to d9523e4

Increases (2 builds for psoc6)
platform target config section 9f08fc1 d9523e4 change % change
psoc6 all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26568826 26568827 1 0.0
light cy8ckit_062s2_43012 .debug_info 22032548 22032549 1 0.0
Decreases (3 builds for nrfconnect, psoc6)
platform target config section 9f08fc1 d9523e4 change % change
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 815708 815704 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 26832044 26832043 -1 -0.0
lock cy8ckit_062s2_43012 .debug_info 22271244 22271243 -1 -0.0
Full report (20 builds for cc13x2_26x2, cyw30739, k32w, mbed, nrfconnect, psoc6)
platform target config section 9f08fc1 d9523e4 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 677175 677175 0 0.0
(read/write) 174368 174368 0 0.0
.bss 81236 81236 0 0.0
.data 3380 3380 0 0.0
.rodata 89791 89791 0 0.0
.text 587072 587072 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 641423 641423 0 0.0
(read/write) 158004 158004 0 0.0
.bss 80508 80508 0 0.0
.data 3380 3380 0 0.0
.rodata 78927 78927 0 0.0
.text 562176 562176 0 0.0
lock-ftd LP_CC2652R7 (read only) 675867 675867 0 0.0
(read/write) 172828 172828 0 0.0
.bss 78476 78476 0 0.0
.data 3304 3304 0 0.0
.rodata 77315 77315 0 0.0
.text 598072 598072 0 0.0
lock-mtd LP_CC2652R7 (read only) 659623 659623 0 0.0
(read/write) 184760 184760 0 0.0
.bss 74164 74164 0 0.0
.data 3304 3304 0 0.0
.rodata 103135 103135 0 0.0
.text 556008 556008 0 0.0
pump-app LP_CC2652R7 (read only) 687915 687915 0 0.0
(read/write) 161500 161500 0 0.0
.bss 78428 78428 0 0.0
.data 3296 3296 0 0.0
.rodata 90731 90731 0 0.0
.text 596700 596700 0 0.0
pump-controller-app LP_CC2652R7 (read only) 672423 672423 0 0.0
(read/write) 177104 177104 0 0.0
.bss 78540 78540 0 0.0
.data 3292 3292 0 0.0
.rodata 86287 86287 0 0.0
.text 585656 585656 0 0.0
shell LP_CC2652R7 (read only) 668198 668198 0 0.0
(read/write) 185664 185664 0 0.0
.bss 83556 83556 0 0.0
.data 3376 3376 0 0.0
.rodata 86502 86502 0 0.0
.text 581380 581380 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 587914 587914 0 0.0
.app_xip_area 464524 464524 0 0.0
.bss 65808 65808 0 0.0
.data 760 760 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592162 592162 0 0.0
.app_xip_area 463452 463452 0 0.0
.bss 71120 71120 0 0.0
.data 768 768 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 543958 543958 0 0.0
.app_xip_area 425624 425624 0 0.0
.bss 60800 60800 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
k32w contact k32w0+release (read/write) 661284 661284 0 0.0
.bss 77040 77040 0 0.0
.data 2104 2104 0 0.0
.text 563028 563028 0 0.0
light k32w0+release (read/write) 671280 671280 0 0.0
.bss 74816 74816 0 0.0
.data 2060 2060 0 0.0
.text 591676 591676 0 0.0
lock k32w0+release (read/write) 633092 633092 0 0.0
.bss 75600 75600 0 0.0
.data 2080 2080 0 0.0
.text 552684 552684 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2452168 2452168 0 0.0
.bss 215028 215028 0 0.0
.data 5872 5872 0 0.0
.text 1414812 1414812 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1183451 1183451 0 0.0
bss 144441 144441 0 0.0
rodata 144396 144396 0 0.0
text 815708 815704 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1162119 1162119 0 0.0
bss 143668 143668 0 0.0
rodata 135968 135968 0 0.0
text 803600 803600 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 0 0 0 0.0
(read only) 841968 841968 0 0.0
(read/write) 1745212 1745212 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188712 188712 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1229384 1229384 0 0.0
.debug_aranges 111872 111872 0 0.0
.debug_frame 373516 373516 0 0.0
.debug_info 26832044 26832043 -1 -0.0
.debug_line 3672175 3672175 0 0.0
.debug_loc 3589235 3589235 0 0.0
.debug_ranges 339728 339728 0 0.0
.debug_str 3441214 3441214 0 0.0
.heap 841968 841968 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 569639 569639 0 0.0
.symtab 421184 421184 0 0.0
.text 1545448 1545448 0 0.0
.zero.table 8 8 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 0 0 0 0.0
(read only) 842704 842704 0 0.0
(read/write) 1687796 1687796 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1221183 1221183 0 0.0
.debug_aranges 111344 111344 0 0.0
.debug_frame 376596 376596 0 0.0
.debug_info 26568826 26568827 1 0.0
.debug_line 3692892 3692892 0 0.0
.debug_loc 3576872 3576872 0 0.0
.debug_ranges 338344 338344 0 0.0
.debug_str 3430227 3430227 0 0.0
.heap 842704 842704 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 533728 533728 0 0.0
.symtab 407616 407616 0 0.0
.text 1488768 1488768 0 0.0
.zero.table 8 8 0 0.0
light cy8ckit_062s2_43012 0 0 0 0.0
(read only) 850896 850896 0 0.0
(read/write) 1606356 1606356 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179992 179992 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2456 2456 0 0.0
.debug_abbrev 1055294 1055294 0 0.0
.debug_aranges 103552 103552 0 0.0
.debug_frame 346928 346928 0 0.0
.debug_info 22032548 22032549 1 0.0
.debug_line 3262816 3262816 0 0.0
.debug_loc 3274834 3274834 0 0.0
.debug_ranges 303648 303648 0 0.0
.debug_str 3235759 3235759 0 0.0
.heap 850896 850896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 470105 470105 0 0.0
.symtab 376064 376064 0 0.0
.text 1415520 1415520 0 0.0
.zero.table 8 8 0 0.0
lock cy8ckit_062s2_43012 0 0 0 0.0
(read only) 845880 845880 0 0.0
(read/write) 1640276 1640276 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184992 184992 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2472 2472 0 0.0
.debug_abbrev 1057420 1057420 0 0.0
.debug_aranges 103952 103952 0 0.0
.debug_frame 348820 348820 0 0.0
.debug_info 22271244 22271243 -1 -0.0
.debug_line 3260677 3260677 0 0.0
.debug_loc 3303427 3303427 0 0.0
.debug_ranges 305592 305592 0 0.0
.debug_str 3255273 3255273 0 0.0
.heap 845880 845880 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 472512 472512 0 0.0
.symtab 377728 377728 0 0.0
.text 1444424 1444424 0 0.0
.zero.table 8 8 0 0.0

Copy link
Contributor

@amitnj amitnj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. One thing that can be done at a later point is to create an object for the callbacks and pass the context to that object instead of caching it in the listener object which we create only one instance of.

Copy link
Contributor

@lazarkov lazarkov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@chrisdecenzo chrisdecenzo merged commit be90d4d into master Nov 8, 2022
@chrisdecenzo chrisdecenzo deleted the tvapps-android30 branch November 8, 2022 07:52
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
* Draft: Add configurable ep1 ACLs and bindings

* address comments
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
* Draft: Add configurable ep1 ACLs and bindings

* address comments
sharadb-amazon pushed a commit to sharadb-amazon/connectedhomeip that referenced this pull request Jan 13, 2023
* Draft: Add configurable ep1 ACLs and bindings

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

Successfully merging this pull request may close these issues.

[Platform] AutoCommissioner gaps (reset failsafe, retry net config)
4 participants