From e0340cc4ecb1d85036b42413e8ddbc3b8104b132 Mon Sep 17 00:00:00 2001 From: Cylae <13425054+Cylae@users.noreply.github.com> Date: Wed, 9 Sep 2026 00:52:57 +0000 Subject: [PATCH] refactor: remove unused validate_domain function Remove the unused public function `validate_domain` from `server_manager::core::validate` and its corresponding unit test in `tests/contract_input_validation.rs`. This cleans up dead code in the binary crate. --- server_manager/src/core/validate.rs | 50 ------------------- .../tests/contract_input_validation.rs | 21 +------- 2 files changed, 2 insertions(+), 69 deletions(-) diff --git a/server_manager/src/core/validate.rs b/server_manager/src/core/validate.rs index 9c4898e..b8e44b6 100644 --- a/server_manager/src/core/validate.rs +++ b/server_manager/src/core/validate.rs @@ -60,56 +60,6 @@ pub fn validate_username(name: &str) -> Result<&str> { Ok(name) } -/// Validates an RFC 1123 domain name. -pub fn validate_domain(domain: &str) -> Result<&str> { - ensure!( - !domain.is_empty(), - "Validation error: domain cannot be empty" - ); - ensure!( - domain.len() <= 253, - "Validation error: domain cannot exceed 253 characters" - ); - - for label in domain.split('.') { - ensure!( - !label.is_empty(), - "Validation error: domain label cannot be empty" - ); - ensure!( - label.len() <= 63, - "Validation error: domain label cannot exceed 63 characters: '{}'", - label - ); - - let first = label.chars().next().unwrap_or('\0'); - let last = label.chars().last().unwrap_or('\0'); - - ensure!( - first.is_ascii_alphanumeric(), - "Validation error: domain label must start with alphanumeric: '{}'", - label - ); - ensure!( - last.is_ascii_alphanumeric(), - "Validation error: domain label must end with alphanumeric: '{}'", - label - ); - - for c in label.chars() { - if !c.is_ascii_alphanumeric() && c != '-' { - bail!( - "Validation error: invalid character '{}' in domain label '{}'", - c, - label - ); - } - } - } - - Ok(domain) -} - /// Validates a network port number (1..=65535). pub fn validate_port(port: u32) -> Result { if (1..=65535).contains(&port) { diff --git a/server_manager/tests/contract_input_validation.rs b/server_manager/tests/contract_input_validation.rs index 7b9da2d..9215505 100644 --- a/server_manager/tests/contract_input_validation.rs +++ b/server_manager/tests/contract_input_validation.rs @@ -1,6 +1,6 @@ use server_manager::core::validate::{ - validate_domain, validate_ip, validate_port, validate_port_str, validate_safe_path, - validate_service_name, validate_username, + validate_ip, validate_port, validate_port_str, validate_safe_path, validate_service_name, + validate_username, }; use std::path::Path; @@ -50,23 +50,6 @@ fn test_validate_username() { assert!(validate_username(&long_user).is_err()); } -#[test] -fn test_validate_domain() { - // Valid domains - assert!(validate_domain("example.com").is_ok()); - assert!(validate_domain("cloud.sub.example.org").is_ok()); - assert!(validate_domain("my-server-01.local").is_ok()); - assert!(validate_domain("localhost").is_ok()); - - // Invalid domains - assert!(validate_domain("").is_err()); - assert!(validate_domain("-leading-hyphen.com").is_err()); - assert!(validate_domain("trailing-hyphen-.com").is_err()); - assert!(validate_domain("double..dot.com").is_err()); - assert!(validate_domain("domain;curl evil.com").is_err()); - assert!(validate_domain("domain with spaces.com").is_err()); -} - #[test] fn test_validate_port() { // Valid ports