]> granicus.if.org Git - icinga2/commitdiff
Conform to RFC for CRLF in HTTP requests 6403/head
authorMichael Friedrich <michael.friedrich@icinga.com>
Thu, 21 Jun 2018 14:53:44 +0000 (16:53 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Thu, 21 Jun 2018 14:53:44 +0000 (16:53 +0200)
refs #6242

lib/remote/httprequest.cpp

index 8f6c11e31495ef5f63e7319e7a137a60de62b0ba..4ba9aad696dd84fc2aafa4ab5cb554ced4432742 100644 (file)
@@ -194,7 +194,7 @@ void HttpRequest::AddHeader(const String& key, const String& value)
 void HttpRequest::FinishHeaders()
 {
        if (m_State == HttpRequestStart) {
-               String rqline = RequestMethod + " " + RequestUrl->Format(true) + " HTTP/1." + (ProtocolVersion == HttpVersion10 ? "0" : "1") + "\n";
+               String rqline = RequestMethod + " " + RequestUrl->Format(true) + " HTTP/1." + (ProtocolVersion == HttpVersion10 ? "0" : "1") + "\r\n";
                m_Stream->Write(rqline.CStr(), rqline.GetLength());
                m_State = HttpRequestHeaders;
        }
@@ -211,11 +211,11 @@ void HttpRequest::FinishHeaders()
                ObjectLock olock(Headers);
                for (const Dictionary::Pair& kv : Headers)
                {
-                       String header = kv.first + ": " + kv.second + "\n";
+                       String header = kv.first + ": " + kv.second + "\r\n";
                        m_Stream->Write(header.CStr(), header.GetLength());
                }
 
-               m_Stream->Write("\n", 1);
+               m_Stream->Write("\r\n", 2);
 
                m_State = HttpRequestBody;
        }