diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index 0b35b596292b5b..6d461163f67e90 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -404,7 +404,7 @@ server cluster Descriptor = 29 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -438,11 +438,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -452,12 +452,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -465,7 +465,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -688,7 +688,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1570,13 +1570,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1668,13 +1668,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; @@ -3601,14 +3601,14 @@ server cluster TestCluster = 4294048773 { double h = 7; } - struct TestFabricScoped { - int8u fabricSensitiveInt8u = 1; - optional int8u optionalFabricSensitiveInt8u = 2; - nullable int8u nullableFabricSensitiveInt8u = 3; - optional nullable int8u nullableOptionalFabricSensitiveInt8u = 4; - char_string fabricSensitiveCharString = 5; - SimpleStruct fabricSensitiveStruct = 6; - int8u fabricSensitiveInt8uList[] = 7; + fabric_scoped struct TestFabricScoped { + fabric_sensitive int8u fabricSensitiveInt8u = 1; + optional fabric_sensitive int8u optionalFabricSensitiveInt8u = 2; + nullable fabric_sensitive int8u nullableFabricSensitiveInt8u = 3; + optional nullable fabric_sensitive int8u nullableOptionalFabricSensitiveInt8u = 4; + fabric_sensitive char_string fabricSensitiveCharString = 5; + fabric_sensitive SimpleStruct fabricSensitiveStruct = 6; + fabric_sensitive int8u fabricSensitiveInt8uList[] = 7; fabric_idx fabricIndex = 254; } @@ -3637,7 +3637,7 @@ server cluster TestCluster = 4294048773 { SimpleEnum arg6[] = 6; } - info event TestFabricScopedEvent = 2 { + fabric_sensitive info event TestFabricScopedEvent = 2 { fabric_idx fabricIndex = 254; } diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index 870ea65eb0062f..11646ab736d960 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -354,7 +354,7 @@ server cluster Descriptor = 29 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -388,11 +388,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -402,7 +402,7 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -410,7 +410,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -623,7 +623,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1415,13 +1415,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1513,13 +1513,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; @@ -3025,14 +3025,14 @@ server cluster TestCluster = 4294048773 { double h = 7; } - struct TestFabricScoped { - int8u fabricSensitiveInt8u = 1; - optional int8u optionalFabricSensitiveInt8u = 2; - nullable int8u nullableFabricSensitiveInt8u = 3; - optional nullable int8u nullableOptionalFabricSensitiveInt8u = 4; - char_string fabricSensitiveCharString = 5; - SimpleStruct fabricSensitiveStruct = 6; - int8u fabricSensitiveInt8uList[] = 7; + fabric_scoped struct TestFabricScoped { + fabric_sensitive int8u fabricSensitiveInt8u = 1; + optional fabric_sensitive int8u optionalFabricSensitiveInt8u = 2; + nullable fabric_sensitive int8u nullableFabricSensitiveInt8u = 3; + optional nullable fabric_sensitive int8u nullableOptionalFabricSensitiveInt8u = 4; + fabric_sensitive char_string fabricSensitiveCharString = 5; + fabric_sensitive SimpleStruct fabricSensitiveStruct = 6; + fabric_sensitive int8u fabricSensitiveInt8uList[] = 7; fabric_idx fabricIndex = 254; } @@ -3061,7 +3061,7 @@ server cluster TestCluster = 4294048773 { SimpleEnum arg6[] = 6; } - info event TestFabricScopedEvent = 2 { + fabric_sensitive info event TestFabricScopedEvent = 2 { fabric_idx fabricIndex = 254; } diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 138789996e7852..df5f85e168e8ee 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -204,7 +204,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -241,11 +241,11 @@ client cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -255,12 +255,12 @@ client cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -268,7 +268,7 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -309,11 +309,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -323,12 +323,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -336,7 +336,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -1260,13 +1260,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1361,13 +1361,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 3c465df356c2c2..25d88fb3de1ece 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -380,7 +380,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -416,11 +416,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -430,12 +430,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -443,7 +443,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -589,7 +589,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1228,13 +1228,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1326,13 +1326,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter index e7fdaaeefdd07c..e83b7e94a31fb6 100644 --- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter +++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter @@ -125,7 +125,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -161,11 +161,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -175,12 +175,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -188,7 +188,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -334,7 +334,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1107,13 +1107,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1205,13 +1205,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index c0275e21e72b66..a8e9510a847cc4 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -380,7 +380,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -416,11 +416,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -430,12 +430,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -443,7 +443,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -589,7 +589,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1362,13 +1362,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1460,13 +1460,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter index 6cbe7a36a7fba9..06ba4986623289 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter @@ -347,7 +347,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -383,11 +383,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -397,12 +397,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -410,7 +410,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -556,7 +556,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1329,13 +1329,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1427,13 +1427,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index 01f2502d71adf4..229406aeb02602 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -380,7 +380,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -416,11 +416,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -430,12 +430,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -443,7 +443,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -589,7 +589,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1362,13 +1362,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1460,13 +1460,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter index 61ef9bfc36d9da..825ae1baf456b3 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter @@ -151,11 +151,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -165,12 +165,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -178,7 +178,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -333,7 +333,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1111,13 +1111,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1209,13 +1209,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter index daf54c98a7dcb0..dfafa83f0812dd 100644 --- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter +++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter @@ -138,7 +138,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -174,11 +174,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -188,12 +188,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -201,7 +201,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -347,7 +347,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1120,13 +1120,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1218,13 +1218,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index e5c2a0469bdd8d..893d7ca9117713 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -373,7 +373,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -409,11 +409,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -423,12 +423,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -436,7 +436,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -582,7 +582,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1355,13 +1355,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1453,13 +1453,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter index fcb6064dca42b2..58f9266c941c3b 100644 --- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter +++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter @@ -138,7 +138,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -174,11 +174,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -188,12 +188,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -201,7 +201,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -347,7 +347,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1120,13 +1120,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1218,13 +1218,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter index c605e42d0de9ab..18726ffd72612e 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter @@ -138,7 +138,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -174,11 +174,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -188,12 +188,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -201,7 +201,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -347,7 +347,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1120,13 +1120,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1218,13 +1218,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter index 535763399d623f..9d14f8d93621dc 100644 --- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter +++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter @@ -138,7 +138,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -174,11 +174,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -188,12 +188,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -201,7 +201,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -347,7 +347,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1120,13 +1120,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1218,13 +1218,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index b757b5d62b7817..58d55449299eb0 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -380,7 +380,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -416,11 +416,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -430,12 +430,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -443,7 +443,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -589,7 +589,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1362,13 +1362,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1460,13 +1460,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter index 4d0ce7aee5a0e7..ccfb19fcf287c3 100644 --- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter +++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter @@ -439,7 +439,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -475,11 +475,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -489,12 +489,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -502,7 +502,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -648,7 +648,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1421,13 +1421,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1519,13 +1519,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter index bdb631dbbdeacc..333f6ae131ee6b 100644 --- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter +++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter @@ -286,7 +286,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -322,11 +322,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -336,12 +336,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -349,7 +349,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -495,7 +495,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1268,13 +1268,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1366,13 +1366,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter index 388979274fd065..400870cf857cbc 100644 --- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter +++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter @@ -138,7 +138,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -174,11 +174,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -188,12 +188,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -201,7 +201,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -347,7 +347,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1120,13 +1120,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1218,13 +1218,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter index cbf27d1f709ba0..ff28ec01bb4f59 100644 --- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter +++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter @@ -260,7 +260,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -296,11 +296,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -310,12 +310,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -323,7 +323,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -469,7 +469,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1242,13 +1242,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1340,13 +1340,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter index cebe916ff0ce95..d5773c3b156c58 100644 --- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter +++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter @@ -138,7 +138,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -174,11 +174,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -188,12 +188,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -201,7 +201,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -347,7 +347,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1120,13 +1120,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1218,13 +1218,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index c5708822cd4483..55ac0429788008 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -236,7 +236,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -272,11 +272,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -286,12 +286,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -299,7 +299,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -445,7 +445,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1218,13 +1218,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1316,13 +1316,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter index 16721a189a8ff6..fe71c91059bb45 100644 --- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter +++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter @@ -236,7 +236,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -272,11 +272,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -286,12 +286,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -299,7 +299,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -445,7 +445,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1218,13 +1218,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1316,13 +1316,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter index 138789996e7852..df5f85e168e8ee 100644 --- a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter +++ b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter @@ -204,7 +204,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -241,11 +241,11 @@ client cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -255,12 +255,12 @@ client cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -268,7 +268,7 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -309,11 +309,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -323,12 +323,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -336,7 +336,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -1260,13 +1260,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1361,13 +1361,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index f99150bd192a5f..16ed6bc10db317 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -316,7 +316,7 @@ server cluster Descriptor = 29 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -350,11 +350,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -364,12 +364,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -377,7 +377,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -532,7 +532,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1312,13 +1312,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1410,13 +1410,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index 8cbb903d0374a0..d685bdd9abf0e8 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -301,11 +301,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -315,12 +315,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -328,7 +328,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -483,7 +483,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1258,13 +1258,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1356,13 +1356,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter index f3c1b5aba6a0b0..273c23cfa47a78 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.matter +++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter @@ -304,11 +304,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -318,7 +318,7 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -326,7 +326,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -472,7 +472,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1024,13 +1024,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1122,13 +1122,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter index 6d1572d55b10f4..f04c84443ffdf5 100644 --- a/examples/lock-app/lock-common/lock-app.matter +++ b/examples/lock-app/lock-common/lock-app.matter @@ -123,11 +123,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -137,12 +137,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -150,7 +150,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -305,7 +305,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1121,13 +1121,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1219,13 +1219,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter index ce0e229acbc5aa..68b7a88546071f 100644 --- a/examples/log-source-app/log-source-common/log-source-app.matter +++ b/examples/log-source-app/log-source-common/log-source-app.matter @@ -22,11 +22,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -36,12 +36,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -49,7 +49,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -322,7 +322,7 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter index 54a87c9a38051e..440398ff636ee9 100644 --- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter +++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter @@ -27,11 +27,11 @@ client cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -41,12 +41,12 @@ client cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -54,7 +54,7 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -93,11 +93,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -107,12 +107,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -120,7 +120,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -627,13 +627,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -725,13 +725,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter index 24c8760480374e..db07bab0b0a735 100644 --- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter +++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter @@ -206,11 +206,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -220,12 +220,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -233,7 +233,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -388,7 +388,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -809,13 +809,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -907,13 +907,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 454dcf45dbf27f..c8c0dbced38e45 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -1269,7 +1269,7 @@ client cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1348,7 +1348,7 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 454dcf45dbf27f..c8c0dbced38e45 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -1269,7 +1269,7 @@ client cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1348,7 +1348,7 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index 2f7fa625a50433..7531278b479891 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -195,7 +195,7 @@ server cluster Descriptor = 29 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -232,11 +232,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -246,12 +246,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -259,7 +259,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -415,7 +415,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -918,13 +918,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1019,13 +1019,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter index f6b32a81f4484a..b9096238a10a54 100644 --- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter +++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter @@ -99,7 +99,7 @@ server cluster Descriptor = 29 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -136,11 +136,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -150,12 +150,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -163,7 +163,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -319,7 +319,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -822,13 +822,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -923,13 +923,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter index 0f4993b604ef4b..800d4acaf2325f 100644 --- a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter +++ b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter @@ -41,11 +41,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -55,12 +55,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -68,7 +68,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -657,13 +657,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -755,13 +755,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index c40dde4600d649..9b104b990f3159 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -259,7 +259,7 @@ server cluster Descriptor = 29 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -293,11 +293,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -307,12 +307,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -320,7 +320,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -476,7 +476,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1216,13 +1216,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1314,13 +1314,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index 0c023840dd67bf..f143582ea66435 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -162,7 +162,7 @@ server cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -176,7 +176,7 @@ client cluster Binding = 30 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -210,11 +210,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -224,12 +224,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -237,7 +237,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -1258,13 +1258,13 @@ client cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1358,13 +1358,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1456,13 +1456,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index c3164ada025632..976496d384ae7b 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -536,7 +536,7 @@ server cluster Descriptor = 29 { } server cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -570,11 +570,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -584,12 +584,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -597,7 +597,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -1470,13 +1470,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1568,13 +1568,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter index 29c219b6b6a12f..59ec84ee40d482 100644 --- a/examples/window-app/common/window-app.matter +++ b/examples/window-app/common/window-app.matter @@ -262,11 +262,11 @@ server cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -276,12 +276,12 @@ server cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -289,7 +289,7 @@ server cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -449,7 +449,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1260,13 +1260,13 @@ server cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1361,13 +1361,13 @@ server cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; diff --git a/scripts/idl/README.md b/scripts/idl/README.md index 42a1a62ae54c5a..78ee9325ddf2e4 100644 --- a/scripts/idl/README.md +++ b/scripts/idl/README.md @@ -48,12 +48,14 @@ server cluster AccessControl = 31 { kGroup = 3; } - struct AccessControlEntry { + // structures may be fabric scoped by tagging them as 'fabric_scoped' + // in a fabric scoped structure, fields may be 'fabric_sensitive' + fabric_scoped struct AccessControlEntry { fabric_idx fabricIndex = 0; - Privilege privilege = 1; - AuthMode authMode = 2; - nullable INT64U subjects[] = 3; // fields in structures may be lists and - nullable Target targets[] = 4; // they may have attributes: nullable + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive INT64U subjects[] = 3; // fields in structures may be lists and + nullable fabric_sensitive Target targets[] = 4; // they may have attributes: nullable } // request structures are regular structures that are used @@ -94,10 +96,6 @@ server cluster AccessControl = 31 { // These defaults can be modified to any of view/operate/manage/administer roles. attribute access(read: manage, write: administer) int32u customAcl = 3; - // Attributes may be fabric-scoped as well by tagging them as `fabric`. - fabric readonly attribute int16u myFabricAttr = 22; - fabric attribute(read: view, write: administer) int16u someFabricRWAttribute = 33; - // attributes may be read-only as well readonly attribute int16u clusterRevision = 65533; @@ -122,13 +120,13 @@ server cluster AccessControl = 31 { command access(invoke: administer) Off(): DefaultSuccess = 4; // command invocation can require timed invoke usage - timed command RequiresTimedInvok(): DefaultSuccess = 5; + timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2; // commands may be fabric scoped - fabric command RequiresTimedInvok(): DefaultSuccess = 6; + fabric command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1; // commands may have multiple attributes - fabric timed command RequiresTimedInvok(): DefaultSuccess = 7; + fabric timed command RequiresTimedInvoke(): DefaultSuccess = 7; } // A client cluster represents something that is used by an app diff --git a/scripts/idl/generators/bridge/__init__.py b/scripts/idl/generators/bridge/__init__.py index 2b6f8e7b208250..5d0bace9faf431 100644 --- a/scripts/idl/generators/bridge/__init__.py +++ b/scripts/idl/generators/bridge/__init__.py @@ -18,11 +18,10 @@ import re from idl.generators import CodeGenerator, GeneratorStorage -from idl.matter_idl_types import (Idl, ClusterSide, Field, Attribute, Cluster, - FieldAttribute, Command, DataType, Struct) +from idl.matter_idl_types import (Idl, Field, Attribute, Cluster) from idl import matter_idl_types from idl.generators.types import (ParseDataType, BasicString, BasicInteger, FundamentalType, - IdlType, IdlItemType, IdlEnumType, IdlBitmapType, TypeLookupContext) + IdlType, IdlEnumType, IdlBitmapType, TypeLookupContext) from typing import Union, List, Set diff --git a/scripts/idl/generators/java/__init__.py b/scripts/idl/generators/java/__init__.py index 6b74579ea6167f..1c749f91cf4552 100644 --- a/scripts/idl/generators/java/__init__.py +++ b/scripts/idl/generators/java/__init__.py @@ -14,7 +14,7 @@ # limitations under the License. from idl.generators import CodeGenerator, GeneratorStorage -from idl.matter_idl_types import Idl, ClusterSide, Field, Attribute, Cluster, FieldAttribute, Command, DataType +from idl.matter_idl_types import Idl, ClusterSide, Field, Attribute, Cluster, FieldQuality, Command, DataType from idl import matter_idl_types from idl.generators.types import ParseDataType, BasicString, BasicInteger, FundamentalType, IdlType, IdlEnumType, IdlBitmapType, TypeLookupContext from typing import Union, List, Set @@ -31,10 +31,10 @@ def FieldToGlobalName(field: Field, context: TypeLookupContext) -> Union[str, No if field.is_list: return None # lists are always specific per cluster - if FieldAttribute.NULLABLE in field.attributes: + if FieldQuality.NULLABLE in field.qualities: return None - if FieldAttribute.OPTIONAL in field.attributes: + if FieldQuality.OPTIONAL in field.qualities: return None actual = ParseDataType(field.data_type, context) diff --git a/scripts/idl/matter_grammar.lark b/scripts/idl/matter_grammar.lark index eb7afe993e9e61..020283cfbdd807 100644 --- a/scripts/idl/matter_grammar.lark +++ b/scripts/idl/matter_grammar.lark @@ -1,4 +1,7 @@ -struct: "struct"i id "{" (struct_field ";")* "}" +struct: struct_qualities "struct"i id "{" (struct_field ";")* "}" +struct_quality: "fabric_scoped"i -> struct_fabric_scoped +struct_qualities: struct_quality* + enum: "enum"i id ":" type "{" constant_entry* "}" bitmap: "bitmap"i id ":" type "{" constant_entry* "}" @@ -14,7 +17,10 @@ event_access: "access" "(" ("read" ":" access_privilege)? ")" event_with_access: "event" event_access? id -event: event_priority event_with_access "=" positive_integer "{" (struct_field ";")* "}" +event: event_qualities event_priority event_with_access "=" positive_integer "{" (struct_field ";")* "}" + +event_quality: "fabric_sensitive" -> event_fabric_sensitive +event_qualities: event_quality* ?event_priority: "critical"i -> critical_priority | "info"i -> info_priority @@ -26,27 +32,25 @@ attribute_access: "access"i "(" (attribute_access_entry ("," attribute_access_en attribute_with_access: attribute_access? struct_field -shared_tag: "fabric"i -> shared_tag_fabric -shared_tags: shared_tag* -> shared_tags - -attribute: shared_tags attribute_tags "attribute"i attribute_with_access ";" -attribute_tag: "readonly"i -> attr_readonly - | "nosubscribe"i -> attr_nosubscribe -attribute_tags: attribute_tag* -> attribute_tags +attribute: attribute_qualities "attribute"i attribute_with_access ";" +attribute_quality: "readonly"i -> attr_readonly + | "nosubscribe"i -> attr_nosubscribe +attribute_qualities: attribute_quality* -> attribute_qualities request_struct: "request"i struct // Response structures must have a response id response_struct: "response"i "struct"i id "=" positive_integer "{" (struct_field ";") * "}" -command_attribute: "timed"i -> timed_command -command_attributes: command_attribute* +command_quality: "timed"i -> timed_command + | "fabric"i -> fabric_scoped_command +command_qualities: command_quality* command_access: "access"i "(" ("invoke"i ":" access_privilege)? ")" command_with_access: "command"i command_access? id -command: shared_tags command_attributes command_with_access "(" id? ")" ":" id "=" positive_integer ";" +command: command_qualities command_with_access "(" id? ")" ":" id "=" positive_integer ";" cluster: cluster_side "cluster"i id "=" positive_integer "{" (enum|bitmap|event|attribute|struct|request_struct|response_struct|command)* "}" ?cluster_side: "server"i -> server_cluster @@ -79,6 +83,7 @@ struct_field: member_attribute* field member_attribute: "optional"i -> optional | "nullable"i -> nullable + | "fabric_sensitive"i -> fabric_sensitive field: data_type id list_marker? "=" positive_integer list_marker: "[" "]" diff --git a/scripts/idl/matter_idl_parser.py b/scripts/idl/matter_idl_parser.py index 643505c059bad5..a37dfb0a0e3586 100755 --- a/scripts/idl/matter_idl_parser.py +++ b/scripts/idl/matter_idl_parser.py @@ -16,10 +16,6 @@ from matter_idl_types import * -class SharedTag(enum.Enum): - FABRIC_SCOPED = enum.auto() - - class AddServerClusterToEndpointTransform: """Provides an 'apply' method that can be run on endpoints to add a server cluster to the given endpoint. @@ -133,12 +129,6 @@ def data_type(self, tokens): else: raise Error("Unexpected size for data type") - def shared_tag_fabric(self, _): - return SharedTag.FABRIC_SCOPED - - def shared_tags(self, entries): - return entries - @v_args(inline=True) def constant_entry(self, id, number): return ConstantEntry(name=id, code=number) @@ -159,19 +149,28 @@ def field(self, args): return Field(data_type=data_type, name=name, code=code, is_list=is_list) def optional(self, _): - return FieldAttribute.OPTIONAL + return FieldQuality.OPTIONAL def nullable(self, _): - return FieldAttribute.NULLABLE + return FieldQuality.NULLABLE + + def fabric_sensitive(self, _): + return FieldQuality.FABRIC_SENSITIVE def attr_readonly(self, _): - return AttributeTag.READABLE + return AttributeQuality.READABLE def attr_nosubscribe(self, _): - return AttributeTag.NOSUBSCRIBE + return AttributeQuality.NOSUBSCRIBE + + def attribute_qualities(self, qualities): + return qualities + + def struct_fabric_scoped(self, _): + return StructQuality.FABRIC_SCOPED - def attribute_tags(self, tags): - return tags + def struct_qualities(self, qualities): + return qualities def critical_priority(self, _): return EventPriority.CRITICAL @@ -182,18 +181,27 @@ def info_priority(self, _): def debug_priority(self, _): return EventPriority.DEBUG + def event_fabric_sensitive(self, _): + return EventQuality.FABRIC_SENSITIVE + + def event_qualities(selt, qualities): + return set(qualities) + def timed_command(self, _): - return CommandAttribute.TIMED_INVOKE + return CommandQuality.TIMED_INVOKE - def command_attributes(self, attrs): + def fabric_scoped_command(self, _): + return CommandQuality.FABRIC_SCOPED + + def command_qualities(self, attrs): # List because attrs is a tuple return set(list(attrs)) def struct_field(self, args): # Last argument is the named_member, the rest - # are attributes + # are qualities field = args[-1] - field.attributes = set(args[:-1]) + field.qualities = set(args[:-1]) return field def server_cluster(self, _): @@ -218,22 +226,15 @@ def command_with_access(self, args): return init_args def command(self, args): - # The command takes 5 arguments if no input argument, 6 if input + # The command takes 4 arguments if no input argument, 5 if input # argument is provided - if len(args) != 6: - args.insert(3, None) - - attr = args[1] # direct command attributes - for shared_attr in args[0]: - if shared_attr == SharedTag.FABRIC_SCOPED: - attr.add(CommandAttribute.FABRIC_SCOPED) - else: - raise Exception("Unknown shared tag: %r" % shared_attr) + if len(args) != 5: + args.insert(2, None) return Command( - attributes=attr, - input_param=args[3], output_param=args[4], code=args[5], - **args[2] + qualities=args[0], + input_param=args[2], output_param=args[3], code=args[4], + **args[1] ) def event_access(self, privilege): @@ -252,7 +253,7 @@ def event_with_access(self, args): return init_args def event(self, args): - return Event(priority=args[0], code=args[2], fields=args[3:], **args[1]) + return Event(qualities=args[0], priority=args[1], code=args[3], fields=args[4:], **args[2]) def view_privilege(self, args): return AccessPrivilege.VIEW @@ -315,29 +316,23 @@ def ESCAPED_STRING(self, s): return s.value[1:-1].encode('utf-8').decode('unicode-escape') @v_args(inline=True) - def attribute(self, shared_tags, tags, definition_tuple): + def attribute(self, qualities, definition_tuple): - tags = set(tags) + qualities = set(qualities) (definition, acl) = definition_tuple - for shared_attr in shared_tags: - if shared_attr == SharedTag.FABRIC_SCOPED: - tags.add(AttributeTag.FABRIC_SCOPED) - else: - raise Exception("Unknown shared tag: %r" % shared_attr) - # until we support write only (and need a bit of a reshuffle) # if the 'attr_readonly == READABLE' is not in the list, we make things # read/write - if AttributeTag.READABLE not in tags: - tags.add(AttributeTag.READABLE) - tags.add(AttributeTag.WRITABLE) + if AttributeQuality.READABLE not in qualities: + qualities.add(AttributeQuality.READABLE) + qualities.add(AttributeQuality.WRITABLE) - return Attribute(definition=definition, tags=tags, **acl) + return Attribute(definition=definition, qualities=qualities, **acl) @v_args(inline=True) - def struct(self, id, *fields): - return Struct(name=id, fields=list(fields)) + def struct(self, qualities, id, *fields): + return Struct(name=id, qualities=set(qualities), fields=list(fields)) @v_args(inline=True) def request_struct(self, value): diff --git a/scripts/idl/matter_idl_types.py b/scripts/idl/matter_idl_types.py index ca2b4d955c0be4..99b06eb830ce3f 100644 --- a/scripts/idl/matter_idl_types.py +++ b/scripts/idl/matter_idl_types.py @@ -21,21 +21,25 @@ def __init__(self, meta: Meta = None, line: int = None, column: int = None): self.column = column -class FieldAttribute(enum.Enum): +class StructQuality(enum.Enum): + FABRIC_SCOPED = enum.auto() + + +class FieldQuality(enum.Enum): OPTIONAL = enum.auto() NULLABLE = enum.auto() + FABRIC_SENSITIVE = enum.auto() -class CommandAttribute(enum.Enum): +class CommandQuality(enum.Enum): TIMED_INVOKE = enum.auto() FABRIC_SCOPED = enum.auto() -class AttributeTag(enum.Enum): +class AttributeQuality(enum.Enum): READABLE = enum.auto() WRITABLE = enum.auto() NOSUBSCRIBE = enum.auto() - FABRIC_SCOPED = enum.auto() class AttributeStorage(enum.Enum): @@ -50,6 +54,10 @@ class EventPriority(enum.Enum): CRITICAL = enum.auto() +class EventQuality(enum.Enum): + FABRIC_SENSITIVE = enum.auto() + + class ClusterSide(enum.Enum): CLIENT = enum.auto() SERVER = enum.auto() @@ -91,36 +99,36 @@ class Field: code: int name: str is_list: bool = False - attributes: Set[FieldAttribute] = field(default_factory=set) + qualities: Set[FieldQuality] = field(default_factory=set) @property def is_optional(self): - return FieldAttribute.OPTIONAL in self.attributes + return FieldQuality.OPTIONAL in self.qualities @property def is_nullable(self): - return FieldAttribute.NULLABLE in self.attributes + return FieldQuality.NULLABLE in self.qualities @dataclass class Attribute: definition: Field - tags: Set[AttributeTag] = field(default_factory=set) + qualities: Set[AttributeQuality] = field(default_factory=set) readacl: AccessPrivilege = AccessPrivilege.VIEW writeacl: AccessPrivilege = AccessPrivilege.OPERATE default: Optional[Union[str, int]] = None @property def is_readable(self): - return AttributeTag.READABLE in self.tags + return AttributeQuality.READABLE in self.qualities @property def is_writable(self): - return AttributeTag.WRITABLE in self.tags + return AttributeQuality.WRITABLE in self.qualities @property def is_subscribable(self): - return AttributeTag.NOSUBSCRIBE not in self.tags + return AttributeQuality.NOSUBSCRIBE not in self.qualities @dataclass @@ -129,6 +137,7 @@ class Struct: fields: List[Field] tag: Optional[StructTag] = None code: Optional[int] = None # for responses only + qualities: Set[StructQuality] = field(default_factory=set) @dataclass @@ -138,6 +147,11 @@ class Event: code: int fields: List[Field] readacl: AccessPrivilege = AccessPrivilege.VIEW + qualities: Set[EventQuality] = field(default_factory=set) + + @property + def is_fabric_sensitive(self): + return EventQuality.FABRIC_SENSITIVE in self.qualities @dataclass @@ -166,12 +180,12 @@ class Command: code: int input_param: Optional[str] output_param: str - attributes: Set[CommandAttribute] = field(default_factory=set) + qualities: Set[CommandQuality] = field(default_factory=set) invokeacl: AccessPrivilege = AccessPrivilege.OPERATE @property def is_timed_invoke(self): - return CommandAttribute.TIMED_INVOKE in self.attributes + return CommandQuality.TIMED_INVOKE in self.qualities @dataclass diff --git a/scripts/idl/test_matter_idl_parser.py b/scripts/idl/test_matter_idl_parser.py index 6f4e9faa2fb41b..36d5c087ea58f4 100755 --- a/scripts/idl/test_matter_idl_parser.py +++ b/scripts/idl/test_matter_idl_parser.py @@ -79,12 +79,35 @@ def test_global_struct(self): fields=[ Field( data_type=DataType(name="CHAR_STRING"), code=1, name="astring", ), - Field(data_type=DataType(name="CLUSTER_ID"), code=2, name="idlist", is_list=True, attributes=set( - [FieldAttribute.OPTIONAL])), - Field(data_type=DataType(name="int"), code=0x123, name="valueThatIsNullable", attributes=set( - [FieldAttribute.NULLABLE])), + Field(data_type=DataType(name="CLUSTER_ID"), code=2, name="idlist", is_list=True, qualities=set( + [FieldQuality.OPTIONAL])), + Field(data_type=DataType(name="int"), code=0x123, name="valueThatIsNullable", qualities=set( + [FieldQuality.NULLABLE])), Field(data_type=DataType(name="char_string", max_length=123), - code=222, name="sized_string", attributes=set()), + code=222, name="sized_string", qualities=set()), + ])] + ) + self.assertEqual(actual, expected) + + def test_fabric_scoped_struct(self): + actual = parseText(""" + fabric_scoped struct FabricStruct { + CHAR_STRING astring = 1; + optional CLUSTER_ID idlist[] = 2; + nullable fabric_sensitive int nullablesensitive = 0x123; + } + """) + + expected = Idl(structs=[ + Struct(name='FabricStruct', + qualities={StructQuality.FABRIC_SCOPED}, + fields=[ + Field( + data_type=DataType(name="CHAR_STRING"), code=1, name="astring", ), + Field(data_type=DataType(name="CLUSTER_ID"), code=2, name="idlist", is_list=True, qualities=set( + [FieldQuality.OPTIONAL])), + Field(data_type=DataType(name="int"), code=0x123, name="nullablesensitive", qualities=set( + [FieldQuality.NULLABLE, FieldQuality.FABRIC_SENSITIVE])), ])] ) self.assertEqual(actual, expected) @@ -96,7 +119,6 @@ def test_cluster_attribute(self): attribute int32u rwAttr[] = 123; readonly nosubscribe attribute int8s nosub[] = 0xaa; readonly attribute nullable int8s isNullable = 0xab; - fabric readonly attribute int8s fabric_attr = 0x1234; } """) @@ -105,16 +127,14 @@ def test_cluster_attribute(self): name="MyCluster", code=0x321, attributes=[ - Attribute(tags=set([AttributeTag.READABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE]), definition=Field( data_type=DataType(name="int8u"), code=1, name="roAttr")), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="int32u"), code=123, name="rwAttr", is_list=True)), - Attribute(tags=set([AttributeTag.NOSUBSCRIBE, AttributeTag.READABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.NOSUBSCRIBE, AttributeQuality.READABLE]), definition=Field( data_type=DataType(name="int8s"), code=0xAA, name="nosub", is_list=True)), - Attribute(tags=set([AttributeTag.READABLE]), definition=Field( - data_type=DataType(name="int8s"), code=0xAB, name="isNullable", attributes=set([FieldAttribute.NULLABLE]))), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.FABRIC_SCOPED]), definition=Field( - data_type=DataType(name="int8s"), code=0x1234, name="fabric_attr")) + Attribute(qualities=set([AttributeQuality.READABLE]), definition=Field( + data_type=DataType(name="int8s"), code=0xAB, name="isNullable", qualities=set([FieldQuality.NULLABLE]))), ] )]) self.assertEqual(actual, expected) @@ -132,9 +152,9 @@ def test_sized_attribute(self): name="MyCluster", code=1, attributes=[ - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="char_string", max_length=11), code=1, name="attr1")), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="octet_string", max_length=33), code=2, name="attr2", is_list=True)), ] )]) @@ -148,7 +168,6 @@ def test_attribute_access(self): attribute access(read: manage) int8s attr3 = 3; attribute access(write: administer) int8s attr4 = 4; attribute access(read: operate, write: manage) int8s attr5 = 5; - fabric attribute access(read: view, write: administer) int16u attr6 = 6; } """) @@ -157,34 +176,29 @@ def test_attribute_access(self): name="MyCluster", code=1, attributes=[ - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="int8s"), code=1, name="attr1"), readacl=AccessPrivilege.VIEW, writeacl=AccessPrivilege.OPERATE ), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="int8s"), code=2, name="attr2"), readacl=AccessPrivilege.VIEW, writeacl=AccessPrivilege.OPERATE ), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="int8s"), code=3, name="attr3"), readacl=AccessPrivilege.MANAGE ), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="int8s"), code=4, name="attr4"), writeacl=AccessPrivilege.ADMINISTER ), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE]), definition=Field( + Attribute(qualities=set([AttributeQuality.READABLE, AttributeQuality.WRITABLE]), definition=Field( data_type=DataType(name="int8s"), code=5, name="attr5"), readacl=AccessPrivilege.OPERATE, writeacl=AccessPrivilege.MANAGE ), - Attribute(tags=set([AttributeTag.READABLE, AttributeTag.WRITABLE, AttributeTag.FABRIC_SCOPED]), definition=Field( - data_type=DataType(name="int16u"), code=6, name="attr6"), - readacl=AccessPrivilege.VIEW, - writeacl=AccessPrivilege.ADMINISTER - ), ] )]) self.assertEqual(actual, expected) @@ -220,13 +234,13 @@ def test_cluster_commands(self): input_param="InParam", output_param="OutParam"), Command(name="TimedCommand", code=0xab, input_param="InParam", output_param="DefaultSuccess", - attributes=set([CommandAttribute.TIMED_INVOKE])), + qualities=set([CommandQuality.TIMED_INVOKE])), Command(name="FabricScopedCommand", code=0xac, input_param="InParam", output_param="DefaultSuccess", - attributes=set([CommandAttribute.FABRIC_SCOPED])), + qualities=set([CommandQuality.FABRIC_SCOPED])), Command(name="FabricScopedTimedCommand", code=0xad, input_param="InParam", output_param="DefaultSuccess", - attributes=set([CommandAttribute.TIMED_INVOKE, CommandAttribute.FABRIC_SCOPED])), + qualities=set([CommandQuality.TIMED_INVOKE, CommandQuality.FABRIC_SCOPED])), ], )]) self.assertEqual(actual, expected) @@ -258,7 +272,7 @@ def test_cluster_command_access(self): Command(name="TimedCommand", code=2, input_param="InParam", output_param="OutParam", invokeacl=AccessPrivilege.MANAGE, - attributes=set([CommandAttribute.TIMED_INVOKE])), + qualities=set([CommandQuality.TIMED_INVOKE])), Command(name="OutOnly", code=3, input_param=None, output_param="OutParam", invokeacl=AccessPrivilege.ADMINISTER, @@ -359,6 +373,28 @@ def test_cluster_event_acl(self): ])]) self.assertEqual(actual, expected) + def test_fabric_sensitive_event(self): + actual = parseText(""" + client cluster EventTester = 0x123 { + fabric_sensitive info event Hello = 1 {} + fabric_sensitive debug event access(read: manage) GoodBye = 2 {} + fabric_sensitive debug event access(read: administer) AdminEvent = 3 {} + } + """) + expected = Idl(clusters=[ + Cluster(side=ClusterSide.CLIENT, + name="EventTester", + code=0x123, + events=[ + Event(priority=EventPriority.INFO, readacl=AccessPrivilege.VIEW, + name="Hello", code=1, fields=[], qualities={EventQuality.FABRIC_SENSITIVE}), + Event(priority=EventPriority.DEBUG, readacl=AccessPrivilege.MANAGE, + name="GoodBye", code=2, fields=[], qualities={EventQuality.FABRIC_SENSITIVE}), + Event(priority=EventPriority.DEBUG, readacl=AccessPrivilege.ADMINISTER, + name="AdminEvent", code=3, fields=[], qualities={EventQuality.FABRIC_SENSITIVE}), + ])]) + self.assertEqual(actual, expected) + def test_parsing_metadata_for_cluster(self): actual = CreateParser(skip_meta=False).parse(""" server cluster A = 1 { /* Test comment */ } diff --git a/scripts/idl/test_xml_parser.py b/scripts/idl/test_xml_parser.py index 31c49c731d6ea5..ea380224cb512f 100755 --- a/scripts/idl/test_xml_parser.py +++ b/scripts/idl/test_xml_parser.py @@ -87,11 +87,11 @@ def testCluster(self): code=0x1234, attributes=[ Attribute(definition=Field(data_type=DataType(name='INT32U'), code=11, name='SomeIntAttribute', - attributes={FieldAttribute.NULLABLE}), tags={AttributeTag.READABLE}, + qualities={FieldQuality.NULLABLE}), qualities={AttributeQuality.READABLE}, readacl=AccessPrivilege.VIEW, writeacl=AccessPrivilege.OPERATE), Attribute(definition=Field(data_type=DataType(name='INT8U'), code=22, name='AttributeWithAccess', - attributes={FieldAttribute.OPTIONAL}), - tags={AttributeTag.READABLE, AttributeTag.WRITABLE}, readacl=AccessPrivilege.OPERATE, + qualities={FieldQuality.OPTIONAL}), + qualities={AttributeQuality.READABLE, AttributeQuality.WRITABLE}, readacl=AccessPrivilege.OPERATE, writeacl=AccessPrivilege.MANAGE) ], structs=[ @@ -106,7 +106,7 @@ def testCluster(self): Field(data_type=DataType(name='INT8U'), code=1, name='dataPoint1'), Field(data_type=DataType(name='INT8U'), code=2, name='dataPoint2', - attributes={FieldAttribute.OPTIONAL}) + qualities={FieldQuality.OPTIONAL}) ], tag=StructTag.RESPONSE, code=0x44) ], @@ -146,6 +146,60 @@ def testBitmap(self): Cluster(side=ClusterSide.CLIENT, name='Test2', code=2, bitmaps=[bitmap]), ])) + def testFabricScopedAndSensitive(self): + idl = XmlToIdl(''' + + + Test Cluster + 0x0001 + + + This is a test event + + + + + + + + + + + + + + + + ''') + self.assertEqual(idl, + Idl(clusters=[Cluster(side=ClusterSide.CLIENT, + name='TestCluster', + code=1, + events=[Event(priority=EventPriority.INFO, + name='FabricEvent', + code=0x1234, + fields=[Field(data_type=DataType(name='node_id'), + code=1, + name='AdminNodeID', + qualities={FieldQuality.NULLABLE})], + readacl=AccessPrivilege.ADMINISTER, + qualities={EventQuality.FABRIC_SENSITIVE})], + structs=[Struct(name='FabricStruct', + fields=[Field(data_type=DataType(name='int32u'), + code=1, + name='Field1', + qualities={FieldQuality.FABRIC_SENSITIVE}), + Field(data_type=DataType(name='int32u'), + code=3, + name='Field3', + qualities={FieldQuality.FABRIC_SENSITIVE}), + Field(data_type=DataType(name='int32u', + max_length=None), + code=10, + name='Field10')], + qualities={StructQuality.FABRIC_SCOPED})], + )])) + def testStruct(self): idl = XmlToIdl(''' @@ -170,6 +224,7 @@ def testStruct(self): ''') struct = Struct( name='SomeStruct', + qualities={StructQuality.FABRIC_SCOPED}, fields=[ Field(data_type=DataType(name='int16u'), code=1, name='FirstMember'), Field(data_type=DataType(name='int32u'), code=2, name='SecondMember') @@ -186,9 +241,9 @@ def testStruct(self): data_type=DataType(name='SomeStruct'), code=123, name='FabricAttribute', - attributes={FieldAttribute.NULLABLE} + qualities={FieldQuality.NULLABLE} ), - tags={AttributeTag.READABLE, AttributeTag.FABRIC_SCOPED}, + qualities={AttributeQuality.READABLE}, readacl=AccessPrivilege.VIEW, writeacl=AccessPrivilege.OPERATE)]), ])) @@ -236,7 +291,7 @@ def testSkipsNotProcessedFields(self): code=0, name='Type', ), - tags={AttributeTag.READABLE}, + qualities={AttributeQuality.READABLE}, readacl=AccessPrivilege.VIEW, writeacl=AccessPrivilege.OPERATE)]), ])) diff --git a/scripts/idl/zapxml/handlers/handlers.py b/scripts/idl/zapxml/handlers/handlers.py index a27f48970342f8..a0f0978df8a0f3 100644 --- a/scripts/idl/zapxml/handlers/handlers.py +++ b/scripts/idl/zapxml/handlers/handlers.py @@ -78,6 +78,9 @@ def __init__(self, context: Context, cluster: Cluster, attrs): fields=[], ) + if attrs.get('isFabricSensitive', "false").lower() == 'true': + self._event.qualities.add(EventQuality.FABRIC_SENSITIVE) + def GetNextProcessor(self, name: str, attrs): if name.lower() == 'field': data_type = DataType(name=attrs['type']) @@ -92,10 +95,10 @@ def GetNextProcessor(self, name: str, attrs): ) if attrs.get('optional', "false").lower() == 'true': - field.attributes.add(FieldAttribute.OPTIONAL) + field.qualities.add(FieldQuality.OPTIONAL) if attrs.get('isNullable', "false").lower() == 'true': - field.attributes.add(FieldAttribute.NULLABLE) + field.qualities.add(FieldQuality.NULLABLE) self._event.fields.append(field) return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) @@ -121,11 +124,12 @@ def __init__(self, context: Context, cluster: Cluster, attrs): def GetNextProcessor(self, name: str, attrs): if name.lower() == 'access': + # Modifier not currently used: fabric scoped exists on the structure itself. if 'modifier' in attrs: if attrs['modifier'] != 'fabric-scoped': raise Exception("UNKNOWN MODIFIER: %s" % attrs['modifier']) - self._attribute.tags.add(AttributeTag.FABRIC_SCOPED) - else: + + if ('role' in attrs) or ('privilege' in attrs): role = AttrsToAccessPrivilege(attrs) if attrs['op'] == 'read': @@ -134,6 +138,7 @@ def GetNextProcessor(self, name: str, attrs): self._attribute.writeacl = role else: logging.error("Unknown access: %r" % attrs['op']) + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) elif name.lower() == 'description': return AttributeDescriptionHandler(self.context, self._attribute) @@ -168,7 +173,8 @@ def __init__(self, context: Context, attrs): # - tag not set because not a request/response # - code not set because not a response - self._is_fabric_scoped = (attrs.get('isFabricScoped', "false").lower() == 'true') + if attrs.get('isFabricScoped', "false").lower() == 'true': + self._struct.qualities.add(StructQuality.FABRIC_SCOPED) def GetNextProcessor(self, name: str, attrs): if name.lower() == 'item': @@ -176,9 +182,6 @@ def GetNextProcessor(self, name: str, attrs): name=attrs['type'] ) - # TODO(#22938): IDL should keep track and use the - # isFabricSensitive attribute here - if 'fieldId' in attrs: self._field_index = ParseInt(attrs['fieldId']) else: @@ -197,10 +200,13 @@ def GetNextProcessor(self, name: str, attrs): ) if attrs.get('optional', "false").lower() == 'true': - field.attributes.add(FieldAttribute.OPTIONAL) + field.qualities.add(FieldQuality.OPTIONAL) if attrs.get('isNullable', "false").lower() == 'true': - field.attributes.add(FieldAttribute.NULLABLE) + field.qualities.add(FieldQuality.NULLABLE) + + if attrs.get('isFabricSensitive', "false").lower() == 'true': + field.qualities.add(FieldQuality.FABRIC_SENSITIVE) self._struct.fields.append(field) return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) @@ -228,14 +234,6 @@ def FinalizeProcessing(self, idl: Idl): else: idl.structs.append(self._struct) - # Secondary processing, for fabric scoped: - # while ZAP XML maintains these at a struct level. Update attributes - if self._is_fabric_scoped: - for cluster in idl.clusters: - for attribute in cluster.attributes: - if self._struct.name == attribute.definition.data_type.name: - attribute.tags.add(AttributeTag.FABRIC_SCOPED) - def EndProcessing(self): self.context.AddIdlPostProcessor(self) @@ -371,10 +369,10 @@ def __init__(self, context: Context, cluster: Cluster, attrs): ) if attrs.get('isFabricScoped', 'false') == 'true': - self._command.attributes.add(CommandAttribute.FABRIC_SCOPED) + self._command.qualities.add(CommandQuality.FABRIC_SCOPED) if attrs.get('mustUseTimedInvoke', 'false') == 'true': - self._command.attributes.add(CommandAttribute.TIMED_INVOKE) + self._command.qualities.add(CommandQuality.TIMED_INVOKE) else: self._struct.tag = StructTag.RESPONSE @@ -396,10 +394,10 @@ def GetArgumentField(self, attrs): ) if attrs.get('optional', "false").lower() == 'true': - field.attributes.add(FieldAttribute.OPTIONAL) + field.qualities.add(FieldQuality.OPTIONAL) if attrs.get('isNullable', "false").lower() == 'true': - field.attributes.add(FieldAttribute.NULLABLE) + field.qualities.add(FieldQuality.NULLABLE) return field diff --git a/scripts/idl/zapxml/handlers/parsing.py b/scripts/idl/zapxml/handlers/parsing.py index d5b45dc722a632..09deee57400d63 100644 --- a/scripts/idl/zapxml/handlers/parsing.py +++ b/scripts/idl/zapxml/handlers/parsing.py @@ -73,16 +73,16 @@ def AttrsToAttribute(attrs) -> Attribute: attribute = Attribute(definition=field) if attrs.get('optional', "false").lower() == 'true': - attribute.definition.attributes.add(FieldAttribute.OPTIONAL) + attribute.definition.qualities.add(FieldQuality.OPTIONAL) if attrs.get('isNullable', "false").lower() == 'true': - attribute.definition.attributes.add(FieldAttribute.NULLABLE) + attribute.definition.qualities.add(FieldQuality.NULLABLE) if attrs.get('readable', "true").lower() == 'true': - attribute.tags.add(AttributeTag.READABLE) + attribute.qualities.add(AttributeQuality.READABLE) if attrs.get('writable', "false").lower() == 'true': - attribute.tags.add(AttributeTag.WRITABLE) + attribute.qualities.add(AttributeQuality.WRITABLE) # TODO(#22937): NOSUBSCRIBE attribute tag is not available - could find no # clear source to get this info. diff --git a/src/app/zap-templates/partials/idl/structure_definition.zapt b/src/app/zap-templates/partials/idl/structure_definition.zapt index 9d58faef6735be..453efe65d9cdbb 100644 --- a/src/app/zap-templates/partials/idl/structure_definition.zapt +++ b/src/app/zap-templates/partials/idl/structure_definition.zapt @@ -1,8 +1,6 @@ -{{! TODO: IDL consumers can't parse the square bracket syntax }} -{{#if isFabricScoped_DISABLED_FOR_NOW}} -{{indent extraIndent~}} [fabric_scoped_by=FabricIndex] -{{/if}} -{{indent extraIndent~}} struct {{name}} { +{{indent extraIndent~}} +{{#if isFabricScoped~}} fabric_scoped {{/if~}} +struct {{name}} { {{#zcl_struct_items}} {{indent extraIndent~}} {{> idl_structure_member}} {{/zcl_struct_items}} diff --git a/src/app/zap-templates/partials/idl/structure_member.zapt b/src/app/zap-templates/partials/idl/structure_member.zapt index 142c0ad8abadff..09e08fce64639d 100644 --- a/src/app/zap-templates/partials/idl/structure_member.zapt +++ b/src/app/zap-templates/partials/idl/structure_member.zapt @@ -1,5 +1,6 @@ {{~#if isOptional~}} optional {{/if~}} {{~#if isNullable~}} nullable {{/if~}} +{{~#if isFabricSensitive~}} fabric_sensitive {{/if~}} {{type}} {{~#unless isArray~}} diff --git a/src/app/zap-templates/templates/app/MatterIDL.zapt b/src/app/zap-templates/templates/app/MatterIDL.zapt index 12272b992122e1..f7d77fec087a1c 100644 --- a/src/app/zap-templates/templates/app/MatterIDL.zapt +++ b/src/app/zap-templates/templates/app/MatterIDL.zapt @@ -30,7 +30,7 @@ {{/chip_cluster_specific_structs}} {{#zcl_events}} - {{priority}} event {{!ensure space}} + {{#if isFabricSensitive}}fabric_sensitive {{/if~}} {{priority}} event {{!ensure space}} {{~#chip_access_elements entity="event"~}} {{~#first~}}access({{~/first~}} {{~#not_first~}}, {{/not_first~}} diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 60bd47c8466b9e..628c92ec9038a3 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -428,7 +428,7 @@ client cluster Descriptor = 29 { } client cluster Binding = 30 { - struct TargetStruct { + fabric_scoped struct TargetStruct { optional node_id node = 1; optional group_id group = 2; optional endpoint_no endpoint = 3; @@ -465,11 +465,11 @@ client cluster AccessControl = 31 { kAdminister = 5; } - struct AccessControlEntry { - Privilege privilege = 1; - AuthMode authMode = 2; - nullable int64u subjects[] = 3; - nullable Target targets[] = 4; + fabric_scoped struct AccessControlEntry { + fabric_sensitive Privilege privilege = 1; + fabric_sensitive AuthMode authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive Target targets[] = 4; fabric_idx fabricIndex = 254; } @@ -479,12 +479,12 @@ client cluster AccessControl = 31 { nullable devtype_id deviceType = 2; } - struct ExtensionEntry { - octet_string<128> data = 1; + fabric_scoped struct ExtensionEntry { + fabric_sensitive octet_string<128> data = 1; fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlEntryChanged = 0 { + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -492,7 +492,7 @@ client cluster AccessControl = 31 { fabric_idx fabricIndex = 254; } - info event access(read: administer) AccessControlExtensionChanged = 1 { + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; nullable INT16U adminPasscodeID = 2; ChangeTypeEnum changeType = 3; @@ -815,7 +815,7 @@ client cluster OtaSoftwareUpdateRequestor = 42 { kDelayedOnUserConsent = 8; } - struct ProviderLocation { + fabric_scoped struct ProviderLocation { node_id providerNodeID = 1; endpoint_no endpoint = 2; fabric_idx fabricIndex = 254; @@ -1801,13 +1801,13 @@ client cluster OperationalCredentials = 62 { kInvalidFabricIndex = 11; } - struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; fabric_idx fabricIndex = 254; } - struct FabricDescriptor { + fabric_scoped struct FabricDescriptor { octet_string<65> rootPublicKey = 1; vendor_id vendorId = 2; fabric_id fabricId = 3; @@ -1902,13 +1902,13 @@ client cluster GroupKeyManagement = 63 { kCacheAndSync = 1; } - struct GroupKeyMapStruct { + fabric_scoped struct GroupKeyMapStruct { group_id groupId = 1; int16u groupKeySetID = 2; fabric_idx fabricIndex = 254; } - struct GroupInfoMapStruct { + fabric_scoped struct GroupInfoMapStruct { group_id groupId = 1; endpoint_no endpoints[] = 2; optional char_string<16> groupName = 3; @@ -4161,14 +4161,14 @@ client cluster TestCluster = 4294048773 { double h = 7; } - struct TestFabricScoped { - int8u fabricSensitiveInt8u = 1; - optional int8u optionalFabricSensitiveInt8u = 2; - nullable int8u nullableFabricSensitiveInt8u = 3; - optional nullable int8u nullableOptionalFabricSensitiveInt8u = 4; - char_string fabricSensitiveCharString = 5; - SimpleStruct fabricSensitiveStruct = 6; - int8u fabricSensitiveInt8uList[] = 7; + fabric_scoped struct TestFabricScoped { + fabric_sensitive int8u fabricSensitiveInt8u = 1; + optional fabric_sensitive int8u optionalFabricSensitiveInt8u = 2; + nullable fabric_sensitive int8u nullableFabricSensitiveInt8u = 3; + optional nullable fabric_sensitive int8u nullableOptionalFabricSensitiveInt8u = 4; + fabric_sensitive char_string fabricSensitiveCharString = 5; + fabric_sensitive SimpleStruct fabricSensitiveStruct = 6; + fabric_sensitive int8u fabricSensitiveInt8uList[] = 7; fabric_idx fabricIndex = 254; } @@ -4197,7 +4197,7 @@ client cluster TestCluster = 4294048773 { SimpleEnum arg6[] = 6; } - info event TestFabricScopedEvent = 2 { + fabric_sensitive info event TestFabricScopedEvent = 2 { fabric_idx fabricIndex = 254; }