use crate::errors::ProxyError;
mod branch_chain;
pub use branch_chain::{MAX_BRANCH_DEPTH, MAX_ITERATIONS_CEILING};
pub(in crate::config) mod cluster;
mod filter_chain;
mod inline_clusters;
mod listener;
mod rules;
pub use cluster::is_ssrf_sensitive;
pub use filter_chain::TERMINAL_FILTERS;
pub(crate) const MAX_CONNECTIONS: u32 = 1_000_000;
pub(crate) fn validate_name_chars(name: &str, kind: &str) -> Result<(), ProxyError> {
if !name
.bytes()
.all(|b| b.is_ascii_alphanumeric() || b == b'_' || b == b'-')
{
return Err(ProxyError::Config(format!(
"{kind} name '{name}' must contain only ASCII alphanumeric, '_', or '-'"
)));
}
Ok(())
}