"Edit and Resend" produces mangled requests

RESOLVED INCOMPLETE

Status

()

RESOLVED INCOMPLETE
4 years ago
2 years ago

People

(Reporter: william-bugzilla.mozilla.org, Unassigned)

Tracking

({testcase-wanted})

37 Branch
x86_64
Linux
testcase-wanted
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

4 years ago
Created attachment 8601801 [details]
edit_and_resend_failure.pcapng

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0
Build ID: 20150417180217

Steps to reproduce:

Opened developer tools, went to Network tab, submitted a form.

Right-clicked on the POST request, picked "Edit and resend".

Changed the URL, did not edit anything else, clicked "Send".


Actual results:

A request was submitted to the server, but the request was invalid. Note in particular the duplicate Content-Type and Content-Length fields. Packet dump attached; full request text below.

POST /api/v1/website/william%25252Bpersona.org%2540codeforamerica.org%252Ftesting-out-preview/fnord.md HTTP/1.1
Host: localhost:5000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: text/plain; charset=UTF-8
Pragma: no-cache
Cache-Control: no-cache
Referer: http://localhost:5000/tree/william%25252Bpersona.org%2540codeforamerica.org%252Ftesting-out-preview/edit/fnord.md
Content-Length: 265
Cookie: session=eyJlbWFpbCI6IndpbGxpYW0rcGVyc29uYS5vcmdAY29kZWZvcmFtZXJpY2Eub3JnIn0.CCrRyQ.TSSYPpYQdDFM5BlL0TkEIc1ESg0
Connection: keep-alive

Content-Type: application/x-www-form-urlencoded
Content-Length: 193

en-title=Greetings&en-body=%23+down+for+markup%0D%0A%0D%0AAnd+also+up+for+*markdown*.%0D%0A%0D%0A%0D%0ABecause+it%27s+fun.&layout=&hexsha=cd76b77b0b0dd9a7498f017bc72c0d9adc0ae316&url-slug=fnord


Expected results:

A well-formed POST request with type application/x-www-form-urlencoded should have been submitted to the server.
Can you please confirm this issue is still reproducible on latest release available. (currently that beeing 42)
Flags: needinfo?(william-bugzilla.mozilla.org)
(Reporter)

Comment 2

3 years ago
My browser claims it's version 43. Would you like me to check on that one?
Please do try. Also could you please copy/paste the user agent from about:support when you're done? We shall follow it up from there if you can still reproduce it.
I'm not able to reproduce this on Nightly 47 - Ubuntu 14.04 x32 or 15.04 x64.
Might be as well due to some settings particularities from the user browser, like addons or firewall/overall settings.
For the moment, I'm setting this issue as Resolved/Incomplete. 
If William brings back more info on the matter - (self sufficient test case would be great) we shall reopen it.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 3 years ago
Flags: needinfo?(william-bugzilla.mozilla.org)
Keywords: testcase-wanted
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Resolution: --- → INCOMPLETE
(Reporter)

Comment 5

3 years ago
Yeah, sorry for the slow reply. By the time you asked, that computer and app setup were no longer available to me, and 7 months later I couldn't duplicate the setup. If I ever come across this again, I'll re-report.

Comment 6

2 years ago
This but is reproducible on LinuxMint v18.0 FF v50.1.0

In compare to the original request the: Content-Type and Content-Length are added

Comment 7

2 years ago
about:support
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

Hm, strange, but Help->About FireFox shows me 50.1.0

Here trow requests. So you can see what is wrong:

{
  "log": {
    "version": "1.1",
    "creator": {
      "name": "Firefox",
      "version": "50.1.0"
    },
    "browser": {
      "name": "Firefox",
      "version": "50.1.0"
    },
    "pages": [
      {
        "startedDateTime": "2016-12-19T23:45:13.639+02:00",
        "id": "page_1",
        "title": "http://artcoin:3000/login",
        "pageTimings": {
          "onContentLoad": -1,
          "onLoad": -1
        }
      }
    ],
    "entries": [
      {
        "pageref": "page_1",
        "startedDateTime": "2016-12-19T23:45:13.639+02:00",
        "time": 36065,
        "request": {
          "bodySize": 94,
          "method": "POST",
          "url": "http://artcoin:3000/login",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Host",
              "value": "artcoin:3000"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0"
            },
            {
              "name": "Accept",
              "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.5"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Referer",
              "value": "http://artcoin:3000/login"
            },
            {
              "name": "Cookie",
              "value": "artcoin=eyJleHBpcmVzIjoxNDgyNzg4NzA1LCJsb2dpbiI6Inh4eCIsIm5ld19mbGFzaCI6eyJhc2tfcGluIjozN30sInVzZXJfaWQiOjM3LCJ1c2VyX2xldmVsIjoyMDB9--56b44d2de0d2b8af93d74931c324b337e0830d38"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Upgrade-Insecure-Requests",
              "value": "1"
            },
            {
              "name": "Cache-Control",
              "value": "max-age=0"
            }
          ],
          "cookies": [
            {
              "name": "artcoin",
              "value": "eyJleHBpcmVzIjoxNDgyNzg4NzA1LCJsb2dpbiI6Inh4eCIsIm5ld19mbGFzaCI6eyJhc2tfcGluIjozN30sInVzZXJfaWQiOjM3LCJ1c2VyX2xldmVsIjoyMDB9--56b44d2de0d2b8af93d74931c324b337e0830d38"
            }
          ],
          "queryString": [],
          "postData": {
            "mimeType": "application/x-www-form-urlencoded",
            "params": [],
            "text": "Content-Type: application/x-www-form-urlencoded\r\nContent-Length: 23\r\n\r\nlogin=xxx&password=1234"
          },
          "headersSize": 570
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Content-Length",
              "value": "373"
            },
            {
              "name": "Content-Type",
              "value": "text/html;charset=UTF-8"
            },
            {
              "name": "Date",
              "value": "Mon, 19 Dec 2016 21:45:49 GMT"
            },
            {
              "name": "Server",
              "value": "Mojolicious (Perl)"
            },
            {
              "name": "Set-Cookie",
              "value": "artcoin=eyJleHBpcmVzIjoxNDgyNzg4NzQ5LCJsb2dpbiI6Inh4eCIsInVzZXJfaWQiOjM3LCJ1c2VyX2xldmVsIjoyMDB9--081b29c1855a1c157b509c28a1130ae9db179350; expires=Mon, 26 Dec 2016 21:45:49 GMT; path=/; HttpOnly"
            }
          ],
          "cookies": [
            {
              "name": "artcoin",
              "value": "eyJleHBpcmVzIjoxNDgyNzg4NzQ5LCJsb2dpbiI6Inh4eCIsInVzZXJfaWQiOjM3LCJ1c2VyX2xldmVsIjoyMDB9--081b29c1855a1c157b509c28a1130ae9db179350"
            }
          ],
          "content": {
            "mimeType": "text/html; charset=UTF-8",
            "size": 373,
            "text": "<form action=\"/login\" method=\"POST\">\n\n\t<label for=\"login\">Login</label>\n\t<input id=\"login\" name=\"login\" title=\"Login\" type=\"text\" value=\"xxx\">\n\n\t<label for=\"password\">Password</label>\n\t<input id=\"password\" name=\"password\" title=\"Password\" type=\"password\">\n\n\t<input type=\"submit\" value=\"Log In\">\n\n\t<a href=\"/users/create\">Register</a>\n\n\t<a href=\"/remind\">Remind</a>\n\n</form>"
          },
          "redirectURL": "",
          "headersSize": 353,
          "bodySize": 373
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "send": 0,
          "wait": 36065,
          "receive": 0
        },
        "serverIPAddress": "127.0.0.1",
        "connection": "3000"
      },
      {
        "pageref": "page_1",
        "startedDateTime": "2016-12-19T23:46:24.530+02:00",
        "time": null,
        "request": {
          "bodySize": 94,
          "method": "POST",
          "url": "http://artcoin:3000/login.json",
          "httpVersion": "",
          "headers": [
            {
              "name": "Host",
              "value": "artcoin:3000"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0"
            },
            {
              "name": "Accept",
              "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.5"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Upgrade-Insecure-Requests",
              "value": "1"
            },
            {
              "name": "Cache-Control",
              "value": "max-age=0"
            },
            {
              "name": "Referer",
              "value": "http://artcoin:3000/login"
            },
            {
              "name": "Content-Length",
              "value": "94"
            },
            {
              "name": "Content-Type",
              "value": "text/plain;charset=UTF-8"
            },
            {
              "name": "Cookie",
              "value": "artcoin=eyJleHBpcmVzIjoxNDgyNzg4NzQ5LCJsb2dpbiI6Inh4eCIsInVzZXJfaWQiOjM3LCJ1c2VyX2xldmVsIjoyMDB9--081b29c1855a1c157b509c28a1130ae9db179350"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            }
          ],
          "cookies": [
            {
              "name": "artcoin",
              "value": "eyJleHBpcmVzIjoxNDgyNzg4NzQ5LCJsb2dpbiI6Inh4eCIsInVzZXJfaWQiOjM3LCJ1c2VyX2xldmVsIjoyMDB9--081b29c1855a1c157b509c28a1130ae9db179350"
            }
          ],
          "queryString": [],
          "postData": {
            "mimeType": "application/x-www-form-urlencoded",
            "params": [],
            "text": "Content-Type: application/x-www-form-urlencoded\r\nContent-Length: 23\r\n\r\nlogin=xxx&password=1234"
          },
          "headersSize": 601
        },
        "response": {
          "status": 0,
          "statusText": "",
          "httpVersion": "",
          "headers": [],
          "cookies": [],
          "content": {
            "size": -1
          },
          "redirectURL": "",
          "headersSize": -1,
          "bodySize": -1
        },
        "cache": {},
        "timings": {}
      }
    ]
  }
}
You need to log in before you can comment on or make changes to this bug.