From bedb60a8a85b14b9a5b1f4162daa6d569492dbe0 Mon Sep 17 00:00:00 2001 From: "user.email" Date: Sat, 24 Oct 2026 22:45:11 -0700 Subject: [PATCH] fix(rust-volume-server): delegate Content-MD5 verification to the Go backend The native pre-check rejected every upload carrying Content-MD5, even when the checksum was correct; the backend accepts matching checksums and only rejects mismatches. --- rust/volume_server/src/main.rs | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/rust/volume_server/src/main.rs b/rust/volume_server/src/main.rs index 2763e97a58..3b2b65bb5c 100644 --- a/rust/volume_server/src/main.rs +++ b/rust/volume_server/src/main.rs @@ -526,20 +526,6 @@ fn try_handle_native_http( } } - if parsed.content_md5.is_some() { - consume_bytes(stream, parsed.header_len + parsed.content_length)?; - write_native_http_response( - stream, - "400 Bad Request", - "text/plain; charset=utf-8", - b"Content-MD5 mismatch\n", - false, - parsed.request_id.as_deref(), - )?; - let _ = stream.shutdown(Shutdown::Both); - return Ok(true); - } - if let Some(limit_bytes) = config.and_then(|c| c.file_size_limit_bytes) { if parsed.content_length > limit_bytes { consume_bytes(stream, parsed.header_len + parsed.content_length)?; @@ -566,7 +552,6 @@ struct ParsedHttpRequest { request_id: Option, origin: Option, content_type: Option, - content_md5: Option, content_length: usize, header_len: usize, } @@ -629,7 +614,6 @@ fn parse_http_request_headers(data: &[u8], header_len: usize) -> Option Option() { content_length = v; @@ -658,7 +640,6 @@ fn parse_http_request_headers(data: &[u8], header_len: usize) -> Option