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

Create admin ACL entry in OpCreds AddNOC #13736

Merged

Conversation

mlepage-google
Copy link
Contributor

@mlepage-google mlepage-google commented Jan 19, 2022

Problem

OperationalCredentialCluster::AddNOC command is supposed to create an
ACL entry for the newly created operational fabric, for administering
the CASE admin subject provided in the AddNOC command.

Change overview

Add new helper function CreateAccessControlEntryForNewFabricAdministrator
and call it from emberAfOperationalCredentialsClusterAddNOCCallback.

Testing

  • Built and ran all-clusters-app on Linux
  • Commissioned with chip-repl
  • Commissioned with chip-tool
  • Verified log statement that the ACL entry was created
  • Read ACL attribute to verify it was created

OperationalCredentialCluster::AddNOC command is supposed to create an
ACL entry for the newly created operational fabric, for administering
the CASE admin subject provided in the AddNOc command.
@mlepage-google mlepage-google changed the title OpCreds AddNOC creates admin ACL entry Create admin ACL entry in OpCreds AddNOC Jan 19, 2022
@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13736: Size comparison from d5e7431 to 09a945f

Increases (23 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section d5e7431 09a945f change % change
efr32 lighting-app BRD4161A (read only) 834868 835124 256 0.0
.text 834860 835116 256 0.0
BRD4161A+rpc (read only) 822272 822520 248 0.0
.text 822264 822512 248 0.0
window-app BRD4161A (read only) 805440 805712 272 0.0
.text 805432 805704 272 0.0
k32w light k32w061+release (read/write) 659076 659308 232 0.0
.text 574280 574512 232 0.0
lock k32w061+release (read/write) 661808 662060 252 0.0
.text 576696 576948 252 0.0
linux thermostat-no-ble arm64 (read only) 2043900 2045068 1168 0.1
.rodata 129916 129980 64 0.0
.text 1699616 1700720 1104 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2350304 2350504 200 0.0
.text 1312880 1313080 200 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2334568 2334832 264 0.0
.text 1297168 1297432 264 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2304920 2305184 264 0.0
.text 1267520 1267784 264 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943379 943627 248 0.0
rodata 108760 108832 72 0.1
text 637408 637572 164 0.0
nrf52840dk_nrf52840+rpc (read/write) 928863 929095 232 0.0
rodata 101212 101284 72 0.1
text 632804 632968 164 0.0
nrf52840dongle_nrf52840 (read/write) 994059 994307 248 0.0
rodata 113516 113588 72 0.1
text 669608 669772 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853222 853454 232 0.0
rodata 101936 102008 72 0.1
text 554332 554496 164 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912739 912971 232 0.0
rodata 103728 103800 72 0.1
text 612856 613020 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822810 823042 232 0.0
rodata 96956 97028 72 0.1
text 529816 529980 164 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915607 915839 232 0.0
rodata 104092 104164 72 0.1
text 615508 615672 164 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910675 910923 248 0.0
rodata 103200 103272 72 0.1
text 611432 611596 164 0.0
p6 all-clusters-app default (read/write) 2405568 2405816 248 0.0
.text 1363832 1364080 248 0.0
light-app default (read/write) 2330008 2330272 264 0.0
.text 1288272 1288536 264 0.0
lock-app default (read/write) 2299032 2299280 248 0.0
.text 1257296 1257544 248 0.0
qpg lighting-app qpg6105+debug (read only) 565096 565328 232 0.0
.text 559776 560008 232 0.0
lock-app qpg6105+debug (read only) 515492 515740 248 0.0
.text 510172 510420 248 0.0
telink lighting-app tlsr9518adk80d (read/write) 840754 841002 248 0.0
text 587778 587950 172 0.0
Full report (30 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section d5e7431 09a945f change % change
efr32 lighting-app BRD4161A (read only) 834868 835124 256 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834860 835116 256 0.0
BRD4161A+rpc (read only) 822272 822520 248 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822264 822512 248 0.0
window-app BRD4161A (read only) 805440 805712 272 0.0
(read/write) 126328 126328 0 0.0
.bss 124480 124480 0 0.0
.data 1844 1844 0 0.0
.text 805432 805704 272 0.0
k32w light k32w061+release (read/write) 659076 659308 232 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574280 574512 232 0.0
lock k32w061+release (read/write) 661808 662060 252 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576696 576948 252 0.0
linux chip-tool-ipv6only arm64 (read only) 8140348 8140348 0 0.0
(read/write) 374497 374497 0 0.0
.bss 55345 55345 0 0.0
.data 1120 1120 0 0.0
.data.rel.ro 248800 248800 0 0.0
.dynamic 560 560 0 0.0
.got 65512 65512 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 422692 422692 0 0.0
.text 6919396 6919396 0 0.0
thermostat-no-ble arm64 (read only) 2043900 2045068 1168 0.1
(read/write) 145905 145905 0 0.0
.bss 65089 65089 0 0.0
.data 896 896 0 0.0
.data.rel.ro 72952 72952 0 0.0
.dynamic 560 560 0 0.0
.got 4032 4032 0 0.0
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129916 129980 64 0.0
.text 1699616 1700720 1104 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350304 2350504 200 0.0
.bss 189220 189220 0 0.0
.data 5328 5328 0 0.0
.text 1312880 1313080 200 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334568 2334832 264 0.0
.bss 180760 180760 0 0.0
.data 5576 5576 0 0.0
.text 1297168 1297432 264 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304920 2305184 264 0.0
.bss 179768 179768 0 0.0
.data 5552 5552 0 0.0
.text 1267520 1267784 264 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054256 2054256 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016856 1016856 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943379 943627 248 0.0
bss 119628 119628 0 0.0
rodata 108760 108832 72 0.1
text 637408 637572 164 0.0
nrf52840dk_nrf52840+rpc (read/write) 928863 929095 232 0.0
bss 116672 116672 0 0.0
rodata 101212 101284 72 0.1
text 632804 632968 164 0.0
nrf52840dongle_nrf52840 (read/write) 994059 994307 248 0.0
bss 122472 122472 0 0.0
rodata 113516 113588 72 0.1
text 669608 669772 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853222 853454 232 0.0
bss 116416 116416 0 0.0
rodata 101936 102008 72 0.1
text 554332 554496 164 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912739 912971 232 0.0
bss 118784 118784 0 0.0
rodata 103728 103800 72 0.1
text 612856 613020 164 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822810 823042 232 0.0
bss 115600 115600 0 0.0
rodata 96956 97028 72 0.1
text 529816 529980 164 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915607 915839 232 0.0
bss 118548 118548 0 0.0
rodata 104092 104164 72 0.1
text 615508 615672 164 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910675 910923 248 0.0
bss 118572 118572 0 0.0
rodata 103200 103272 72 0.1
text 611432 611596 164 0.0
shell nrf52840dk_nrf52840 (read/write) 798479 798479 0 0.0
bss 109776 109776 0 0.0
rodata 78324 78324 0 0.0
text 533872 533872 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711278 711278 0 0.0
bss 107664 107664 0 0.0
rodata 72624 72624 0 0.0
text 451548 451548 0 0.0
p6 all-clusters-app default (read/write) 2405568 2405816 248 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363832 1364080 248 0.0
light-app default (read/write) 2330008 2330272 264 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288272 1288536 264 0.0
lock-app default (read/write) 2299032 2299280 248 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257296 1257544 248 0.0
qpg lighting-app qpg6105+debug (read only) 565096 565328 232 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559776 560008 232 0.0
lock-app qpg6105+debug (read only) 515492 515740 248 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510172 510420 248 0.0
persistent-storage-app qpg6105+debug (read only) 106848 106848 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38512 38512 0 0.0
.data 288 288 0 0.0
.text 101528 101528 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840754 841002 248 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587778 587950 172 0.0

@mlepage-google
Copy link
Contributor Author

Tests fail because they don't actually configure an access control.
#13781 will address this once and for all.

@github-actions
Copy link

github-actions bot commented Jan 25, 2022

PR #13736: Size comparison from 68923b4 to 336f454

Increases (26 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 68923b4 336f454 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 573714 573950 236 0.0
.app_xip_area 479016 479252 236 0.0
efr32 lighting-app BRD4161A (read only) 835476 835732 256 0.0
.text 835468 835724 256 0.0
BRD4161A+rpc (read only) 822880 823128 248 0.0
.text 822872 823120 248 0.0
window-app BRD4161A (read only) 806316 806572 256 0.0
.text 806308 806564 256 0.0
esp32 all-clusters-app c3devkit (read only) 919324 919492 168 0.0
(read/write) 1376930 1377010 80 0.0
.flash.rodata 176184 176264 80 0.0
.flash.text 919324 919492 168 0.0
m5stack (read only) 967999 968155 156 0.0
(read/write) 443792 443864 72 0.0
.flash.rodata 205504 205576 72 0.0
.flash.text 962615 962771 156 0.0
k32w light k32w061+release (read/write) 661140 661372 232 0.0
.text 576248 576480 232 0.0
lock k32w061+release (read/write) 662072 662308 236 0.0
.text 576892 577128 236 0.0
linux thermostat-no-ble arm64 (read only) 2050476 2051644 1168 0.1
.rodata 129948 130012 64 0.0
.text 1706160 1707264 1104 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2349024 2349288 264 0.0
.text 1311600 1311864 264 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2334288 2334488 200 0.0
.text 1296888 1297088 200 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2304872 2305072 200 0.0
.text 1267472 1267672 200 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 942435 942667 232 0.0
rodata 108824 108896 72 0.1
text 637256 637416 160 0.0
nrf52840dk_nrf52840+rpc (read/write) 927951 928183 232 0.0
rodata 101276 101348 72 0.1
text 632652 632812 160 0.0
nrf52840dongle_nrf52840 (read/write) 993111 993343 232 0.0
rodata 113576 113648 72 0.1
text 669456 669616 160 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 852294 852526 232 0.0
rodata 102000 102072 72 0.1
text 554176 554336 160 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912939 913171 232 0.0
rodata 103880 103952 72 0.1
text 612832 612992 160 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822978 823210 232 0.0
rodata 97108 97180 72 0.1
text 529788 529948 160 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915615 915847 232 0.0
rodata 104268 104340 72 0.1
text 615300 615460 160 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910783 911015 232 0.0
rodata 103372 103444 72 0.1
text 611328 611488 160 0.0
p6 all-clusters-app default (read/write) 2407776 2408040 264 0.0
.text 1366040 1366304 264 0.0
light-app default (read/write) 2330608 2330856 248 0.0
.text 1288872 1289120 248 0.0
lock-app default (read/write) 2300016 2300280 264 0.0
.text 1258280 1258544 264 0.0
qpg lighting-app qpg6105+debug (read only) 567368 567600 232 0.0
.text 562048 562280 232 0.0
lock-app qpg6105+debug (read only) 516020 516252 232 0.0
.text 510700 510932 232 0.0
telink lighting-app tlsr9518adk80d (read/write) 841310 841550 240 0.0
text 588314 588482 168 0.0
Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 68923b4 336f454 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 573714 573950 236 0.0
.app_xip_area 479016 479252 236 0.0
.bss 77444 77444 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 835476 835732 256 0.0
(read/write) 126980 126980 0 0.0
.bss 125080 125080 0 0.0
.data 1900 1900 0 0.0
.text 835468 835724 256 0.0
BRD4161A+rpc (read only) 822880 823128 248 0.0
(read/write) 143640 143640 0 0.0
.bss 141640 141640 0 0.0
.data 2000 2000 0 0.0
.text 822872 823120 248 0.0
window-app BRD4161A (read only) 806316 806572 256 0.0
(read/write) 125624 125624 0 0.0
.bss 123768 123768 0 0.0
.data 1856 1856 0 0.0
.text 806308 806564 256 0.0
esp32 all-clusters-app c3devkit (read only) 919324 919492 168 0.0
(read/write) 1376930 1377010 80 0.0
.dram0.bss 67376 67376 0 0.0
.dram0.data 14244 14244 0 0.0
.flash.rodata 176184 176264 80 0.0
.flash.text 919324 919492 168 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 967999 968155 156 0.0
(read/write) 443792 443864 72 0.0
.dram0.bss 72128 72128 0 0.0
.dram0.data 34032 34032 0 0.0
.flash.rodata 205504 205576 72 0.0
.flash.text 962615 962771 156 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 661140 661372 232 0.0
.bss 77224 77224 0 0.0
.data 1868 1868 0 0.0
.text 576248 576480 232 0.0
lock k32w061+release (read/write) 662072 662308 236 0.0
.bss 77488 77488 0 0.0
.data 1892 1892 0 0.0
.text 576892 577128 236 0.0
linux chip-tool-ipv6only arm64 (read only) 8639524 8639524 0 0.0
(read/write) 390945 390945 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 260968 260968 0 0.0
.dynamic 560 560 0 0.0
.got 69056 69056 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 532716 532716 0 0.0
.text 7267876 7267876 0 0.0
thermostat-no-ble arm64 (read only) 2050476 2051644 1168 0.1
(read/write) 145969 145969 0 0.0
.bss 64897 64897 0 0.0
.data 904 904 0 0.0
.data.rel.ro 73152 73152 0 0.0
.dynamic 560 560 0 0.0
.got 4056 4056 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 129948 130012 64 0.0
.text 1706160 1707264 1104 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2349024 2349288 264 0.0
.bss 186084 186084 0 0.0
.data 5296 5296 0 0.0
.text 1311600 1311864 264 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334288 2334488 200 0.0
.bss 180688 180688 0 0.0
.data 5576 5576 0 0.0
.text 1296888 1297088 200 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304872 2305072 200 0.0
.bss 180592 180592 0 0.0
.data 5568 5568 0 0.0
.text 1267472 1267672 200 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053896 2053896 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016496 1016496 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 942435 942667 232 0.0
bss 118776 118776 0 0.0
rodata 108824 108896 72 0.1
text 637256 637416 160 0.0
nrf52840dk_nrf52840+rpc (read/write) 927951 928183 232 0.0
bss 115820 115820 0 0.0
rodata 101276 101348 72 0.1
text 632652 632812 160 0.0
nrf52840dongle_nrf52840 (read/write) 993111 993343 232 0.0
bss 121616 121616 0 0.0
rodata 113576 113648 72 0.1
text 669456 669616 160 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 852294 852526 232 0.0
bss 115564 115564 0 0.0
rodata 102000 102072 72 0.1
text 554176 554336 160 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912939 913171 232 0.0
bss 118828 118828 0 0.0
rodata 103880 103952 72 0.1
text 612832 612992 160 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822978 823210 232 0.0
bss 115648 115648 0 0.0
rodata 97108 97180 72 0.1
text 529788 529948 160 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915615 915847 232 0.0
bss 118576 118576 0 0.0
rodata 104268 104340 72 0.1
text 615300 615460 160 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910783 911015 232 0.0
bss 118600 118600 0 0.0
rodata 103372 103444 72 0.1
text 611328 611488 160 0.0
shell nrf52840dk_nrf52840 (read/write) 798203 798203 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533644 533644 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711022 711022 0 0.0
bss 107664 107664 0 0.0
rodata 72592 72592 0 0.0
text 451320 451320 0 0.0
p6 all-clusters-app default (read/write) 2407776 2408040 264 0.0
.bss 114428 114428 0 0.0
.data 2584 2584 0 0.0
.text 1366040 1366304 264 0.0
light-app default (read/write) 2330608 2330856 248 0.0
.bss 105272 105272 0 0.0
.data 2408 2408 0 0.0
.text 1288872 1289120 248 0.0
lock-app default (read/write) 2300016 2300280 264 0.0
.bss 105024 105024 0 0.0
.data 2360 2360 0 0.0
.text 1258280 1258544 264 0.0
qpg lighting-app qpg6105+debug (read only) 567368 567600 232 0.0
(read/write) 146936 146936 0 0.0
.bss 89416 89416 0 0.0
.data 1060 1060 0 0.0
.text 562048 562280 232 0.0
lock-app qpg6105+debug (read only) 516020 516252 232 0.0
(read/write) 146940 146940 0 0.0
.bss 88896 88896 0 0.0
.data 992 992 0 0.0
.text 510700 510932 232 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 841310 841550 240 0.0
bss 87224 87224 0 0.0
noinit 37160 37160 0 0.0
text 588314 588482 168 0.0

@mlepage-google mlepage-google merged commit 0902641 into project-chip:master Jan 25, 2022
@mlepage-google mlepage-google deleted the create-admin-acl-entry branch January 25, 2022 17:54
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
OperationalCredentialCluster::AddNOC command creates an
ACL entry for the newly created operational fabric, for administering
the CASE admin subject provided in the AddNOC command.
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.

8 participants