Skip to content

Commit

Permalink
add verify_incoming_crds_value method
Browse files Browse the repository at this point in the history
  • Loading branch information
gregcusack committed Aug 6, 2024
1 parent c1d3ad7 commit 4c079c2
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions gossip/src/cluster_info.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2529,16 +2529,14 @@ impl ClusterInfo {
}
Protocol::PullResponse(_, mut data) => {
check_duplicate_instance(&data)?;
data.retain(&mut verify_gossip_addr);
data.retain(&mut verify_node_instance);
data.retain(|value| verify_incoming_crds_value(value, &mut verify_gossip_addr, &mut verify_node_instance));
if !data.is_empty() {
pull_responses.append(&mut data);
}
}
Protocol::PushMessage(from, mut data) => {
check_duplicate_instance(&data)?;
data.retain(&mut verify_gossip_addr);
data.retain(&mut verify_node_instance);
data.retain(|value| verify_incoming_crds_value(value, &mut verify_gossip_addr, &mut verify_node_instance));
if !data.is_empty() {
push_messages.push((from, data));
}
Expand Down Expand Up @@ -3396,6 +3394,14 @@ fn verify_gossip_addr<R: Rng + CryptoRng>(
out
}

fn verify_incoming_crds_value<'a>(
value: &'a CrdsValue,
verify_gossip_addr: &mut impl FnMut(&'a CrdsValue) -> bool,
verify_node_instance: &mut impl FnMut(&'a CrdsValue) -> bool,
) -> bool {
verify_gossip_addr(value) && verify_node_instance(value)
}

#[cfg(test)]
mod tests {
use {
Expand Down

0 comments on commit 4c079c2

Please sign in to comment.