From f9c41edcb4cfeed50218ff6807b6245d575c0ddb Mon Sep 17 00:00:00 2001 From: Melody Horn Date: Wed, 11 Nov 2020 16:06:28 -0700 Subject: [PATCH] don't round-trip CGI response through UTF-8 this fixes sending binary files from a CGI script --- src/cgi.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cgi.rs b/src/cgi.rs index a5dd900..1605d53 100644 --- a/src/cgi.rs +++ b/src/cgi.rs @@ -137,13 +137,13 @@ pub async fn cgi( con.send_status(Status::CGIError, None).await?; return Ok(()); } - let cmd = String::from_utf8(cmd.stdout).unwrap(); - if !check(cmd.as_bytes()[0], con.peer_addr, url) { + let cmd = cmd.stdout; + if !check(cmd[0], con.peer_addr, url) { con.send_status(Status::CGIError, None).await?; return Ok(()); } - con.send_raw(cmd.as_bytes()).await?; + con.send_raw(&cmd).await?; return Ok(()); }