From eadcb139ed9b5d1fd56e20296fcc5e580c5e7635 Mon Sep 17 00:00:00 2001 From: Jack Rubacha Date: Sun, 12 Jul 2026 20:13:28 -0400 Subject: [PATCH] reject ? bc zenoh --- libs/calypso-cangen/src/validate.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libs/calypso-cangen/src/validate.rs b/libs/calypso-cangen/src/validate.rs index 3ff8627..c292b09 100644 --- a/libs/calypso-cangen/src/validate.rs +++ b/libs/calypso-cangen/src/validate.rs @@ -71,6 +71,9 @@ pub enum CANSpecError { #[error("Duplicate topic names {0}, last seen at message {1}")] DuplicateTopicNames(String, String), + #[error("Invalid topic name {0}")] + InvalidTopicName(String), + #[error(transparent)] // Pass-through for IO error IOError(#[from] std::io::Error), } @@ -314,6 +317,12 @@ fn validate_msg( _msg.desc.clone(), )); } + + // check topic contains valid chars + if _field.name.chars().any(|c| "?#*.".contains(c)) { + _errors.push(CANSpecError::InvalidTopicName(_field.name.clone())); + } + _topics.insert(_field.name.clone()); }