Closed Bug 1767298 Opened 2 years ago Closed 2 years ago

Allow Websocket over h2 to send data larger than 500 kilobytes

Categories

(Core :: Networking: WebSockets, defect, P3)

Firefox 91
defect

Tracking

()

RESOLVED FIXED
110 Branch
Tracking Status
firefox110 --- fixed

People

(Reporter: kershaw, Assigned: kershaw)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(2 files)

We'll use this bug to fix bug 1727995 properly.

+++ This bug was initially created as a clone of Bug #1727995 +++

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0

Steps to reproduce:

See attached zip file for small sample.

The "websocket.js" file will need to be modified. A server that accepts a websocket request should be configured in the "SERVER_URI" variable. Providing a working websocket server is a little complex and is out of scope for this request. It can be done with various python bits.

Once "websocket.js" has been updated you can serve the folder via python -m http.server and navigate to localhost.

Click on either of the buttons on the web page in order to create a websocket connection, load some binary data (via some random files I found on my computer), and send it over the socket.

Actual results:

When trying to send a Blob that is over 500 kilobytes Firefox hangs and never sends the data. If the Blob is smaller the data is sent right away.

Expected results:

Data should be sent. WebSocket supports like gigabytes, right?


I tried using mozregression to figure out if this broke at some point, but I ended up with a reggression back in like 2018.. Which is weird and I don't know if it's helpful.

Last Known Good: 2018-11-06
First Known Bad: 2018-11-07
Pushlog: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=6e842238034cd847ede178b4e65ea07704e4ffe6&tochange=5836a60614764631436bf5030c5baa34c676c7a2

mozregression couldn't find builds to get a smaller range. As this was almost three years ago I feel like it may be irrelevant, and I find it surprising nobody has noticed a 500k limit on WebSocket over this time.

Assignee: nobody → kershaw
Status: NEW → ASSIGNED
Attachment #9305983 - Attachment description: Bug 1767298 - Add test for sending 500k data, r=#necko → Bug 1767298 - Make the behavior of TLSTransportLayer more like SocketTransport, r=#necko
Pushed by kjang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d443062f9879 Make the behavior of TLSTransportLayer more like SocketTransport, r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/066e149dd107 Make sure we always stop wss and proxy server, r=necko-reviewers,valentin
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 110 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: