From 314e590d67db08690b31930e53ca61cedfc4d1e2 Mon Sep 17 00:00:00 2001 From: Peter Hartmann <9qgm-76ea@xemaps.com> Date: Sun, 22 Apr 2012 21:20:27 +0200 Subject: QHttpMultiPart: supply new line at the end of the body ... to conform to RFC 2046 (section 5.1.1). Apparently IIS had problems without the new line. Task-number: QTBUG-25429 Change-Id: Ia619bbdcebd407b2716bc467323634e4c8d77bcd Reviewed-by: Shane Kearns --- src/network/access/qhttpmultipart.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/network/access/qhttpmultipart.cpp b/src/network/access/qhttpmultipart.cpp index e24c0606ef..27164d69ae 100644 --- a/src/network/access/qhttpmultipart.cpp +++ b/src/network/access/qhttpmultipart.cpp @@ -456,7 +456,7 @@ qint64 QHttpMultiPartIODevice::size() const // and 2 bytes for the "\r\n" after the content currentSize += boundaryCount + 4 + multiPart->parts.at(a).d->size() + 2; } - currentSize += boundaryCount + 4; // size for ending boundary and 2 beginning and ending dashes + currentSize += boundaryCount + 6; // size for ending boundary, 2 beginning and ending dashes and "\r\n" deviceSize = currentSize; } return deviceSize; @@ -527,7 +527,7 @@ qint64 QHttpMultiPartIODevice::readData(char *data, qint64 maxSize) } // check whether we need to return the final boundary if (bytesRead < maxSize && index == multiPart->parts.count()) { - QByteArray finalBoundary = "--" + multiPart->boundary + "--"; + QByteArray finalBoundary = "--" + multiPart->boundary + "--\r\n"; qint64 boundaryIndex = readPointer + finalBoundary.count() - size(); qint64 lastBoundaryBytesRead = qMin(finalBoundary.count() - boundaryIndex, maxSize - bytesRead); memcpy(data + bytesRead, finalBoundary.constData() + boundaryIndex, lastBoundaryBytesRead); -- cgit v1.2.3