Commit graph

69 commits

Author SHA1 Message Date
dylan
b3b70f1193 Bug 1865394 - added urgency and incremental to request header in netmonitor. r=necko-reviewers,extension-reviewers,devtools-reviewers,valentin,robwu,bomsy,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D201265
2024-03-21 14:29:26 +00:00
Butkovits Atila
640d8aa060 Backed out changeset d1d9d57a9895 (bug 1865394) for causing failures at browser_net_har_copy_all_as_har.js. CLOSED TREE 2024-03-13 21:04:58 +02:00
dylan
f01e37b32b Bug 1865394 - added urgency and incremental to request header in netmonitor. r=necko-reviewers,extension-reviewers,devtools-reviewers,valentin,robwu,bomsy
Differential Revision: https://phabricator.services.mozilla.com/D201265
2024-03-13 17:03:22 +00:00
Gijs Kruitbosch
f1911aef9a Bug 1718082 - track current tab using browserId instead of top browsing context id for network prioritization purposes, r=nika,mconley,necko-reviewers,kershaw,valentin
Differential Revision: https://phabricator.services.mozilla.com/D171646
2023-03-13 17:32:08 +00:00
Kershaw Chang
9e6f57cb94 Bug 1814947, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D169937
2023-02-21 08:44:33 +00:00
Dragana Damjanovic
00c28d051e Bug 1790398 - Create Http3StreamBase that will be inherit by Http3Stream and WebTransport streams r=necko-reviewers,valentin,kershaw
This will alow reuse of many functions.
It will also inable use of queues that are going to be useful when  polling is implemented.

Differential Revision: https://phabricator.services.mozilla.com/D157817
2022-10-21 05:10:09 +00:00
Cristian Tuns
89ce7a93b7 Backed out 5 changesets (bug 1790392, bug 1789858, bug 1790398) for causing build bustages on nsHttpChannel.cpp CLOSED TREE
Backed out changeset 55d75ccb0945 (bug 1790398)
Backed out changeset 3f39aaf65c29 (bug 1790398)
Backed out changeset f03238131804 (bug 1790398)
Backed out changeset b958a6beca56 (bug 1790392)
Backed out changeset ab62dcd4e601 (bug 1789858)
2022-10-20 10:19:29 -04:00
Dragana Damjanovic
fca49d99b7 Bug 1790398 - Create Http3StreamBase that will be inherit by Http3Stream and WebTransport streams r=necko-reviewers,valentin,kershaw
This will alow reuse of many functions.
It will also inable use of queues that are going to be useful when  polling is implemented.

Differential Revision: https://phabricator.services.mozilla.com/D157817
2022-10-20 12:54:50 +00:00
Butkovits Atila
1455ec3e55 Backed out 5 changesets (bug 1790392, bug 1790398, bug 1789858) for causing build bustage at Http3WebTransportSession.cpp. CLOSED TREE
Backed out changeset 6ffb6a0029dc (bug 1790398)
Backed out changeset 93366266b85a (bug 1790398)
Backed out changeset 9d7331dd64c8 (bug 1790398)
Backed out changeset 07185f9a62ec (bug 1790392)
Backed out changeset 87a8741c5a2b (bug 1789858)
2022-10-20 01:46:29 +03:00
Dragana Damjanovic
ad16f9a969 Bug 1790398 - Create Http3StreamBase that will be inherit by Http3Stream and WebTransport streams r=necko-reviewers,valentin,kershaw
This will alow reuse of many functions.
It will also inable use of queues that are going to be useful when  polling is implemented.

Differential Revision: https://phabricator.services.mozilla.com/D157817
2022-10-19 21:11:26 +00:00
Butkovits Atila
552c42e776 Backed out 5 changesets (bug 1790392, bug 1790398, bug 1789858) for causing build bustages at nsHttpChannel.cpp. CLOSED TREE
Backed out changeset d7c7dd524f32 (bug 1790398)
Backed out changeset 96f9a57193e4 (bug 1790398)
Backed out changeset 17760a618980 (bug 1790398)
Backed out changeset 415d192c5ffc (bug 1790392)
Backed out changeset e7fda4a2e316 (bug 1789858)
2022-10-19 21:38:18 +03:00
Dragana Damjanovic
cece971a80 Bug 1790398 - Create Http3StreamBase that will be inherit by Http3Stream and WebTransport streams r=necko-reviewers,valentin,kershaw
This will alow reuse of many functions.
It will also inable use of queues that are going to be useful when  polling is implemented.

Differential Revision: https://phabricator.services.mozilla.com/D157817
2022-10-19 18:02:56 +00:00
Marian Laza
4cc3078461 Backed out 5 changesets (bug 1789858, bug 1790392, bug 1790398) for causing bustages on nsCORSListenerProxy.cpp (nsHttpChannel). CLOSED TREE
Backed out changeset e9bf86398696 (bug 1790398)
Backed out changeset ed10210ab627 (bug 1790398)
Backed out changeset 827abb353551 (bug 1790398)
Backed out changeset d25bc7131846 (bug 1790392)
Backed out changeset c941363309c5 (bug 1789858)
2022-10-19 08:41:31 +03:00
Dragana Damjanovic
b2f9d77d6d Bug 1790398 - Create Http3StreamBase that will be inherit by Http3Stream and WebTransport streams r=necko-reviewers,valentin,kershaw
This will alow reuse of many functions.
It will also inable use of queues that are going to be useful when  polling is implemented.

Differential Revision: https://phabricator.services.mozilla.com/D157817
2022-10-19 05:08:05 +00:00
edguloien
ee944b4098 Bug 1758524 (WIP) - Implement the http priority incremental flag: added lint fixes and test coverage. Differential Revision: https://phabricator.services.mozilla.com/D142694 r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D142965
2022-04-29 18:36:16 +00:00
edguloien
16595acde2 Bug 1758524 (WIP) - Implement http priority flag r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D142694
2022-04-29 18:36:16 +00:00
Cristian Tuns
5b228e4c4c Backed out 2 changesets (bug 1758524) for causing xpcshell failures in test_http3_prio_disabled_wrap.js CLOSED TREE
Backed out changeset b0abbd5936af (bug 1758524)
Backed out changeset e65d3214649e (bug 1758524)
2022-04-28 12:42:11 -04:00
edguloien
0c090761b0 Bug 1758524 (WIP) - Implement the http priority incremental flag: added lint fixes and test coverage. Differential Revision: https://phabricator.services.mozilla.com/D142694 r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D142965
2022-04-28 15:40:33 +00:00
edguloien
7172c05d39 Bug 1758524 (WIP) - Implement http priority flag r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D142694
2022-04-28 15:40:33 +00:00
Dragana Damjanovic
d2b7eea8fb Bug 1753002 - Change the diagnostic assert to a debug assert until bug 1757910 is fixed. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140182
2022-03-03 13:48:27 +00:00
Dragana Damjanovic
8050c41154 Bug 1750587 - Make sure that Content-Length header contains the correct number of bytes that will be sent using Http/3. r=necko-reviewers,valentin
The patch adds a diagnostic assertion into Http3SStream code.

Differential Revision: https://phabricator.services.mozilla.com/D136217
2022-01-27 15:11:53 +00:00
Dragana Damjanovic
c23217aa80 Bug 1750587 - Use a different way to determine the end of the upload stream. r=necko-reviewers,valentin
This is similar to the nsHttpConnection approach.

Differential Revision: https://phabricator.services.mozilla.com/D136156
2022-01-21 10:48:36 +00:00
Dragana Damjanovic
009ebf8f04 Bug 1750211 - Return an error in unexpected state. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D136005
2022-01-19 16:29:39 +00:00
Emilio Cobos Álvarez
3c6daa4dca Bug 1749957 - Fix parsing of content-length http3 header. r=dragana,necko-reviewers,kershaw
HTTP headers are case insensitive.

Differential Revision: https://phabricator.services.mozilla.com/D135871
2022-01-13 18:04:17 +00:00
Manuel Bucher
9706eeb9cc Bug 1749437 - Fix spelling of priorization r=necko-reviewers,kershaw
Change spelling in both network.http.http3.priorization and
network.http.http3.send_background_tabs_deprioritization config option

Differential Revision: https://phabricator.services.mozilla.com/D135689
2022-01-13 08:30:42 +00:00
Dragana Damjanovic
6e83386ee0 Bug 1741423 - Propagate 1xx response from HTTP/3 layer. r=nhnt11
The Http3Stream’s received side has one state, i.e. READING_INTERIM_HEADERS. The stream transitions into this state when 1xx response is received and it transitions back to BEFORE_HEADERS  as new headers are expected. As with the final headers the 1xx headers are stored into mFlatResponseHeaders and they are picked up by the HttpTransaction from there.

neqo makes sure that response headers and data are received in the right order, e.g. 1xx cannot be received after a non-1xx response, fin cannot follow 1xx response, etc.

Differential Revision: https://phabricator.services.mozilla.com/D132831
2021-12-15 09:18:17 +00:00
Nika Layzell
7b2e6d4996 Bug 1741665 - Align nsCString's public size_type better with other C++ APIs, r=mccr8,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D131422
2021-12-13 21:47:56 +00:00
Manuel Bucher
7056b2cb0c Bug 1734132 - Map necko priorities to http3 priorities r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D127834
2021-11-23 17:22:30 +00:00
Cristian Tuns
acd5a045f9 Backed out 3 changesets (bug 1734132) for causing hybrid/build bustages on Http3Stream.cpp CLOSED TREE
Backed out changeset 51a131c3817b (bug 1734132)
Backed out changeset aee682c3af71 (bug 1734132)
Backed out changeset 51ba73eb5bc2 (bug 1734132)
2021-11-17 11:55:11 -05:00
Manuel Bucher
9dc81abf3e Bug 1734132 - Map necko priorities to http3 priorities r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D127834
2021-11-17 16:26:30 +00:00
Alexandru Michis
d844e2f9a5 Backed out 3 changesets (bug 1734132) for causing bustages in Http3Stream.cpp
CLOSED TREE

Backed out changeset 511af4b42efc (bug 1734132)
Backed out changeset 9516eb1214d8 (bug 1734132)
Backed out changeset 513d740d6477 (bug 1734132)
2021-11-16 20:26:52 +02:00
Manuel Bucher
e1ce16359b Bug 1734132 - Map necko priorities to http3 priorities r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D127834
2021-11-16 17:01:07 +00:00
Valentin Gosu
4cd661b6a5 Bug 1733356 - Fix non-unified build errors in netwerk/protocol/http/ r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D127407
2021-10-14 12:58:01 +00:00
Cosmin Sabou
8d444b25a5 Backed out 10 changesets (bug 1733356, bug 1733922) for causing windows hybrid bustages. CLOSED TREE
Backed out changeset 85b747a60e73 (bug 1733922)
Backed out changeset 4af7a3a697ad (bug 1733356)
Backed out changeset 3b2e02c99090 (bug 1733356)
Backed out changeset b481b801250e (bug 1733356)
Backed out changeset 88c33cdcb8aa (bug 1733356)
Backed out changeset 3d31e8c8e194 (bug 1733356)
Backed out changeset 616f676e8f94 (bug 1733356)
Backed out changeset 3f8e9b14879d (bug 1733356)
Backed out changeset 241c7cdb3f6b (bug 1733356)
Backed out changeset 7f9e266070c6 (bug 1733356)
2021-10-14 01:54:30 +03:00
Valentin Gosu
a549c09e13 Bug 1733356 - Fix non-unified build errors in netwerk/protocol/http/ r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D127407
2021-10-13 19:39:08 +00:00
Cristian Tuns
2be2d6077e Backed out 10 changesets (bug 1733922, bug 1733356) for causing hybrid build bustages on nsAboutProtocolHandler.cpp. CLOSED TREE
Backed out changeset 293ff1a22c98 (bug 1733922)
Backed out changeset b640749ee844 (bug 1733356)
Backed out changeset d2e3dc1b492a (bug 1733356)
Backed out changeset cd6c19829601 (bug 1733356)
Backed out changeset ef8145f88447 (bug 1733356)
Backed out changeset 366e2d375980 (bug 1733356)
Backed out changeset 14563275a25b (bug 1733356)
Backed out changeset 7700cd82bdf2 (bug 1733356)
Backed out changeset 4e198c3d5ef3 (bug 1733356)
Backed out changeset c26481d0f689 (bug 1733356)
2021-10-11 10:02:20 -04:00
Valentin Gosu
d837d118aa Bug 1733356 - Fix non-unified build errors in netwerk/protocol/http/ r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D127407
2021-10-11 10:40:08 +00:00
Valentin Gosu
ce78c5baeb Bug 1714307 - Run modernize-use-default-member-init --fix check on netwerk/protocol/http/ r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D117503
2021-06-16 08:10:12 +00:00
Csoregi Natalia
938a6943c6 Backed out changeset 6e00f8bd2acc (bug 1714307) for causing hazard bustage. CLOSED TREE 2021-06-09 21:50:03 +03:00
Valentin Gosu
d1513f313e Bug 1714307 - Run modernize-use-default-member-init --fix check on netwerk r=necko-reviewers,kershaw
This changeset is the result of adding modernize-use-default-member-init to
tools/clang-tidy/config.yaml then proceeding to run
`./mach static-analysis check netwerk/ --fix`
I then went through the resulting fix and manually updated all of the member
variables which were missed due to them having a non-trivial constructor.

Note that the tool was only run on Linux, so code that only runs on some
platforms may have been missed.

The member variables that are still initialized in the contructor definition
are:
  - bitfields (not all currently supported compilers allow default-member-init
  - variables that are initialized via a parameter
  - variables that use code not visible in the header file

There are a few advantages to landing this change:
- fewer lines of code - now declaration is in the same place as initialization
  this also makes it easier to see when looking at the header.
- it makes it harder to miss initializing a member when adding a new contructor
- variables that depend on an include guard look much nicer now

Additionally I removed some unnecessary reinitialization of NetAddr members
(it has a constructor that does that now), and changed nsWifiScannerDBus to
use the thread-safe strtok_r instead of strtok.

Differential Revision: https://phabricator.services.mozilla.com/D116980
2021-06-09 10:20:04 +00:00
Dragana Damjanovic
27e13ae841 Bug 1709166 - Fix the upload progress notifications r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D114135
2021-05-06 18:02:05 +00:00
Dragana Damjanovic
9db978c11d Bug 1689554 - Use nsUDPSocket for HTTP3/QUIC r=necko-reviewers,valentin
The patch also removes some unnecessary from HttpConnectionUDP and Http3Session which will make easier to merge them.

Differential Revision: https://phabricator.services.mozilla.com/D105085
2021-02-26 08:42:49 +00:00
Dragana Damjanovic
13aaf56c63 Bug 1673231 - Make sure to reset all members. r=necko-reviewers,valentin
We forgot to reset mFlatHttpRequestHeaders therefore we were sending double headers that is not allowed in HTTP3.

Differential Revision: https://phabricator.services.mozilla.com/D98605
2020-12-03 20:37:07 +00:00
Dragana Damjanovic
1a36df103b Bug 1674922 - Cleanup ReadSegments: r=necko-reviewers,kershaw
- Move looping while calling mTransaction->ReadSegments into Http3Stream and call mTransaction->ReadSegmentsAgain. We use to loop in Http3Session which was not easy because it is not easy to find out when to leave the loop. The original code was working, but this is a better way to do this.
- Remove mReadyForWriteButBlocked it is not necessary, it was used only as a double check and can only be a source of bugs.
- Remove mContentBytesWritten, because it is not used.
- Http3Server now reads post data and returns amount of data received (this was needed to make better test).
- In test_http3.js increase the number of parallel to trigger max-concurent-stream limit and test stream queuing before streams being activated.
- Add tests for post with large amount of data that are hitting the stream bugger limits. This is testing Http3Event::Tag::DataWritable and also testing the the end of the mTransaction->ReadSegmentsAgain loop.

Differential Revision: https://phabricator.services.mozilla.com/D95622
2020-11-05 11:37:39 +00:00
Dragana Damjanovic
5dc542764f Bug 1673611 - Improve Http3Stream state machine and add a test for a protocol error r=necko-reviewers,valentin
- We have an assumption that SetResponseHeaders will be called before WriteSegments is called for the first time. I would like to make it more structural add add a new state BEFORE_HEADERS
 - mDataReceived was never set, which is wrong.
 - Almost any error that occurs during ReadResponseData is a connection error and neqo will handle it internally by closing the session. This will be read by necko as ConnectionState change event. Therefore ignore errors received from mHttp3Connection->ReadResponseData and let the ConnectionChange event close the stream.
 - This also adds a test. Because the stream has received some data already the transaction will br closed with the NS_ERROR_NET_PARTIAL_TRANSFER error.

Differential Revision: https://phabricator.services.mozilla.com/D94951
2020-11-01 13:54:02 +00:00
Dragana Damjanovic
f98bbedf40 Bug 1673611 - Rewrite Http3Stream::WriteSegments to be similar to the nsHttpConnection's implementation r=necko-reviewers,valentin
- This will make handling of responses contain only headers in the same way as the responses with
   a response body
 - This will also make sure we pick up an error if neqo_http3conn_read_response_data return one.

Differential Revision: https://phabricator.services.mozilla.com/D94834
2020-11-01 13:54:54 +00:00
Dragana Damjanovic
5ee4d78cb9 Bug 1670089 - Fix transactions WriteSegments issue with http3. r=necko-reviewers,valentin
The problem occurs when a response does not have a body. In this case the transaction will never be closed.  if a transaction only has read headers, WriteSegments will return 0 bytes written(bug 1646701) and WriteSegments will not be called again and the transaction will not pickup the FIN bit.

Some code improvements:
- calling WriteSegments in a loop has been moved to Http3Stream. This is more appropriate place
- remove RECEIVED_RESET, because it is not used
- add test and add head_http3.js for setting up http3 tests (e.g. making sure that an alt-svc mapping is setup)
- fix handling of a response that has more data than its content-length header indicates.

Differential Revision: https://phabricator.services.mozilla.com/D92990
2020-10-13 09:40:24 +00:00
Sylvestre Ledru
d9cd198ba1 Bug 1519636 - Reformat recent changes to the Google coding style r=andi,necko-reviewers,dragana
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D92459
2020-10-06 16:12:00 +00:00
Dragana Damjanovic
4b8e6b5e79 Bug 1655566 - P3 probe the times blocked by stream limits or flow control as a sender r=necko-reviewers,valentin
Depends on D85809

Differential Revision: https://phabricator.services.mozilla.com/D85810
2020-09-28 21:12:49 +00:00
Dragana Damjanovic
2560f18994 Bug 1666338 - Do not reset the Http3Stream state if 0RTT was accepted. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D90911
2020-09-22 07:46:02 +00:00