From 46162e620aa3e5abcab171f56b84d5fc81d454ac Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 23 Apr 2020 22:28:27 +0100 Subject: [PATCH] change response content lengh when using rawbuffer --- .../Servers/HttpServer/OSHttpServer/HttpResponse.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs index 1b0a188847..a291981a36 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs @@ -298,18 +298,25 @@ namespace OSHttpServer m_context.TimeoutKeepAlive = m_keepAlive * 1000; } - m_headerBytes = GetHeaders(); if (RawBuffer != null) { - if (RawBufferStart < 0 || RawBufferStart > RawBuffer.Length) + if (RawBufferStart > RawBuffer.Length) return; + if (RawBufferStart < 0) + RawBufferStart = 0; + if (RawBufferLen < 0) RawBufferLen = RawBuffer.Length; if (RawBufferLen + RawBufferStart > RawBuffer.Length) RawBufferLen = RawBuffer.Length - RawBufferStart; + } + m_headerBytes = GetHeaders(); + + if (RawBuffer != null) + { int tlen = m_headerBytes.Length + RawBufferLen; if(RawBufferLen > 0 && tlen < 16384) {