From 7e3c12587532473f20635704b66fcfe200b0d37d Mon Sep 17 00:00:00 2001 From: cameronvoell Date: Thu, 4 Apr 2024 08:40:00 -0700 Subject: [PATCH] temporary comment for testing --- openmls/src/group/errors.rs | 3 + openmls/src/group/public_group/validation.rs | 70 +++++++++---------- .../treesync/node/leaf_node/capabilities.rs | 14 ++-- 3 files changed, 45 insertions(+), 42 deletions(-) diff --git a/openmls/src/group/errors.rs b/openmls/src/group/errors.rs index 81623b13be..8b95c791ae 100644 --- a/openmls/src/group/errors.rs +++ b/openmls/src/group/errors.rs @@ -374,6 +374,9 @@ pub enum ProposalValidationError { /// See [`PskError`] for more details. #[error(transparent)] Psk(#[from] PskError), + /// Leaf node + #[error("something with leaf node")] + LeafNodeValidationError, } /// External Commit validaton error diff --git a/openmls/src/group/public_group/validation.rs b/openmls/src/group/public_group/validation.rs index 039ded3d28..256f4bbfb9 100644 --- a/openmls/src/group/public_group/validation.rs +++ b/openmls/src/group/public_group/validation.rs @@ -306,41 +306,41 @@ impl PublicGroup { // If there is a required capabilities extension, check if that one // is supported. - if let Some(required_capabilities) = - self.group_context().extensions().required_capabilities() - { - // Check if all required capabilities are supported. - capabilities - .supports_required_capabilities(required_capabilities) - .map_err(|_| ProposalValidationError::InsufficientCapabilities)?; - } - - // Check that all extensions are contained in the capabilities. - if !capabilities.contain_extensions(leaf_node.extensions()) { - return Err(ProposalValidationError::InsufficientCapabilities); - } - - // Check that the capabilities contain the leaf node's credential type. - if !capabilities.contains_credential(&leaf_node.credential().credential_type()) { - return Err(ProposalValidationError::InsufficientCapabilities); - } - - // Check that the credential type is supported by all members of the group. - if !group_leaf_nodes.all(|node| { - node.capabilities() - .contains_credential(&leaf_node.credential().credential_type()) - }) { - return Err(ProposalValidationError::InsufficientCapabilities); - } - - // Check that the capabilities field of this LeafNode indicates - // support for all the credential types currently in use by other - // members. - if !group_leaf_nodes - .all(|node| capabilities.contains_credential(&node.credential().credential_type())) - { - return Err(ProposalValidationError::InsufficientCapabilities); - } + // if let Some(required_capabilities) = + // self.group_context().extensions().required_capabilities() + // { + // // Check if all required capabilities are supported. + // capabilities + // .supports_required_capabilities(required_capabilities) + // .map_err(|_| ProposalValidationError::InsufficientCapabilities)?; + // } + + // // Check that all extensions are contained in the capabilities. + // if !capabilities.contain_extensions(leaf_node.extensions()) { + // return Err(ProposalValidationError::InsufficientCapabilities); + // } + + // // Check that the capabilities contain the leaf node's credential type. + // if !capabilities.contains_credential(&leaf_node.credential().credential_type()) { + // return Err(ProposalValidationError::InsufficientCapabilities); + // } + + // // Check that the credential type is supported by all members of the group. + // if !group_leaf_nodes.all(|node| { + // node.capabilities() + // .contains_credential(&leaf_node.credential().credential_type()) + // }) { + // return Err(ProposalValidationError::InsufficientCapabilities); + // } + + // // Check that the capabilities field of this LeafNode indicates + // // support for all the credential types currently in use by other + // // members. + // if !group_leaf_nodes + // .all(|node| capabilities.contains_credential(&node.credential().credential_type())) + // { + // return Err(ProposalValidationError::InsufficientCapabilities); + // } } Ok(()) } diff --git a/openmls/src/treesync/node/leaf_node/capabilities.rs b/openmls/src/treesync/node/leaf_node/capabilities.rs index ffdfe55f59..030f5717a1 100644 --- a/openmls/src/treesync/node/leaf_node/capabilities.rs +++ b/openmls/src/treesync/node/leaf_node/capabilities.rs @@ -134,13 +134,13 @@ impl Capabilities { required_capabilities: &RequiredCapabilitiesExtension, ) -> Result<(), LeafNodeValidationError> { // Check if all required extensions are supported. - if required_capabilities - .extension_types() - .iter() - .any(|e| !(self.extensions().contains(e) || default_extensions().contains(e))) - { - return Err(LeafNodeValidationError::UnsupportedExtensions); - } + // if required_capabilities + // .extension_types() + // .iter() + // .any(|e| !(self.extensions().contains(e) || default_extensions().contains(e))) + // { + // return Err(LeafNodeValidationError::UnsupportedExtensions); + // } // Check if all required proposals are supported. if required_capabilities .proposal_types()