Changeset 86693 in webkit


Ignore:
Timestamp:
May 17, 2011 12:00:37 PM (13 years ago)
Author:
luiz@webkit.org
Message:

[Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
https://bugs.webkit.org/show_bug.cgi?id=60440

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Makes sure that the HTTP headers Content-type and Content-length are not included in
the requests that do not have any content.

Tests: http/tests/navigation/post-301-response.html

http/tests/navigation/post-302-response.html
http/tests/navigation/post-303-response.html
http/tests/navigation/post-307-response.html

  • platform/network/qt/QNetworkReplyHandler.cpp:

(WebCore::QNetworkReplyHandler::sendNetworkRequest):

LayoutTests:

These new tests check that no POST content is sent to the new URL after receiving http
status codes 301, 302 and 303, and checks that the POST content is sent to the new URL
after receiving a 307 http status code.

  • http/tests/navigation/post-301-response-expected.txt: Added.
  • http/tests/navigation/post-301-response.html: Added.
  • http/tests/navigation/post-302-response-expected.txt: Added.
  • http/tests/navigation/post-302-response.html: Added.
  • http/tests/navigation/post-303-response-expected.txt: Added.
  • http/tests/navigation/post-303-response.html: Added.
  • http/tests/navigation/post-307-response-expected.txt: Added.
  • http/tests/navigation/post-307-response.html: Added.
  • http/tests/navigation/resources/redirected-post-request-contents.php: Added.
  • http/tests/navigation/resources/redirection-response.php: Added.
Location:
trunk
Files:
10 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r86682 r86693  
     12011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
     6        https://bugs.webkit.org/show_bug.cgi?id=60440
     7
     8        These new tests check that no POST content is sent to the new URL after receiving http
     9        status codes 301, 302 and 303, and checks that the POST content is sent to the new URL
     10        after receiving a 307 http status code.
     11
     12        * http/tests/navigation/post-301-response-expected.txt: Added.
     13        * http/tests/navigation/post-301-response.html: Added.
     14        * http/tests/navigation/post-302-response-expected.txt: Added.
     15        * http/tests/navigation/post-302-response.html: Added.
     16        * http/tests/navigation/post-303-response-expected.txt: Added.
     17        * http/tests/navigation/post-303-response.html: Added.
     18        * http/tests/navigation/post-307-response-expected.txt: Added.
     19        * http/tests/navigation/post-307-response.html: Added.
     20        * http/tests/navigation/resources/redirected-post-request-contents.php: Added.
     21        * http/tests/navigation/resources/redirection-response.php: Added.
     22
    1232011-05-17  Sakamuri Ramakrishna  <ramakrishna.sakamuri@nokia.com>
    224
  • trunk/Source/WebCore/ChangeLog

    r86691 r86693  
     12011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
     6        https://bugs.webkit.org/show_bug.cgi?id=60440
     7
     8        Makes sure that the HTTP headers Content-type and Content-length are not included in
     9        the requests that do not have any content.
     10
     11        Tests: http/tests/navigation/post-301-response.html
     12               http/tests/navigation/post-302-response.html
     13               http/tests/navigation/post-303-response.html
     14               http/tests/navigation/post-307-response.html
     15
     16        * platform/network/qt/QNetworkReplyHandler.cpp:
     17        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
     18
    1192011-05-17  Andreas Kling  <kling@webkit.org>
    220
  • trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp

    r86530 r86693  
    615615        && (!url.toLocalFile().isEmpty() || url.scheme() == QLatin1String("data")))
    616616        m_method = QNetworkAccessManager::GetOperation;
     617
     618    if (m_method != QNetworkAccessManager::PostOperation && m_method != QNetworkAccessManager::PutOperation) {
     619        // clearing Contents-length and Contents-type of the requests that do not have contents.
     620        m_request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant());
     621        m_request.setHeader(QNetworkRequest::ContentLengthHeader, QVariant());
     622    }
    617623
    618624    switch (m_method) {
Note: See TracChangeset for help on using the changeset viewer.