Clean clippy warnings

This commit is contained in:
Jackson Coxson
2025-05-09 12:50:02 -06:00
parent 512b556a45
commit 25b8a85dfd

View File

@@ -158,13 +158,13 @@ impl TryFrom<RawPairingFile> for PairingFile {
// Ensure device certificate has proper PEM headers // Ensure device certificate has proper PEM headers
let device_certificate_pem = ensure_pem_headers(&device_cert_data, "CERTIFICATE"); let device_certificate_pem = ensure_pem_headers(&device_cert_data, "CERTIFICATE");
// Ensure host certificate has proper PEM headers // Ensure host certificate has proper PEM headers
let host_certificate_pem = ensure_pem_headers(&host_cert_data, "CERTIFICATE"); let host_certificate_pem = ensure_pem_headers(&host_cert_data, "CERTIFICATE");
// Ensure root certificate has proper PEM headers // Ensure root certificate has proper PEM headers
let root_certificate_pem = ensure_pem_headers(&root_cert_data, "CERTIFICATE"); let root_certificate_pem = ensure_pem_headers(&root_cert_data, "CERTIFICATE");
Ok(Self { Ok(Self {
device_certificate: CertificateDer::from_pem_slice(&device_certificate_pem)?, device_certificate: CertificateDer::from_pem_slice(&device_certificate_pem)?,
host_private_key: host_private_key_data, host_private_key: host_private_key_data,
@@ -184,10 +184,10 @@ impl From<PairingFile> for RawPairingFile {
/// Converts a structured pairing file into a raw pairing file for serialization /// Converts a structured pairing file into a raw pairing file for serialization
fn from(value: PairingFile) -> Self { fn from(value: PairingFile) -> Self {
// Ensure certificates include proper PEM format // Ensure certificates include proper PEM format
let device_cert_data = ensure_pem_headers(&value.device_certificate.to_vec(), "CERTIFICATE"); let device_cert_data = ensure_pem_headers(&value.device_certificate, "CERTIFICATE");
let host_cert_data = ensure_pem_headers(&value.host_certificate.to_vec(), "CERTIFICATE"); let host_cert_data = ensure_pem_headers(&value.host_certificate, "CERTIFICATE");
let root_cert_data = ensure_pem_headers(&value.root_certificate.to_vec(), "CERTIFICATE"); let root_cert_data = ensure_pem_headers(&value.root_certificate, "CERTIFICATE");
// Ensure private keys include proper PEM format // Ensure private keys include proper PEM format
let host_private_key_data = ensure_pem_headers(&value.host_private_key, "PRIVATE KEY"); let host_private_key_data = ensure_pem_headers(&value.host_private_key, "PRIVATE KEY");
let root_private_key_data = ensure_pem_headers(&value.root_private_key, "PRIVATE KEY"); let root_private_key_data = ensure_pem_headers(&value.root_private_key, "PRIVATE KEY");
@@ -214,23 +214,24 @@ fn ensure_pem_headers(data: &[u8], pem_type: &str) -> Vec<u8> {
if is_pem_formatted(data) { if is_pem_formatted(data) {
return data.to_vec(); return data.to_vec();
} }
// If it's just base64 data, add PEM headers // If it's just base64 data, add PEM headers
let mut result = Vec::new(); let mut result = Vec::new();
// Add header // Add header
let header = format!("-----BEGIN {}-----\n", pem_type); let header = format!("-----BEGIN {}-----\n", pem_type);
result.extend_from_slice(header.as_bytes()); result.extend_from_slice(header.as_bytes());
// Add base64 content with line breaks every 64 characters // Add base64 content with line breaks every 64 characters
let base64_content = if is_base64(data) { let base64_content = if is_base64(data) {
// Clean up any existing whitespace/newlines // Clean up any existing whitespace/newlines
let data_str = String::from_utf8_lossy(data); let data_str = String::from_utf8_lossy(data);
data_str.replace('\n', "").replace('\r', "").replace(' ', "").into_bytes() data_str.replace(['\n', '\r', ' '], "").into_bytes()
} else { } else {
base64::encode(data).into_bytes() let engine = base64::prelude::BASE64_STANDARD;
base64::Engine::encode(&engine, data).into_bytes()
}; };
// Format base64 content with proper line breaks (64 chars per line) // Format base64 content with proper line breaks (64 chars per line)
for (i, chunk) in base64_content.chunks(64).enumerate() { for (i, chunk) in base64_content.chunks(64).enumerate() {
if i > 0 { if i > 0 {
@@ -238,14 +239,14 @@ fn ensure_pem_headers(data: &[u8], pem_type: &str) -> Vec<u8> {
} }
result.extend_from_slice(chunk); result.extend_from_slice(chunk);
} }
// Add a final newline before the footer // Add a final newline before the footer
result.push(b'\n'); result.push(b'\n');
// Add footer // Add footer
let footer = format!("-----END {}-----", pem_type); let footer = format!("-----END {}-----", pem_type);
result.extend_from_slice(footer.as_bytes()); result.extend_from_slice(footer.as_bytes());
result result
} }
@@ -282,4 +283,3 @@ fn test_pairing_file_roundtrip() {
assert_eq!(f[..output.len()], output); assert_eq!(f[..output.len()], output);
} }